I have successful compiled an application on my Debian-10 platform using boost-1-67. It is an essential part of my computations chemistry pipe line. Now Debian 11 has been released. I have installed it in a VM in order to make sure that the app is compilable in Debian 11 with boost-1-74 (the Debian12 version of boost), before upgrading my Linux platform. I installed boost in /user/ilocal. The makefile is: BASE=/usr/local BOOST_VERSION=1_74_0 BOOST_INCLUDE = $(BASE)/include C_PLATFORM= -pthread GPP=g++ C_OPTIONS= -O3 -DNDEBUG BOOST_LIB_VERSION= include ../../makefile_common The test compile went well until the link stage. The process stopped with: g++ -pthread -ansi -Wno-long-long -O3 -DNDEBUG -I /usr/local/include -L/usr/local/lib -L. -o gwovina main.o cache.o coords.o current_weights.o everything.o grid.o szv_grid.o manifold.o model.o gwo.o gwo_mutate.o my_pid.o naive_non_cache.o non_cache.o parallel_gwo.o parse_pdbqt.o pdb.o quasi_newton.o quaternion.o random.o ssd.o terms.o weighted_terms.o rotamer.o -l boost_system -l boost_thread -l boost_program_options /usr/bin/ld: cannot find -lboost_system /usr/bin/ld: cannot find -lboost_thread /usr/bin/ld: cannot find -lboost_program_options collect2: error: ld returned 1 exit status make: *** [../../makefile_common:34: gwovina] Error 1 Even my limited knowledge (my original programming experience was with FORTRAN II in the early 1960's), I can see the the problem. Unfortunately, I don't know the solution. Assistance will be greatly appreciated. Thanks om advance. -- Stephen P. Molnar, Ph.D. www.molecular-modeling.net 614.312.7528 (c) Skype: smolnar1
Hi, Can you confirm boost libs were installed in /usr/local/lib? Or maybe you built boost using layout=versioned? That will create files having version number and arch information in their names. In this scenario using plain `-lboost_xxx.so` would not work as you would have to use the whole library name `layout=versioned` is the default behavior. If you want plain filenames like `libbboost_system.so` you must use `layout=system`. In the other hand, you may want to just skip the pain of compiling boost yourself and install `libboost-all-dev` with apt-get (this will install boost 1.74). On 9/4/21 09:57, Stephen P. Molnar via Boost-users wrote:
I have successful compiled an application on my Debian-10 platform using boost-1-67. It is an essential part of my computations chemistry pipe line.
Now Debian 11 has been released. I have installed it in a VM in order to make sure that the app is compilable in Debian 11 with boost-1-74 (the Debian12 version of boost), before upgrading my Linux platform. I installed boost in /user/ilocal.
The makefile is:
BASE=/usr/local BOOST_VERSION=1_74_0 BOOST_INCLUDE = $(BASE)/include C_PLATFORM= -pthread GPP=g++ C_OPTIONS= -O3 -DNDEBUG BOOST_LIB_VERSION=
include ../../makefile_common
The test compile went well until the link stage. The process stopped with:
g++ -pthread -ansi -Wno-long-long -O3 -DNDEBUG -I /usr/local/include -L/usr/local/lib -L. -o gwovina main.o cache.o coords.o current_weights.o everything.o grid.o szv_grid.o manifold.o model.o gwo.o gwo_mutate.o my_pid.o naive_non_cache.o non_cache.o parallel_gwo.o parse_pdbqt.o pdb.o quasi_newton.o quaternion.o random.o ssd.o terms.o weighted_terms.o rotamer.o -l boost_system -l boost_thread -l boost_program_options /usr/bin/ld: cannot find -lboost_system /usr/bin/ld: cannot find -lboost_thread /usr/bin/ld: cannot find -lboost_program_options collect2: error: ld returned 1 exit status make: *** [../../makefile_common:34: gwovina] Error 1
Even my limited knowledge (my original programming experience was with FORTRAN II in the early 1960's), I can see the the problem. Unfortunately, I don't know the solution.
Assistance will be greatly appreciated.
Thanks om advance.
participants (2)
-
Juan Ramírez
-
Stephen P. Molnar