на gcc undefined reference to
От: sluge  
Дата: 06.07.12 13:34
Оценка:
привет всем
на Solaris 10 понадобилось собрать пакет RPM. Скачал исходники, поставил gcc, binutils, прочие нужные пакеты с sunfreeware.com.
При компиляции выдезает ошибка:


/bin/bash ./libtool --tag=CC    --mode=link gcc -std=gnu99  -g -O2 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wno-char-subscripts  -fno-strict-aliasing -Wno-unused-but-set-variable    -o rpm2cpio rpm2cpio.o lib/librpm.la rpmio/librpmio.la -lnss3  -lpopt -lz  -lrt -lpthread -L/usr/sfw/lib/mozilla -L/usr/local/db/lib -L/usr/local/lib -lintl
libtool: link: gcc -std=gnu99 -g -O2 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wno-char-subscripts -fno-strict-aliasing -Wno-unused-but-set-variable -o .libs/rpm2cpio rpm2cpio.o  lib/.libs/librpm.so -L/usr/sfw/lib/mozilla -L/usr/local/db/lib -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/openwin/lib -L/usr/lib -L/usr/X11R6/lib -L/usr/local/BerkeleyDB.4.7/lib -L/usr/local/mysql/lib -L/usr/local/BerkeleyDB.4.2/lib /tmp/rpm-4.9.1.3/rpmio/.libs/librpmio.so -ldb rpmio/.libs/librpmio.so -lbz2 -lnss3 -lpopt -lz -lrt -lpthread /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc -Wl,-rpath -Wl,/usr/local/lib

/tmp/rpm-4.9.1.3/rpmio/.libs/librpmio.so: undefined reference to `HASH_ResultLenContext'
/tmp/rpm-4.9.1.3/rpmio/.libs/librpmio.so: undefined reference to `__glob_pattern_p'
/tmp/rpm-4.9.1.3/rpmio/.libs/librpmio.so: undefined reference to `SECKEY_SignatureLen'
/tmp/rpm-4.9.1.3/rpmio/.libs/librpmio.so: undefined reference to `HASH_Clone'



Символы HASH_ResultLenContext, SECKEY_SignatureLen, HASH_Clone сидят в библитеке libnss3, я ее подключаю, но почему то они оттуда не берутся (
Символ же __glob_pattern_p должен цеплятся из билиотеки misc, которая входит в набор исходников RPM, и тоже не цепляется, даже если ее прописать в строку линковки.

У кого какие идеи, в чем дело?
Re: на gcc undefined reference to
От: Аноним  
Дата: 19.09.12 12:52
Оценка:
Попробуйте включить libnss перед librpmio.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.