fr0st Posted July 19, 2009 at 04:53 PM Posted July 19, 2009 at 04:53 PM Привет всем. Не собирается stg-2.405.9.8.src под Suse 11.1 x86_64, не находит libexpat. # ./build ... -lexpat not found! # rpm -qa|grep xml libxml2-2.7.1-9.1 libxml2-32bit-2.7.1-9.1 # ldconfig -p | grep libexpat.so libexpat.so.1 (libc6,x86-64) => /lib64/libexpat.so.1 libexpat.so.1 (libc6,x86-64) => /usr/lib/libexpat.so.1 libexpat.so.1 (libc6) => /lib/libexpat.so.1 libexpat.so (libc6,x86-64) => /usr/lib64/libexpat.so libexpat.so (libc6,x86-64) => /usr/lib/libexpat.so # ls -la /usr/lib | grep libexpat.so lrwxrwxrwx 1 root root 22 2009-07-19 16:07 libexpat.so -> /usr/lib64/libexpat.so lrwxrwxrwx 1 root root 20 2009-07-19 16:06 libexpat.so.1 -> /lib64/libexpat.so.1 Как собрать?
fr0st Posted July 20, 2009 at 06:37 PM Author Posted July 20, 2009 at 06:37 PM dev-пакет установлен? да. # rpm -qa|grep expat libexpat1-2.0.1-88.15 libexpat1-32bit-2.0.1-88.10 libexpat0-1.95.8-64.49 libexpat0-32bit-1.95.8-64.47 expat-2.0.1-88.15 libexpat-devel-2.0.1-88.15 # ldconfig -p | grep libexpat.so libexpat.so.1 (libc6,x86-64) => /lib64/libexpat.so.1 libexpat.so.1 (libc6) => /lib/libexpat.so.1 libexpat.so.0 (libc6,x86-64) => /usr/lib64/libexpat.so.0 libexpat.so.0 (libc6) => /usr/lib/libexpat.so.0 libexpat.so (libc6,x86-64) => /usr/lib64/libexpat.so # l /lib64/libexpat.so.1 lrwxrwxrwx 1 root root 17 2009-07-20 21:17 /lib64/libexpat.so.1 -> libexpat.so.1.5.2* # ln -s /lib64/libexpat.so.1 /usr/lib/libexpat.so.1 # l /usr/lib64/libexpat.so lrwxrwxrwx 1 root root 20 2009-07-20 21:19 /usr/lib64/libexpat.so -> /lib64/libexpat.so.1* # ln -s /usr/lib64/libexpat.so /usr/lib/libexpat.so # ls -la /usr/lib | grep libexpat.so lrwxrwxrwx 1 root root 22 2009-07-20 21:52 libexpat.so -> /usr/lib64/libexpat.so lrwxrwxrwx 1 root root 17 2009-07-20 21:19 libexpat.so.0 -> libexpat.so.0.5.0 -rwxr-xr-x 1 root root 157340 2008-12-03 07:08 libexpat.so.0.5.0 lrwxrwxrwx 1 root root 20 2009-07-20 21:51 libexpat.so.1 -> /lib64/libexpat.so.1 ./build ############################################################################# Building STG 2.4 for Linux ############################################################################# Checking for -lexpat... no Checking for -lfbclient... no Checking for -lmysqlclient... no -lexpat not found! Использование libc6,x86-64 или libc6 имеет значение при сборке? Может быть линки сделаны не с тех файлов? Можеть быть нужно сделать какие-то еще линки?
madf Posted July 21, 2009 at 08:38 AM Posted July 21, 2009 at 08:38 AM Проблема скорее всего в биарче. У меня, к сожалению, под рукой нет машин с биарчем чтобы проверить и что-то посоветовать. Попробуй спросить по этому поводу у гугла. Если будет решение - обязательно отпиши.
fr0st Posted July 25, 2009 at 05:30 PM Author Posted July 25, 2009 at 05:30 PM Проблема скорее всего в биарче. У меня, к сожалению, под рукой нет машин с биарчем чтобы проверить и что-то посоветовать. Попробуй спросить по этому поводу у гугла. Если будет решение - обязательно отпиши. В общем собрался stg-2.405.9.8 и stg-2.4-2009.03.25-12.27.21 под Suse 11.1 x86-64. Странно, честно говоря так и не понял чего я там нашаманил, однако обе сборки стали собираться даже при отсутствии libexpat в /usr/lib. Ничего особенного вроде не делал - ну ставил libexpat из сырцов в /usr/lib, (для проверки будет ли собираться) потом удалил их. Также было обновлено ядро и ряд пакетов в системе - это плановое. # ldconfig -p | grep libexpat.so libexpat.so.1 (libc6,x86-64) => /lib64/libexpat.so.1 libexpat.so.1 (libc6) => /lib/libexpat.so.1 libexpat.so (libc6,x86-64) => /usr/lib64/libexpat.so # l /usr/lib|grep expat # rpm -qa|grep expat libexpat1-2.0.1-88.15 libexpat-devel-2.0.1-88.15 libexpat1-32bit-2.0.1-88.10 expat-2.0.1-88.15 так вот теперь другая проблема вылезла - sgauth не работает( из сборки stg-2.405.9.8 запускается, но даже не пробует коннектиться - в логах сервера ничего нету, снифер тоже ничего не видит на интерфейсе. из сбрки stg-2.4-2009.03.25-12.27.21 при запуске ./sgauth 192.168.1.1 5555 user pass пишет Bind failed. и все. Как от него больше инфы получить что ему не нравится то? Порты свободны. Сам сервер /usr/sbin/stargazer запускается без проблем. stg-2.4-2009.03.25-12.27.21/projects/sgauth # ldd sgauth linux-vdso.so.1 => (0x00007fff4376c000) libconffiles.so => //usr/lib/stg/libconffiles.so (0x00007f262631c000) libstg_crypto.so => //usr/lib/stg/libstg_crypto.so (0x00007f2626116000) libstg_common.so => //usr/lib/stg/libstg_common.so (0x00007f2625f10000) libia_auth_c.so => //usr/lib/stg/libia_auth_c.so (0x00007f2625d00000) libcommon_settings.so => //usr/lib/stg/libcommon_settings.so (0x00007f2625afc000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f26258e0000) libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f26256b6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f26254b2000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f262529a000) libc.so.6 => /lib64/libc.so.6 (0x00007f2624f41000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f2624c35000) libm.so.6 => /lib64/libm.so.6 (0x00007f26249df000) /lib64/ld-linux-x86-64.so.2 (0x00007f2626527000) Видать sgauth криво собрался - куда копать?
madf Posted July 27, 2009 at 11:08 AM Posted July 27, 2009 at 11:08 AM Судя по всему ты удалил 32-битные библиотеки. Теперь компоновщик нормально разрешил все зависимости и скомпоновал с 64-битными. sgauth говорит что bind failed потому что ты его пытаешься запустить на одной машине со старгейзером. А старгейзер сам занял порт.
fr0st Posted July 28, 2009 at 07:24 PM Author Posted July 28, 2009 at 07:24 PM Судя по всему ты удалил 32-битные библиотеки. Теперь компоновщик нормально разрешил все зависимости и скомпоновал с 64-битными.sgauth говорит что bind failed потому что ты его пытаешься запустить на одной машине со старгейзером. А старгейзер сам занял порт. нет. процесс сервера не запущен. вообще. пробую запускать ../projects/sgauth # ./sgauth Bind failed. и все. на этой машине мне как раз тока авторизатор и нужен. как мне получить от него больше инфы чтобы понять что ему не нравится? что еще можно сделать?
madf Posted July 29, 2009 at 07:39 AM Posted July 29, 2009 at 07:39 AM Это, как-бы, вся необходимая инфа. Он не может присоединиться к локальному порту. Потому что он кем-то занят.
fr0st Posted July 30, 2009 at 09:39 PM Author Posted July 30, 2009 at 09:39 PM Это, как-бы, вся необходимая инфа. Он не может присоединиться к локальному порту. Потому что он кем-то занят. довольно занятно, потому что порт как бы свободен и авторизатор из другой сборки запускается, правда висит без толку в процессах. ну попробую еще на другой системе собрать завтра.
madf Posted July 31, 2009 at 10:50 AM Posted July 31, 2009 at 10:50 AM Эту ошибку выдает функция bind когда локальный порт занят. Смотри, если ты сперва запусти старый и он начал "висеть без толку", потом ты его убил по -9 и пытаешься запустить новый - сокет еще остается некоторое время занят (я наблюдал такие ситуации). Попробуй подождать немного, пока ядро освободит сокет.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now