URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 8945
[ Назад ]

Исходное сообщение
"Народ, спасите!! надо cucipop под FreeBSD собрать"

Отправлено Papic , 01-Окт-01 14:46 

считаетс  что он поддерживает виртуальные домены и авторизацию через радиус. но что бы эта фича включилась, надо поставить db2. поставил. не компиляется. ругается что

cc -O -pipe -DUSE_DB cucipop.o authenticate.o atotime.o locking.o xcreat.o  dbop
s.o hsort.o simplecrypt.o -o cucipop  -lcrypt
authenticate.o: In function `cgetpwnam':
authenticate.o(.text+0x10b): undefined reference to `db_appinit'
authenticate.o(.text+0x139): undefined reference to `db_open'
authenticate.o(.text+0x368): undefined reference to `db_appexit'
dbops.o: In function `initappdb':
dbops.o(.text+0x79): undefined reference to `db_appinit'
dbops.o: In function `exitappdb':
dbops.o(.text+0xc0): undefined reference to `db_appexit'
dbops.o: In function `opendb':
dbops.o(.text+0x15b): undefined reference to `db_open'
*** Error code 1


если кто ее собирал - подскажите плиз, а???


Содержание

Сообщения в этом обсуждении
"RE: Народ, спасите!! надо cucipop под FreeBSD собрать"
Отправлено lavr , 01-Окт-01 15:23 
>
>считаетс  что он поддерживает виртуальные
>домены и авторизацию через радиус.
>но что бы эта фича
>включилась, надо поставить db2. поставил.
>не компиляется. ругается что
>
>cc -O -pipe -DUSE_DB cucipop.o authenticate.o
>atotime.o locking.o xcreat.o  dbop
>
>s.o hsort.o simplecrypt.o -o cucipop  
>-lcrypt
>authenticate.o: In function `cgetpwnam':
>authenticate.o(.text+0x10b): undefined reference to `db_appinit'
>authenticate.o(.text+0x139): undefined reference to `db_open'
>authenticate.o(.text+0x368): undefined reference to `db_appexit'
>dbops.o: In function `initappdb':
>dbops.o(.text+0x79): undefined reference to `db_appinit'
>dbops.o: In function `exitappdb':
>dbops.o(.text+0xc0): undefined reference to `db_appexit'
>dbops.o: In function `opendb':
>dbops.o(.text+0x15b): undefined reference to `db_open'
>*** Error code 1
>
>
>если кто ее собирал - подскажите
>плиз, а???

класс, а где -ldb? (или как библиотека зовется?)


"RE: Народ, спасите!! надо cucipop под FreeBSD собрать"
Отправлено Papic , 01-Окт-01 17:28 
>>>
>класс, а где -ldb? (или как
>библиотека зовется?)
живет она в /usr/local/include/db2, если в мэйкфайле сказать LDFLAGS = -lcrypt -ldb2, то обругается что
cc -O -pipe -DUSE_DB cucipop.o authenticate.o atotime.o locking.o xcreat.o  dbop
s.o hsort.o simplecrypt.o -o cucipop -lcrypt -ldb2
/usr/libexec/elf/ld: cannot find -ldb2
*** Error code 1
в общем я тогда не понял, как же обьяснить, что она не в /usr/include, а в другом месте...


"RE: Народ, спасите!! надо cucipop под FreeBSD собрать"
Отправлено lavr , 01-Окт-01 18:07 
>>>>
>>класс, а где -ldb? (или как
>>библиотека зовется?)
>живет она в /usr/local/include/db2, если в
>мэйкфайле сказать LDFLAGS = -lcrypt
>-ldb2, то обругается что
>cc -O -pipe -DUSE_DB cucipop.o authenticate.o
>atotime.o locking.o xcreat.o  dbop
>
>s.o hsort.o simplecrypt.o -o cucipop -lcrypt
>-ldb2
>/usr/libexec/elf/ld: cannot find -ldb2
>*** Error code 1
>в общем я тогда не понял,
>как же обьяснить, что она
>не в /usr/include, а в
>другом месте...

н-да...

-lname_lib будет цеплять библиотеку лишь в том
случае если она есть в кеше линкера или в
переменной LD_LIBRARY_PATH или LD_RUN_PATH
(зависит от OS и реализации линковщика)

Linux/FreeBSD - man ldconfig | ld

посмотреть где линковщик ищет библиотеки:

ldconfig [-r]

флаги для ld:

-Lгде_искать_библиотеку -lимя
-R ...

LDFLAGS="... -L/usr/local/lib -ldb2"

или

собрали библиотеку, установили, подключаем ее
в кеш:

опции приведены на примере FreeBSD, для Linux
man ldconfig, Solaris - несколько иначе

ldconfig -m
или полностью обновить - ldconfig -R