Boost logo

Boost Users :

Subject: Re: [Boost-users] Many undefined references for libboost_filesystem
From: Daniel Anderson (wonixen_at_[hidden])
Date: 2017-10-15 11:49:40


You first has to find at which step you have an error.

once you know which step is failing it's easier to find the problem and fix it.

Do you have errors compiling ?
Do you have errors linking ?

then change your build system to output the commands and check for
missing arguments or misspelled paths.

in complex builds there could be more problems than just
compiling/linking of course i.e. configuration switch, defines, etc...

I'm working with Visual Studio Professional, I usually do not have
those kinds of problems.

but at a glance you seems to have linking problems.

2017-10-15 7:15 GMT-04:00 Mahmood N <nt_mahmood_at_[hidden]>:
> Hi Daniel,
> I tried some other versions based on the release date of the project and boosts. I tried 1.38 and 40 and 42 and 44 and 46. All of them return some undefined references.
>
> How can i find which boost version is used in the project?
>
> Regards,
> Mahmood
>
> --------------------------------------------
> On Sat, 10/14/17, Daniel Anderson <wonixen_at_[hidden]> wrote:
>
> Subject: Re: [Boost-users] Many undefined references for libboost_filesystem
> To: boost-users_at_[hidden]
> Cc: "Mahmood N" <nt_mahmood_at_[hidden]>
> Date: Saturday, October 14, 2017, 12:53 AM
>
> you are probably using the wrong
> version of filesystem, or maybe of
> boost.
> often those projects need a specific boost version.
>
> 2017-10-13 14:24 GMT-04:00
> Mahmood N via Boost-users
> <boost-users_at_[hidden]>:
> >
> Hi,
> >
> > I am trying to
> build a suite as described at
> > https://github.com/gpgpu-sim/ispass2009-benchmarks
> >
> > Some of the
> benchmarks use boost. For example, AES/Makefile has
> >
> >
> >
> > LINKFLAGS :=
> -L$(BOOST_LIB) -lboost_filesystem
> >
> >
> >
> >
> Also, the Makefile.ispass-2009 in the root folder has the
> following settings
> >
> >
> >
> >
> SETENV=export BINDIR=$(BINDIR); \
> >
> > export
> ROOTDIR=$(NVIDIA_COMPUTE_SDK_LOCATION)/C/src/; \
> >
> >
> export BINSUBDIR=$(BINSUBDIR); \
> >
> > export
> BOOST_LIB=/home/mahmood/boost_1_46_0/lib; \
> >
> >
> export BOOST_ROOT=/home/mahmood/boost_1_46_0/include; \
> >
> >
> export BOOST_VER=""; \
> >
> > export
> OPENMPI_BINDIR=/usr/bin/;
> >
> >
> >
> >
> >
> >
> I manually built boost_1_46_0 with the steps described at
> > http://www.boost.org/doc/libs/1_46_1/doc/html/bbv2/installation.html
> >
> > The installations was
> successful and I can see lib/ and include/ folders
> >
> >
> >
> > mahmood_at_vb:boost_1_46_0$
> find lib -name libboost_system*
> >
> > lib/libboost_system.so.1.46.0
> >
> >
> lib/libboost_system.so
> >
> > lib/libboost_system.a
> >
> > mahmood_at_vb:boost_1_46_0$
> find lib -name libboost_filesystem*
> >
> > lib/libboost_filesystem.so
> >
> >
> lib/libboost_filesystem.a
> >
> > lib/libboost_filesystem.so.1.46.0
> >
> >
> >
> >
> >
> >
> >
> > However, as I run
> “make -f Makefile.ispass-2009”, I get many undefined
> > errors about libboost_filesystem. Please
> see below
> >
> >
> >
> >
> >
> >
> >
> > export
> >
> BINDIR=/home/mahmood/gpgpu-sim_distribution/ispass2009-benchmarks/bin/;
> > export
> ROOTDIR=/home/mahmood/NVIDIA_GPU_Computing_SDK/C/src/;
> export
> > BINSUBDIR=release; export
> BOOST_LIB=/home/mahmood/boost_1_46_0/lib; export
> >
> BOOST_ROOT=/home/mahmood/boost_1_46_0/include; export
> BOOST_VER=""; export
> >
> OPENMPI_BINDIR=/usr/bin/; make noinline=0 -C AES
> >
> > make[1]: Entering
> directory
> >
> `/home/mahmood/gpgpu-sim_distribution/ispass2009-benchmarks/AES'
> >
> >
> obj/x86_64/release/aesCudaUtils.cpp.o: In function
> >
> `readFromFileForm(boost::filesystem3::path&,
> std::vector<unsigned int,
> >
> std::allocator<unsigned int> >&)':
> >
> >
> aesCudaUtils.cpp:(.text+0x97d): undefined reference to
> >
> `boost::filesystem3::detail::status(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > obj/x86_64/release/aesCudaUtils.cpp.o: In
> function
> >
> `readFromFileNotForm(boost::filesystem3::path&, char*,
> unsigned int)':
> >
> > aesCudaUtils.cpp:(.text+0xe81): undefined
> reference to
> >
> `boost::filesystem3::detail::status(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > obj/x86_64/release/aesCudaUtils.cpp.o: In
> function
> >
> `getFileSize(boost::filesystem3::path&)':
> >
> >
> aesCudaUtils.cpp:(.text+0x1244): undefined reference to
> >
> `boost::filesystem3::detail::status(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > aesCudaUtils.cpp:(.text+0x1257): undefined
> reference to
> >
> `boost::filesystem3::detail::file_size(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > obj/x86_64/release/aesCudaUtils.cpp.o: In
> function
> >
> `initAesCuda(std::basic_string<char,
> std::char_traits<char>,
> >
> std::allocator<char> >, unsigned char*, unsigned
> int,
> > std::basic_string<char,
> std::char_traits<char>, std::allocator<char>
> >,
> > char*, unsigned int)':
> >
> >
> aesCudaUtils.cpp:(.text+0x1c54): undefined reference to
> >
> `boost::filesystem3::path::wchar_t_codecvt_facet()'
> >
> >
> aesCudaUtils.cpp:(.text+0x1cab): undefined reference to
> >
> `boost::filesystem3::path::wchar_t_codecvt_facet()'
> >
> >
> aesCudaUtils.cpp:(.text+0x1ce5): undefined reference to
> >
> `boost::filesystem3::detail::status(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > aesCudaUtils.cpp:(.text+0x1d02): undefined
> reference to
> >
> `boost::filesystem3::detail::status(boost::filesystem3::path
> const&,
> >
> boost::system::error_code*)'
> >
> > obj/x86_64/release/aesCudaUtils.cpp.o: In
> function
> >
> `_GLOBAL__sub_I_aesCudaUtils.cpp':
> >
> >
> aesCudaUtils.cpp:(.text.startup+0x2b): undefined reference
> to
> >
> `boost::system::generic_category()'
> >
> >
> aesCudaUtils.cpp:(.text.startup+0x37): undefined reference
> to
> >
> `boost::system::generic_category()'
> >
> >
> aesCudaUtils.cpp:(.text.startup+0x43): undefined reference
> to
> >
> `boost::system::system_category()'
> >
> >
> obj/x86_64/release/aescuda.cpp.o: In function
> `_GLOBAL__sub_I_aescuda.cpp':
> >
> > aescuda.cpp:(.text.startup+0x68b):
> undefined reference to
> >
> `boost::system::generic_category()'
> >
> >
> aescuda.cpp:(.text.startup+0x697): undefined reference to
> > `boost::system::generic_category()'
> >
> >
> aescuda.cpp:(.text.startup+0x6a3): undefined reference to
> > `boost::system::system_category()'
> >
> > collect2: ld returned
> 1 exit status
> >
> >
> make[1]: ***
> >
> [/home/mahmood/gpgpu-sim_distribution/ispass2009-benchmarks/bin//release/AES]
> > Error 1
> >
> > make[1]: Leaving directory
> >
> `/home/mahmood/gpgpu-sim_distribution/ispass2009-benchmarks/AES'
> >
> > make: *** [default]
> Error 2
> >
> >
> >
> >
> >
> >
> >
> > Any thought on
> that?
> >
> >
> > Regards,
> >
> Mahmood
> >
> >
> _______________________________________________
> > Boost-users mailing list
> > Boost-users_at_[hidden]
> > https://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>
> --
> Daniel
> L'action accède à la perfection quand,
> bien que vivant, vous êtes déjà mort
> Bunan

-- 
Daniel
L'action accède à la perfection quand, bien que vivant, vous êtes déjà mort
Bunan

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net