Geany 126 ошибка

Как договориться с Geany? (./geany_run_script.sh: 5:)

Модератор: Модераторы разделов

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Как договориться с Geany?

Поставил Geany под Ubuntu 10.04. Для проверки ввожу простейший код:

Код:

#include "stdio.h"
using namespace std;
int main(int argc, char** argv)
{
printf("Hello World!");
return 0;
}

Собирается без ошибок:

Код:

g++ -Wall -c "new.cpp" (в каталоге /home/mieszko/проекты)
Сборка прошла успешно.

Но когда жму F5, в терминале вылезает:

Код:

./geany_run_script.sh: 5: ./new: Permission denied

-----------------------------------------------
(program exited with code: 126)
Press return to continue

Для какого файла нужно разрешить исполнение и почему Geany этого не делает автоматически? Порылся в гугле, такая же ошибка встречается, но решения так и не увидел.

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 07.05.2010 12:23

deadhead писал(а): ↑

07.05.2010 10:56

раздел, случаем, не с noexec примонтирован?

Нееет, откуда такое счастье. Специально слазил в fstab — там стоит defaults.

diesel писал(а): ↑

07.05.2010 11:03

mieczeslaw писал(а): ↑

07.05.2010 08:05

Для какого файла нужно разрешить исполнение

подозреваю что для обоих

Хм, так собственно файла по имени new я у себя в папке ~/проекты/ не вижу. Есть new.o, new.cpp. new.geany. Есть еще папка new, но она пустая (я так понимаю, туда в более объёмных проектах будут складываться файлы типа .h).

Аватара пользователя

diesel

Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: Как договориться с Geany?

Сообщение

diesel » 07.05.2010 12:25

mieczeslaw писал(а): ↑

07.05.2010 12:23

diesel писал(а): ↑

07.05.2010 11:03

mieczeslaw писал(а): ↑

07.05.2010 08:05

Для какого файла нужно разрешить исполнение

подозреваю что для обоих

Хм, так собственно файла по имени new я у себя в папке ~/проекты/ не вижу. Есть new.o, new.cpp. new.geany. Есть еще папка new, но она пустая (я так понимаю, туда в более объёмных проектах будут складываться файлы типа .h).

угу потому что

g++ -Wall -c «new.cpp» -o new

должно быть, а так — там a.out, правда если папка new уже есть, и она пустая — ее перед этим удалить бы

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 07.05.2010 12:49

угу потому что
g++ -Wall -c «new.cpp» -o new

должно быть, а так — там a.out, правда если папка new уже есть, и она пустая — ее перед этим удалить бы

Не совсем врубился, честно сказать. Компилятору должна передаваться другая команда?

Аватара пользователя

diesel

Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: Как договориться с Geany?

Сообщение

diesel » 07.05.2010 13:46

mieczeslaw писал(а): ↑

07.05.2010 12:49

угу потому что
g++ -Wall -c «new.cpp» -o new

должно быть, а так — там a.out, правда если папка new уже есть, и она пустая — ее перед этим удалить бы

Не совсем врубился, честно сказать. Компилятору должна передаваться другая команда?

sorry, даже не совсем такая команда которую я написал. создайте в пустой директории new.cpp и выполните эту команду.

Код: Выделить всё

$ g++ -Wall -c "new.cpp"
$ ls
new.cpp  new.o
$

потому что(man gcc):

Код: Выделить всё

       -c  Compile or assemble the source files, but do not link.  The linking stage simply is not done.  The
           ultimate output is in the form of an object file for each source file.

           By default, the object file name for a source file is made by replacing the suffix .c, .i, .s,
           etc., with .o.

           Unrecognized input files, not requiring compilation or assembly, are ignored.

если убрать -c получим исполняемый файл a.out:

Код: Выделить всё

$ g++ -Wall  "new.cpp"
$ ls
a.out  new.cpp  new.o
$ ./a.out
Hello World!$
$

если добавить -o new получим исполняемый файл new:

Код: Выделить всё

$ g++ -Wall  -onew "new.cpp"
$ ls
a.out  new  new.cpp  new.o
$ ./new
Hello World!$
$

в последнем случае вы как раз таки и получите ./new который по идее сможет запустить ./geany_run_script.sh

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 14.05.2010 09:07

diesel писал(а): ↑

07.05.2010 13:46

Код: Выделить всё

$ g++ -Wall  -onew "new.cpp"
$ ls
a.out  new  new.cpp  new.o
$ ./new
Hello World!$
$

в последнем случае вы как раз таки и получите ./new который по идее сможет запустить ./geany_run_script.sh

Попробовал так. Файлик new появляется, и даже запускается через консоль, но ничего не выводит. Совсем ничего. Странно, однако.

Аватара пользователя

Portnov

Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable
Контактная информация:

Re: Как договориться с Geany?

Сообщение

Portnov » 14.05.2010 09:46

mieczeslaw писал(а): ↑

14.05.2010 09:07

Совсем ничего. Странно, однако.

1) а там именно

без n в конце?

2) у вас какая оболочка (bash, zsh)?

Если 1) да и 2) zsh, то всё нормально. Программа честно всё выводит, но не выводит символ перевода строки, а оболочка его тоже не выводит перед приглашением, но выводит символ возврата каретки (так по умолчанию работает zsh; bash по умолчанию перед приглашением выводит перевод строки, но не выводит возврат каретки). В результате ваш хелловорлд затирается приглашением оболочки. Чтобы избавиться от странностей — сделайте printf(«Hello World!n») (с n в конце).

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 17.05.2010 06:44

Portnov писал(а): ↑

14.05.2010 09:46

mieczeslaw писал(а): ↑

14.05.2010 09:07

Совсем ничего. Странно, однако.

1) а там именно

без n в конце?

2) у вас какая оболочка (bash, zsh)?

Если 1) да и 2) zsh, то всё нормально. Программа честно всё выводит, но не выводит символ перевода строки, а оболочка его тоже не выводит перед приглашением, но выводит символ возврата каретки (так по умолчанию работает zsh; bash по умолчанию перед приглашением выводит перевод строки, но не выводит возврат каретки). В результате ваш хелловорлд затирается приглашением оболочки. Чтобы избавиться от странностей — сделайте printf(«Hello World!n») (с n в конце).

Без n, точно. Попробую и с ним.
Оболочка — вроде бы bash. Убунтовский терминал ведь по дефолту с ним работает.

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 19.05.2010 09:54

А вот при наличии n работает. Получается, каждый вывод на экран нужно заканчивать переводом строки, так?
И еще. А нельзя ли самой Geany указать, какой командой компилировать код? Чтобы через консоль отдельно не работать. В настройках Geany есть пути к утилитам, но там только make, браузер и т. п.

mieczeslaw

Сообщения: 139
ОС: xubuntu 12.10

Re: Как договориться с Geany?

Сообщение

mieczeslaw » 25.05.2010 08:17

Нашел все-таки, где задаются команды для компиляции/сборки. Меню Сборка — Параметры сборки. Теперь еще вопрос: где задаются пути к библиотекам? Например, пишу #include <cctype> — не видит. Хотя библиотека благополучно лежит в /usr/include/c++/4.4/

I’m trying to program a simple hello world program using c++/geany on the raspberry pi. However, when I try to run it. The output terminal says «Program exited with code: 126». Can anyone tell me what I’m doing wrong? (https://i.stack.imgur.com/wZs02.png)

I tried running sudo commands like sudo apt-get update/upgrade, clean, upgrade —fix-missing. Reinstalling geany. I tried using codeblocks ide and had no luck.

  • c++
  • linux
  • raspberry-pi
  • geany

asked Nov 5, 2022 at 20:08

bc345's user avatar

bc345bc345

112 bronze badges

10

  • Why do you read only the last line? The dump has the useful information if you read it from the beginning.

    Nov 5, 2022 at 20:14

  • what do you mean by the dump?

    Nov 5, 2022 at 20:20

  • Program outputs.

    Nov 5, 2022 at 21:00

  • @bc345 This part HelloWorld: Permission denied.

    Nov 5, 2022 at 21:08

1 Answer

I had to «build»/compile it first on geany before I ran the code.

answered Nov 5, 2022 at 23:03

bc345's user avatar

bc345bc345

112 bronze badges


View Full Version : [SOLVED] running a compiled program: permission denied?? (error 126)


mooglinux

May 15th, 2008, 05:21 AM

I have put together my first c++ program and after some confusion with the iostream (at first i thought it was isostream…that worked great lol) now everythign compiles great (using geany but compiling from terminal does the same thing) but when i try to run the program, with either ./gameover or executing it with geany, i get error 126, and it tells me that permission is denied. but if i try sudo ./gameover then it tells me «command not found»

here is my program:

// Game Over
// My first C++ Program
#include <iostream>
int main()
{
std::cout << «Game Over!» << std::endl;
return 0;
}


agim

May 15th, 2008, 05:38 AM

Ok, first of all, there is no reason to use sudo. I would suggest finding a guide highlighting when to use sudo. Using it incorrectly is the easiest way to make your machine no more safe than even Windows.

Okay, now that that is out of the way.

Here is how you use g++

g++ <source-file> -o <executable>

then run the executable by running

./<executable>


mooglinux

May 15th, 2008, 06:05 AM

Yea i know i shouldnt have to use sudo. i figured it might fix the problem if its a permissions thing. so running g++ with just the -o works. so why is geany running the command with -Wall as well? and where would i change that?


dwhitney67

May 15th, 2008, 06:12 AM

The -Wall is merely for the compilation stage that g++ uses. It has no bearing on the linking stage that makes the executable you are trying to run.

I do not use geany… whatever that is… so therefore I cannot comment on that. Do you have any experience using the gnome-terminal? If so, find out what permission are assigned to your executable. Use a command such as:

$ ls -l myExe
and report back.

P.S. -Wall is used to report all warnings that may be generated during compilation of your code.


mooglinux

May 15th, 2008, 06:17 AM

Found it. I went to Build > Set includes and arguments and there is the option to edit the command it runs to compile it. just took out -Wall so it reads g++ -c «%f» («%f» is replaced by the current filename when it runs) and now my program runs just dandy!

would be curious to know what the -c -o and -Wall options do tho


agim

May 15th, 2008, 06:35 AM

When compiling from the command line, -o specifies what you are going to call the output file. Otherwise the default is a.out.


dwhitney67

May 15th, 2008, 06:39 AM

Ok…

the -c indicates to generate an object file (a .o file) AND not attempt to link to form an executable file.

the -Wall indicates to generate «errors» on all warnings… this will prevent an object file from being generated (I need to verify this!!!)

the -o is used to indicate where to place the results of a compiled program (i.e. where to place the object file), or in the case of linking, where to place the executable file.

P.S. Removing the -Wall should not have prevented you from running the executable unless…

1) The executable was not generated because of one or more «warnings» during compilation

2) Because ‘geany’ is a POS.


gabopk

April 6th, 2011, 09:21 PM

I have a similar proble, but when i open the gdb, set the break point and when i type run i get:

Starting program: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2
/bin/bash: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: Permission denied
/bin/bash: l�nea 0: exec: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: can’t execute: Permission denied
During startup program exited with code 126.

Same thing when i try to run it. And i get it with every program i compile.. Any help?


dwhitney67

April 6th, 2011, 09:24 PM

I have a similar proble, but when i open the gdb, set the break point and when i type run i get:

Starting program: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2
/bin/bash: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: Permission denied
/bin/bash: l�nea 0: exec: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: can’t execute: Permission denied
During startup program exited with code 126.

Same thing when i try to run it. And i get it with every program i compile.. Any help?

Welcome to Ubuntu Forums!

Now, will you please open a new thread rather than piggy-back on this thread which is nearly 3 years old.


gabber777

March 5th, 2012, 07:58 PM

I have a similar proble, but when i open the gdb, set the break point and when i type run i get:

Starting program: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2
/bin/bash: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: Permission denied
/bin/bash: l�nea 0: exec: /media/gaBo/U/IE-1503/Tareas/Tarea 2/A75967tarea2: can’t execute: Permission denied
During startup program exited with code 126.

Same thing when i try to run it. And i get it with every program i compile.. Any help?

You must compile the program from the directory /home….etc, but not from /media


Powered by vBulletin® Version 4.2.2 Copyright © 2023 vBulletin Solutions, Inc. All rights reserved.

  • B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • #1

Всем снова здравствуйте. Я тут продолжаю изучать программирование своими силами. Накачал учебников, поставил среду разработки (собственно, Geany). Только вот она почему-то в упор не воспринимает python, хотя в ней есть этот язык. На любую попытку запустить код она мне выдаёт вот это:
/tmp/geany_run_script_PQR550.sh: 7: ./xdxd(это имя моего файла. Другие я тоже проверял): Permission denied

——————
(program exited with code: 126)
Press return to continue

ЗЫ: на других языках не проверял. Возможно, там тоже самое и это комплексная проблема.

  • Н

    Новокодер

  • 14.08.2021

Всем привет, это снова. Я очень долго ковырял эту проблему, просидел сегодня полночи, но в итоге всё же смог найти решение! Сам, без подсказок!

Оказывается, друг на друга наложились две разные ошибки. Первая — не была задана папка для итоговых программ, вторая — Geany воспринимал название языка как python, в то время как в моей системе он был загружен как python3. Я залез в установку команд сборки и изменил имя языка. После этих действий у меня всё заработало.

Pernat1y


  • #2

chmod +x пробовал?

Элсо, рекомендую сразу поставить PyCharm.

nks1ck


  • #3

Закрой geany, в терминал -> sudo geany

Pernat1y


  • #4

Закрой geany, в терминал -> sudo geany

Плохой совет. Не надо так делать.

nks1ck


  • #5

Плохой совет. Не надо так делать.

Так он же не запустит свой пайтон файл, если без рута запускать. Разве нет?

Pernat1y


  • #6

Так он же не запустит свой пайтон файл, если без рута запускать. Разве нет?

Он запустит файл, если у него есть права на запуск (chmod +x file.py). Если он файл создавал от своего пользователя, то рут там не нужен от слова «совсем».

  • #7

А чё это?

Элсо, рекомендую сразу поставить PyCharm.

Аналогично.

Вы лучше объясните, что конкретно у меня неправильно выполняется? Если что, программа самая стандартная, там просто print (‘Hello World’)

Pernat1y


  • #8

Вы лучше объясните, что конкретно у меня неправильно выполняется?

Написано-же, что нет прав на выполнение файла.

Ссылка скрыта от гостей

  • #9

Написано-же, что нет прав на выполнение файла.

Ок, как их дать?

Я просто английский не знаю, вот и туплю.

nks1ck


  • #10

Ок, как их дать?

Я просто английский не знаю, вот и туплю.

написали тебе, chmod +x Y, где Y — название файла.

nks1ck


  • #11

Он запустит файл, если у него есть права на запуск (chmod +x file.py). Если он файл создавал от своего пользователя, то рут там не нужен от слова «совсем».

Понял, извиняюсь, был не прав.

  • #12

написали тебе, chmod +x Y, где Y — название файла.

Это надо в командную строку вбивать или внутрь компилятора? Как полностью звучит команда при имени файла xdxd?

Pernat1y


  • #13

Это надо в командную строку вбивать или внутрь компилятора? Как полностью звучит команда при имени файла xdxd?

Запускай через консоль python xdxd

  • #14

Запускай через консоль python xdxd

Это-то я давно умею. Только смысл тогда вообще в среде разработки? Для сложных программ крайне важно иметь возможность проверить их работоспособность одним кликом. Другого способа точно нет?

Pernat1y


  • #15

Другого способа точно нет?

Поставь PyCharm.

beliy_x


  • #17

Вот зачем -> «Для сложных программ крайне важно иметь возможность проверить их работоспособность одним кликом.»

  • #18

Вот зачем -> «Для сложных программ крайне важно иметь возможность проверить их работоспособность одним кликом.»

Проприентарная лицензия, отсутствие универсальности, нет русского языка. Не, не пойдёт (*голосом Вицина*).

Pernat1y


  • #19

Community версия бесплатная

отсутствие универсальности

Это IDE для Python. Зачем там «универсальность»?

Он там не нужен

Последнее редактирование: 11.07.2021

beliy_x


  • #20

Проприентарная лицензия, отсутствие универсальности, нет русского языка. Не, не пойдёт (*голосом Вицина*).

«нет русского языка» это основная Ваша причина.
без желания минимально познать англоязык, Вы пытаетесь познать Python.

Hadi_Lovelorn

Posts: 38
Joined: 2022-05-02 23:12

GDB returns error 126 , Permission Denied

#1

Post

by Hadi_Lovelorn » 2022-05-02 23:28

Hi There
I’ve never worked with a Debugger tool , I’ve recently wrote a piece of code which can calculate Division ( with fraction ) by Repeating Subtraction but its fraction part is not so precise . I want to debug it line by line … So I started checking GDB , But when I load my app div.o by file command to GDB and start to run it with «run» command it returns :

Code: Select all

/bin/bash: line 1: /home/lovelorn/div.o: Permission denied
/bin/bash: line 1: exec: /home/lovelorn/div.o: cannot execute: Permission denied
During startup program exited with code 126

I tried to start the tool with sudo and root privilege but doesn’t make an effect
Please Guide Me to how use GDB

Special Thanks
And Thank You for reading My topic


LE_746F6D617A7A69

Posts: 934
Joined: 2020-05-03 14:16
Has thanked: 7 times
Been thanked: 64 times

Re: GDB returns error 126 , Permission Denied

#2

Post

by LE_746F6D617A7A69 » 2022-05-03 20:28

The result is completely normal: the object files (.o) are not executable.
How do You compile the program? what is the name of the final ELF executable program? (when the final executable file name is not given, GCC uses the default a.out)

Side note: using gdb directly in the terminal is not the best idea -> far more convenient method is to use an IDE with a gdb-im interface.

Bill Gates: «(…) In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system.»
The_full_story and Nothing_have_changed


Hadi_Lovelorn

Posts: 38
Joined: 2022-05-02 23:12

Re: GDB returns error 126 , Permission Denied

#3

Post

by Hadi_Lovelorn » 2022-05-03 22:01

LE_746F6D617A7A69 wrote: ↑2022-05-03 20:28
The result is completely normal: the object files (.o) are not executable.
How do You compile the program? what is the name of the final ELF executable program? (when the final executable file name is not given, GCC uses the default a.out)

Side note: using gdb directly in the terminal is not the best idea -> far more convenient method is to use an IDE with a gdb-im interface.

Thank You for reading My post and answering . But when I load the executable file ( with no extension ) GDB gives error that the file has not symbol links and I compile my program as :

gcc -g ~/div.c -o ~/div

And I use Geany as IDE although I installed geany-plugins ( including geany-debuuger ) and I enabled the plugin but Geany still has not Debugger tab in the Messages part . I will be so grateful if You guide Me to use GDB either in Terminal or Geany ( or other IDE than Code::Blocks because it’s so buggy , Code Lite is better choice )



Понравилась статья? Поделить с друзьями:
  • Game launcher exe системная ошибка
  • Gdmss lite ошибка подключения
  • Gdm 100 erwin ошибка
  • Game guardian ошибка 9
  • Gdiplus dll ошибка