Итак, имеется вышеназванная программа с сайта stg.dp.ua, имеется архив с ней, имеется установленный g++, система - Ubuntu 9.10
При попытке компиляции, на экран вылезает такой вот вывод:
egor@egor-laptop
egor@egor-laptop:~$ cd sgauth.2.12.6
egor@egor-laptop:~/sgauth.2.12.6$ make
make -f make.lin
make[1]: Вход в каталог `/home/egor/sgauth.2.12.6'
g++ -c -g3 -Wall -Dlinux -o o/main.o src/main.cpp
g++ -c -g3 -Wall -Dlinux -o o/blowfish.o src/blowfish.cpp
g++ -c -g3 -Wall -Dlinux -o o/common.o src/common.cpp
g++ -c -g3 -Wall -Dlinux -o o/web.o src/web.cpp
src/web.cpp: In function 'void* RunWeb(void*)':
src/web.cpp:28: warning: no return statement in function returning non-void
g++ -c -g3 -Wall -Dlinux -o o/proto_unit.o src/proto_unit.cpp
src/proto_unit.cpp: In function 'void* RunW(void*)':
src/proto_unit.cpp:704: warning: no return statement in function returning non-void
g++ -o sgauth.10 /lib/libpthread.so.0 o/main.o o/blowfish.o o/common.o o/proto_unit.o o/web.o
strip sgauth.10
make[1]: Выход из каталога `/home/egor/sgauth.2.12.6'
strip sgauth
strip: 'sgauth': No such file
make: *** [all] Ошибка 1
И после этого в каталоге с исходными текстами появляется исполняемый файл sgauth.10.
Вопрос в следующем: программа скомпилировалась до конца, или нет? Я сбрасывал её в /bin и оттуда запускал - не работала (т.е. не совсем так как надо работала, запускалась, но к интернету не подсоединяла).
strip: 'sgauth': No such file
make: *** [all] Ошибка 1
Ну видно, что нет.
К тому же, вы упустили ./configure и make install
Для работы сервера необходима библиотека libexpat. Ее можно взять на сайте http://sourceforge.net/projects/expat/ Для ее утановки необходимо распокавать архив, запустить скрипт ./configure, сказать make, затем make install.
Скачайте из репозитария, если не установлена.
Далее,
Установил libexpat, вроде бы безо всяких проблем. Перезагружаюсь, ещё раз пытаюсь скомпилировать sgauth. Вылезает следующее:
egor@egor-laptop
egor@egor-laptop:~$ cd sgauth.2.12.6
egor@egor-laptop:~/sgauth.2.12.6$ ./configure
bash: ./configure: No such file or directory
egor@egor-laptop:~/sgauth.2.12.6$ make
make -f make.lin
make[1]: Вход в каталог `/home/egor/sgauth.2.12.6'
g++ -c -g3 -Wall -Dlinux -o o/main.o src/main.cpp
g++ -c -g3 -Wall -Dlinux -o o/blowfish.o src/blowfish.cpp
g++ -c -g3 -Wall -Dlinux -o o/common.o src/common.cpp
g++ -c -g3 -Wall -Dlinux -o o/web.o src/web.cpp
src/web.cpp: In function ‘void* RunWeb(void*)’:
src/web.cpp:28: warning: no return statement in function returning non-void
g++ -c -g3 -Wall -Dlinux -o o/proto_unit.o src/proto_unit.cpp
src/proto_unit.cpp: In function ‘void* RunW(void*)’:
src/proto_unit.cpp:704: warning: no return statement in function returning non-void
g++ -o sgauth.10 /lib/libpthread.so.0 o/main.o o/blowfish.o o/common.o o/proto_unit.o o/web.o
strip sgauth.10
make[1]: Выход из каталога `/home/egor/sgauth.2.12.6'
strip sgauth
strip: 'sgauth': No such file
make: *** [all] Ошибка 1
egor@egor-laptop:~/sgauth.2.12.6$ sudo make install
make: *** Нет правила для сборки цели `install'. Останов.
Собственно говоря, отличий в выводах в этом посте и первом, я не нашёл. Что предпримем дальше?
а в Makefile выполняется команда для другого файла strip sgauth
strip не находит файла, потому что он называется sgauth.10 Поменяйте либо в make.lin либо в Makefile имена. Сделайте их одинаковыми. Ну или можете пользоваться и так:) бинарник собрался
Порт 4444 в ufw разрешён. Удивительно, но через InetAccess, запущенный под Wine, всё работает как надо. Какие ваши предложения?
А если, запустив, сходить на http://127.0.0.1:5580 ? Ну или какой оно у тебя порт слушает. Отсутствие вывода - отсутствие ошибки. Смотри на веб-сраничку статуса авторизатора.
Программа работает правильно! Либо провайдер использует порт не 4444, а другой, либо исходящее соединение блокировано вашим фаерволом, либо версия клиента не поддерживается серверной частью - убедитесь, что ваша версия подходит для вашего провайдера.
InetAccess же через Wine работает - значит порт открыт. В этом же InetAccess стоит порт 4444, и всё работает - значит порт именно тот, который надо. Разве не так? С теми же параметрами sgauth зависает, т.е. не пишет ничего. Только если зайти на http://127.0.0.1:5580, то выдаст страницу статистики.