Господа, а не проще заюзать где-нибудь svn(или аналог)? а то вы так в версиях и исправлениях запутаетесь.
скорее всего прикрутим Subversion, но это пока не точно. Знаком с этой системой управления версиями лишь поверхностно. Скачал себе книгу, буду изучать глубже...
Кстати, можно сделать проще - сюда выкладывать код разрабатываемых версий, свои идеи, обсуждения, вопросы и т.д., а официальная версия будет на сервере (ссылка ниже).
Для систем управления версиями, насколько я знаю, нужен сервер, на котором и будет лежать код. Вот тут-то и начинаются проблемы...
Ээээ... может мое понимание Makefile'a не верно, но что-то там не фурычит. я имею ввиду официальную версию при сборке кода. Пришлось править руками и заработал только такой makefile:
Хотя как-то странно... Если что дистр. Zenwalk, хотя не в этом дело
Upd: кстати пришлось избавлятся от надписей типо command not found путем добавление &>/dev/null
Ээээ... может мое понимание Makefile'a не верно, но что-то там не фурычит. я имею ввиду официальную версию при сборке кода.
Ошибку в студию! make от рута делали?
Makefile копирует man-страницу в /usr/share/man/ru/man1 и переносит получившийся бинарник в /bin (для этого нужны права пользователя с UID = 0).
# make
cc -c -o main.o main.c
cc -c -o connect.o connect.c
cc -c -o cmd.o cmd.c
cp FreaxNet.1.gz /usr/share/man/ru/man1/FreaxNet.1.gz
gcc main.o connect.o cmd.o -o FreaxNet
mv FreaxNet /bin/FreaxNet
rm -f *.o
Воооот...
Код:
./Makefile: line 1: FreaxNet:: command not found
gcc: $^: Нет такого файла или каталога
gcc: не задан аргумент ключа '-o'
mv: невозможно выполнить stat для `FreaxNet': Нет такого файла или каталога
./Makefile: line 7: main.o:: command not found
./Makefile: line 8: cmd.o:: command not found
./Makefile: line 9: connect.o:: command not found
Если отбросить command not found то дело в самой сборки из .o'шек
Или вот например заменим строку с $^ $@ на вот такую
gcc main.c main.o cmd.o connect.o -o FreaxNet
Получим яснее:
Код:
gcc: main.o: Нет такого файла или каталога
gcc: cmd.o: Нет такого файла или каталога
gcc: connect.o: Нет такого файла или каталога
Я так предполагаю, это из-за того что в ваших блоках для сборки .o нет команд собственно никаких, я их дописал как выше выкладывал и помогло вроде как.
да, именно. может тогда на ряду с файлом COPYING стоит включить файл README, вроде так во всех пакетах делается... ну или INSTALL.
Ну вот когда графическая оболочка будет готова (я ее сейчас переписываю на qt4), и, следовательно, процесс установки ещё усложнится, вот тогда действительно добавим, а сейчас...
Теперь-то, я надеюсь, ошибок с установкой нет?
да, именно. может тогда на ряду с файлом COPYING стоит включить файл README, вроде так во всех пакетах делается... ну или INSTALL.
Ну вот когда графическая оболочка будет готова (я ее сейчас переписываю на qt4), и, следовательно, процесс установки ещё усложнится, вот тогда действительно добавим, а сейчас...
Теперь-то, я надеюсь, ошибок с установкой нет?
Кстати такой вопрос: при перегонке на qt консольная версия умрет? просто считаю что дожно существовать 2 версии... есть поклонники консоли, есть поклонники мышки...
Кстати такой вопрос: при перегонке на qt консольная версия умрет? просто считаю что дожно существовать 2 версии... есть поклонники консоли, есть поклонники мышки...
Вот еще момент. По поводу переменной paus. Я бы ее наделил все таки дефолтным значением "0". А то как-то неудобно постоянно прописывать, а если забудешь вообще - то получаешь SegFault в глаз. Некрасиво
Блин.... не могу теперь вспомнить что я там такое заковыристое написал с паузой что получид SegFault... ладно! вспомню отпишусь
Вы лучше, если нашли ошибку, исправьте ее и выложите новый код без ошибки.
По поводу названия файла - СЕДЬМУЮ версию не начинать. пускай называется 0.06хх
UTeHok
Убери в файле main.c в 103-й строке command=argv[3];
Спасибо. Действительно лишняя строчка.
Ну у меня ещё несколько мелких претензий было. Как минимум в 2-х местах в main.c после run_error() return забыт: 80 и 110 строчки. Да и по обработке ключей и опций есть непонятки...
UTeHok
Убери в файле main.c в 103-й строке command=argv[3];
кстати не надо ее убирать. с ней работает `FreaxNet -p -h 127.0.0.1`, а без нее нет.
Хм, вроде не должно такое работать.
почему нет?
Потому что операнд пропущен (значение паузы). То, что валится при этом, является следствием почти полного отсутствия проверок. Думаю, разработчики скоро всё поправят
UTeHok
Убери в файле main.c в 103-й строке command=argv[3];
кстати не надо ее убирать. с ней работает `FreaxNet -p -h 127.0.0.1`, а без нее нет.
Хм, вроде не должно такое работать.
почему нет?
Потому что операнд пропущен (значение паузы). То, что валится при этом, является следствием почти полного отсутствия проверок. Думаю, разработчики скоро всё поправят
ну при `FreaxNet -p -h 127.0.0.1` по идее должен быть дефолтный "0" для паузы. его нет, но при сохранности 103-ей строки прога не улетает.
ну при `FreaxNet -p -h 127.0.0.1` по идее должен быть дефолтный "0" для паузы. его нет, но при сохранности 103-ей строки прога не улетает.
Дефолтное значение по идее устанавливается при отстутсвии ключа -p.
а если рассеяный пользователь забыл туда что-то поставить? конечно можно его сразу ткнуть в run_error, но имхо должно быть значение по умолчанию всегда...
ну при `FreaxNet -p -h 127.0.0.1` по идее должен быть дефолтный "0" для паузы. его нет, но при сохранности 103-ей строки прога не улетает.
Дефолтное значение по идее устанавливается при отстутсвии ключа -p.
а если рассеяный пользователь забыл туда что-то поставить? конечно можно его сразу ткнуть в run_error, но имхо должно быть значение по умолчанию всегда...
Ты не понял. По умолчанию будет FreaxNet -h 127.0.0.1
ну при `FreaxNet -p -h 127.0.0.1` по идее должен быть дефолтный "0" для паузы. его нет, но при сохранности 103-ей строки прога не улетает.
Дефолтное значение по идее устанавливается при отстутсвии ключа -p.
а если рассеяный пользователь забыл туда что-то поставить? конечно можно его сразу ткнуть в run_error, но имхо должно быть значение по умолчанию всегда...
Ты не понял. По умолчанию будет FreaxNet -h 127.0.0.1