Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/usr/bin/ld: cannot find -l -llmdb #5892

Closed
Suraj59 opened this issue Sep 4, 2017 · 11 comments
Closed

/usr/bin/ld: cannot find -l -llmdb #5892

Suraj59 opened this issue Sep 4, 2017 · 11 comments

Comments

@Suraj59
Copy link

Suraj59 commented Sep 4, 2017

make clean
make all
screenshot from 2017-09-04 17-41-59

AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -l -llmdb
collect2: error: ld returned 1 exit status
Makefile:575: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
any one have solution thank you

@PENGUINLIONG
Copy link

PENGUINLIONG commented Sep 4, 2017

It seems you raised the same issue (#5891) twice. Please close either of them.

Did you install lmdb? Seems it was unable to link against lmdb.

@PENGUINLIONG
Copy link

Please stop making spam comments. It rather interferes developers.

@Suraj59
Copy link
Author

Suraj59 commented Sep 5, 2017

yes i did this
git clone https://github.com/LMDB/lmdb
Cloning into 'lmdb'...

remote: Counting objects: 7816, done.
remote: Total 7816 (delta 0), reused 0 (delta 0), pack-reused 7815
Receiving objects: 100% (7816/7816), 1.70 MiB | 190.00 KiB/s, done.
Resolving deltas: 100% (3361/3361), done.
Checking connectivity... done.
root@esense9:/.local/install/caffe#
root@esense9:
/.local/install/caffe# cd lmdb/libraries/liblmdb
root@esense9:/.local/install/caffe/lmdb/libraries/liblmdb#
root@esense9:
/.local/install/caffe/lmdb/libraries/liblmdb# make && make installgcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mdb.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c midl.c
ar rs liblmdb.a mdb.o midl.o
ar: creating liblmdb.a
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -fPIC -c mdb.c -o mdb.lo
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -fPIC -c midl.c -o midl.lo
gcc -pthread -shared -o liblmdb.so mdb.lo midl.lo
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mdb_stat.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mdb_stat.o liblmdb.a -o mdb_stat
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mdb_copy.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mdb_copy.o liblmdb.a -o mdb_copy
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mdb_dump.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mdb_dump.o liblmdb.a -o mdb_dump
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mdb_load.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mdb_load.o liblmdb.a -o mdb_load
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mtest.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mtest.o liblmdb.a -o mtest
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mtest2.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mtest2.o liblmdb.a -o mtest2
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mtest3.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mtest3.o liblmdb.a -o mtest3
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mtest4.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mtest4.o liblmdb.a -o mtest4
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized -c mtest5.c
gcc -pthread -O2 -g -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized mtest5.o liblmdb.a -o mtest5
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
mkdir -p /usr/local/include
mkdir -p /usr/local/share/man/man1
for f in mdb_stat mdb_copy mdb_dump mdb_load; do cp $f /usr/local/bin; done
for f in liblmdb.a liblmdb.so; do cp $f /usr/local/lib; done
for f in lmdb.h; do cp $f /usr/local/include; done
for f in mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1; do cp $f /usr/local/share/man/man1; done
root@esense9:/.local/install/caffe/lmdb/libraries/liblmdb# cd ..
root@esense9:
/.local/install/caffe/lmdb/libraries# cd ..
root@esense9:/.local/install/caffe/lmdb# cd ..
root@esense9:
/.local/install/caffe# make clean
root@esense9:/.local/install/caffe# make all
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/solver.cpp
CXX src/caffe/net.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/solvers/adagrad_solver.cpp
CXX src/caffe/solvers/nesterov_solver.cpp
CXX src/caffe/solvers/adam_solver.cpp
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/solvers/rmsprop_solver.cpp
CXX src/caffe/solvers/adadelta_solver.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/common.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/layers/eltwise_layer.cpp
CXX src/caffe/layers/hdf5_output_layer.cpp
CXX src/caffe/layers/cudnn_relu_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/multinomial_logistic_loss_layer.cpp
CXX src/caffe/layers/im2col_layer.cpp
CXX src/caffe/layers/batch_norm_layer.cpp
CXX src/caffe/layers/power_layer.cpp
CXX src/caffe/layers/loss_layer.cpp
CXX src/caffe/layers/neuron_layer.cpp
CXX src/caffe/layers/cudnn_sigmoid_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/recurrent_layer.cpp
CXX src/caffe/layers/absval_layer.cpp
CXX src/caffe/layers/softmax_loss_layer.cpp
CXX src/caffe/layers/concat_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/slice_layer.cpp
CXX src/caffe/layers/sigmoid_layer.cpp
CXX src/caffe/layers/memory_data_layer.cpp
CXX src/caffe/layers/rnn_layer.cpp
CXX src/caffe/layers/window_data_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/accuracy_layer.cpp
CXX src/caffe/layers/relu_layer.cpp
CXX src/caffe/layers/hinge_loss_layer.cpp
CXX src/caffe/layers/crop_layer.cpp
CXX src/caffe/layers/log_layer.cpp
CXX src/caffe/layers/infogain_loss_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/filter_layer.cpp
CXX src/caffe/layers/reduction_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
CXX src/caffe/layers/split_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
CXX src/caffe/layers/inner_product_layer.cpp
CXX src/caffe/layers/lrn_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/hdf5_data_layer.cpp
CXX src/caffe/layers/base_data_layer.cpp
CXX src/caffe/layers/cudnn_lcn_layer.cpp
CXX src/caffe/layers/pooling_layer.cpp
CXX src/caffe/layers/cudnn_softmax_layer.cpp
CXX src/caffe/layers/cudnn_lrn_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/batch_reindex_layer.cpp
CXX src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/layers/conv_layer.cpp
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/embed_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/cudnn_tanh_layer.cpp
CXX src/caffe/layers/silence_layer.cpp
CXX src/caffe/layers/dummy_data_layer.cpp
CXX src/caffe/layers/scale_layer.cpp
CXX src/caffe/layers/prelu_layer.cpp
CXX src/caffe/layers/bias_layer.cpp
CXX src/caffe/layers/dropout_layer.cpp
CXX src/caffe/layers/exp_layer.cpp
CXX src/caffe/layers/contrastive_loss_layer.cpp
CXX src/caffe/layers/reshape_layer.cpp
CXX src/caffe/layers/base_conv_layer.cpp
CXX src/caffe/layers/mvn_layer.cpp
CXX src/caffe/layers/spp_layer.cpp
CXX src/caffe/layers/image_data_layer.cpp
CXX src/caffe/layers/tanh_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/parameter_layer.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -l -llmdb
collect2: error: ld returned 1 exit status
Makefile:575: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
root@esense9:
/.local/install/caffe#

AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -l -llmdb
collect2: error: ld returned 1 exit status
Makefile:575: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

@PENGUINLIONG
Copy link

Seems there was nothing wrong. In case you're using Ubuntu, have you tried installing with pre-compiled caffe, or installing lmdb with apt?

@Suraj59
Copy link
Author

Suraj59 commented Sep 7, 2017

error gone llmdb but new error are came
aR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

@PENGUINLIONG
Copy link

Try

apt-get install libhdf5 libhdf5-dev

@srossi93
Copy link

srossi93 commented Sep 27, 2017

If you are working with Ubuntu, you may want to check this issue #156.

This worked for me. Add the following lines in MakeFile.config INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ and LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

@Noiredd
Copy link
Member

Noiredd commented Oct 24, 2017

Please do not post usage, installation, or modeling questions, or other requests for help to Issues. Use the caffe-users list instead. This helps developers maintain a clear, uncluttered, and efficient view of the state of Caffe. Please read the guidelines for contributing before submitting an issue or a pull request.

Questions about missing libraries have been asked multiple times. Please research the meaning of /usr/bin/ld: cannot find -l<library> message and how to install missing libraries.

@Noiredd Noiredd closed this as completed Oct 24, 2017
@jiayifang1
Copy link

/usr/bin/ld: cannot find -l -llmdb
I have the same problem,installing lmdb with apt don't work

@mxy493
Copy link

mxy493 commented Apr 11, 2019

/usr/bin/ld: 找不到 -l -llmdb

So what is the solution?

@Holmestime
Copy link

the solution is that use your pip to install lmdb
for example:
pip3 install lmdb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants