Jump to content

Suse 11.1 X86_64 And Libexpat


Recommended Posts

Привет всем.

 

Не собирается 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

 

Как собрать?

Link to post
Share on other sites
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 имеет значение при сборке?

Может быть линки сделаны не с тех файлов?

Можеть быть нужно сделать какие-то еще линки?

Link to post
Share on other sites

Проблема скорее всего в биарче. У меня, к сожалению, под рукой нет машин с биарчем чтобы проверить и что-то посоветовать. Попробуй спросить по этому поводу у гугла. Если будет решение - обязательно отпиши.

Link to post
Share on other sites
Проблема скорее всего в биарче. У меня, к сожалению, под рукой нет машин с биарчем чтобы проверить и что-то посоветовать. Попробуй спросить по этому поводу у гугла. Если будет решение - обязательно отпиши.

 

В общем собрался 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 криво собрался - куда копать?

Link to post
Share on other sites

Судя по всему ты удалил 32-битные библиотеки. Теперь компоновщик нормально разрешил все зависимости и скомпоновал с 64-битными.

sgauth говорит что bind failed потому что ты его пытаешься запустить на одной машине со старгейзером. А старгейзер сам занял порт.

Link to post
Share on other sites
Судя по всему ты удалил 32-битные библиотеки. Теперь компоновщик нормально разрешил все зависимости и скомпоновал с 64-битными.

sgauth говорит что bind failed потому что ты его пытаешься запустить на одной машине со старгейзером. А старгейзер сам занял порт.

 

нет. процесс сервера не запущен. вообще.

пробую запускать ../projects/sgauth # ./sgauth

Bind failed.

и все.

на этой машине мне как раз тока авторизатор и нужен.

как мне получить от него больше инфы чтобы понять что ему не нравится? что еще можно сделать?

Link to post
Share on other sites

Это, как-бы, вся необходимая инфа. Он не может присоединиться к локальному порту. Потому что он кем-то занят.

Link to post
Share on other sites
Это, как-бы, вся необходимая инфа. Он не может присоединиться к локальному порту. Потому что он кем-то занят.

довольно занятно, потому что порт как бы свободен и авторизатор из другой сборки запускается, правда висит без толку в процессах.

ну попробую еще на другой системе собрать завтра.

Link to post
Share on other sites

Эту ошибку выдает функция bind когда локальный порт занят. Смотри, если ты сперва запусти старый и он начал "висеть без толку", потом ты его убил по -9 и пытаешься запустить новый - сокет еще остается некоторое время занят (я наблюдал такие ситуации). Попробуй подождать немного, пока ядро освободит сокет.

Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...