LINUX.ORG.RU

ld не находит либу libdb_cxx-4.8.so, хотя в папке она имеется

 , , , ,


0

1

в общем имеется арч, нужно собрать вот енто дело
почему то не находит данную либу для линковки и все тут.

g++-4.3 -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -I/home/safff/git/cannabiscoin420/src -I/home/safff/git/cannabiscoin420/src/obj -I/usr/include/boost37/boost -I/usr/include/db4.8 -I/usr/include/openssl-1.0 -DUSE_IPV6=1 -I/home/safff/git/cannabiscoin420/src/leveldb/include -I/home/safff/git/cannabiscoin420/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -o CannabisCoind leveldb/libleveldb.a obj/alert.o obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/rpcnet.o obj/rpcmining.o obj/rpcwallet.o obj/rpcblockchain.o obj/rpcrawtransaction.o obj/script.o obj/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/hash.o obj/bloom.o obj/noui.o obj/leveldb.o obj/txdb.o obj/cubehash.o obj/luffa.o obj/aes_helper.o obj/echo.o obj/shavite.o obj/simd.o obj/blake.o obj/bmw.o obj/groestl.o obj/jh.o obj/keccak.o obj/skein.o obj/checkpointsync.o -Wl,-z,relro -Wl,-z,now  -L/usr/lib/boost37 -L/usr/lib -L/usr/lib/openssl-1.0 -Wl,-Bdynamic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l libdb_cxx-4.8.so -l ssl -l crypto -Wl,-Bdynamic -l z -l dl -l pthread /home/safff/git/cannabiscoin420/src/leveldb/libleveldb.a /home/safff/git/cannabiscoin420/src/leveldb/libmemenv.a
/usr/bin/ld: cannot find -llibdb_cxx-4.8.so
collect2: ld returned 1 exit status
make: *** [makefile.unix:186: CannabisCoind] Error 1


вот либа тут имеется:
`--> pacman -Ql db4.8|grep /lib
db4.8 /usr/lib/
db4.8 /usr/lib/libdb-4.8.so
db4.8 /usr/lib/libdb_cxx-4.8.so

но не находит...

чо за странное поведение?

★★

Ответ на: комментарий от former_anonymous

почему? такова файла же точно нет

safocl ★★
() автор топика
Ответ на: комментарий от former_anonymous

ок, я поняд, там автоматом lib подставляется, но изменил я енто (добавил lib вначале), по той же причине, что и сейчас... не находило енту либу и все тут, поменял ничо не изменилося...
сча обратно поменял, убрал lib в мейкфайле, все тот же результат

safocl ★★
() автор топика
Ответ на: комментарий от pS

4.8 версия енто пакет из аура.. стоит параллельна с актуальной версией...

строка запуска компиляции такая:

LC_ALL=C make -f makefile.unix BDB_INCLUDE_PATH=/usr/include/db4.8 OPENSSL_INCLUDE_PATH=/usr/include/openssl-1.0 BDB_LIB_PATH=/usr/lib OPENSSL_LIB_PATH=/usr/lib/openssl-1.0 CC=gcc-4.3 CXX=g++-4.3 BOOST_INCLUDE_PATH=/usr/include/boost37/boost BOOST_LIB_PATH=/usr/lib/boost37 BDB_LIB_SUFFIX="-4.8.so" USE_UPNP= -j5
вручную насильна указал откуда брать либы и хеадеры, т.к. с более новыми версиями отказывается даже до ентого момента дохадить... а miniupnp так и не захател с катуальными либами и хедерами собираться, пришлося отключить, так то он мне нафиг наверна и не нужен в ентом кошельке

safocl ★★
() автор топика
Последнее исправление: safocl (всего исправлений: 1)
Ответ на: комментарий от regme
`--> sudo ldconfig -v | grep libdb_cxx 
[sudo] пароль для safff: 
ldconfig: Невозможно выполнить stat /opt/cuda/lib: Нет такого файла или каталога
ldconfig: Невозможно выполнить stat /opt/cuda/nvvm/lib: Нет такого файла или каталога
ldconfig: Невозможно выполнить stat /usr/lib32\n/usr/lib/i386-linux-gnu/mesa\n/home/werm/Steam/ubuntu12_32\n: Нет такого файла или каталога
ldconfig: Путь «/usr/lib» задан несколько раз
ldconfig: Путь «/usr/lib64» задан несколько раз
ldconfig: Невозможно выполнить stat /usr/libx32: Нет такого файла или каталога
	libdb_cxx-4.8.so -> libdb_cxx-4.8.so
	libdb_cxx-5.1.so -> libdb_cxx-5.1.so
	libdb_cxx-5.3.so -> libdb_cxx.so
	libdb_cxx-4.8.so -> libdb_cxx-4.8.so
	libdb_cxx-5.3.so -> libdb_cxx.so
safocl ★★
() автор топика
Ответ на: комментарий от pS
`--> gcc-4.3 --version   
gcc-4.3 (GCC) 4.3.6
Copyright (C) 2008 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая 
коммерческую ценность и применимость для каких-либо целей.


енто тот gcc с которым собираю


А gcc-config у тебя есть?

неа... при чем его даж в пакетах нету...

safocl ★★
() автор топика
Ответ на: комментарий от safocl

Да уж. По ходу, у тебя аж три версии gcc. Ищи инструкции по переопределению потрохов gcc и соответствующих библиотек (там надо менять ещё ar, nm, ranlib и прочая). В генте и убунте есть специальные переключалки альтернативных версий: gcc-config и update-alternatives соответственно. А вообще, при смене gcc с 4 на 5 версию изменился ABI c++, так что имеет место огромный геморрой с версиями библиотек.

pS
()
Ответ на: комментарий от pS

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

safocl ★★
() автор топика
Ответ на: комментарий от pS

нет.. там же все в PKGBUILD файле сделано так чо бы разные имена были, например gcc называется gcc-4.3, и папки либ свои в /usr/lib с именем пакета+версия, ну и в инклуде та же история... в общем нигде не пересекаются, хатя устанавливать как я сказал выше даже не нужно, можно просто отдельную папку в PATH кидать с нужными версиями, ну а либы и хеадеры указывать насильно компилятору...

safocl ★★
() автор топика
Последнее исправление: safocl (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.