Hi Thomas,

Okay, so now if finds boost_system, but even though boost_program_options is specified in the linker command, things fail. Odd.

Key line is: 'undefined reference to `boost::program_options' which indicates to me that 'libboost_program_options' may not exist. Can you confirm that it does?

file /usr/local/lib/libboost_program_options.so

shapeindex is an optional program and the build scripts only attempt to compile it if 'boost_program_options' are found in earlier checks, so I assume the library is there, but would be good to confirm before making other guesses.

What commands did you use to compile Boost 1.41?

Dane


On Jan 6, 2010, at 7:00 AM, Thomas Woodham wrote:

Dane,

Thanks for the reply and the assist. Your patch helped and removed the notices in function __static_initialization_and_destruction_0(int, int), however I'm still having issues at the same point. See below for the new error output:

g++ -o utils/shapeindex/shapeindex utils/shapeindex/shapeindex.o src/ envelope.o plugins/input/shape/shapefile.o -Lagg -Lsrc -L/usr/lib -L/ usr/local/lib -lboost_program_options -lboost_iostreams - lboost_filesystem -lboost_system
utils/shapeindex/shapeindex.o: In function `main':
shapeindex.cpp:(.text+0xcb): undefined reference to `boost::program_options::options_description::m_default_line_length' shapeindex.cpp:(.text+0x158): undefined reference to ` boost ::program_options ::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)' utils/shapeindex/shapeindex.o: In function ` boost ::enable_if < boost ::filesystem ::is_basic_path <boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost ::filesystem ::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)': shapeindex.cpp: (.text ._ZN5boost10filesystem6existsINS0_10basic_pathISsNS0_11path_traitsEEEEENS_9enable_ifINS0_13is_basic_pathIT_EEbE4typeERKS7_ [boost ::enable_if < boost ::filesystem ::is_basic_path <boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost ::filesystem ::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)]+0x56): undefined reference to `boost::filesystem::detail::status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)' utils/shapeindex/shapeindex.o: In function `std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)': shapeindex.cpp: (.text ._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb [std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)]+0x81): undefined reference to ` boost ::program_options ::validation_error ::validation_error(boost::program_options::validation_error::kind_t, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' shapeindex.cpp: (.text ._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb [std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)]+0x2eb): undefined reference to ` boost ::program_options ::validation_error ::validation_error(boost::program_options::validation_error::kind_t, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: ld returned 1 exit status
scons: *** [utils/shapeindex/shapeindex] Error 1
scons: building terminated because of errors.

On Wed, Jan 6, 2010 at 9:21 AM, Dane Springmeyer <[email protected]> wrote:
Hello Thomas,

Thanks for this report. It appears that direct linking to boost_system is now needed by the boost_filesystem library on RHEL. Previously this was only the case for Darwin/Mac OS X, but things must have changed with the new boost 1.41 package on RHEL.

Can you try replacing the /utils/shapeindex/SConstruct with the one I have attached and let me know if that works?

Thanks,

Dane






On Jan 6, 2010, at 5:46 AM, Thomas Woodham wrote:

Good morning,

I'm trying to install mapnik 0.6.1 on RHEL 5 and get the following error that I can't get past.

g++ -o utils/shapeindex/shapeindex utils/shapeindex/shapeindex.o src/ envelope.o plugins/input/shape/shapefile.o -Lagg -Lsrc -L/usr/lib -L/ usr/local/lib -lboost_program_options -lboost_iostreams - lboost_filesystem utils/shapeindex/shapeindex.o: In function `__static_initialization_and_destruction_0(int, int)': shapeindex.cpp:(.text+0x41): undefined reference to `boost::system::get_system_category()' shapeindex.cpp:(.text+0x4b): undefined reference to `boost::system::get_generic_category()' shapeindex.cpp:(.text+0x55): undefined reference to `boost::system::get_generic_category()' shapeindex.cpp:(.text+0x5f): undefined reference to `boost::system::get_generic_category()' shapeindex.cpp:(.text+0x69): undefined reference to `boost::system::get_system_category()'
utils/shapeindex/shapeindex.o: In function `main':
shapeindex.cpp:(.text+0xcb): undefined reference to `boost::program_options::options_description::m_default_line_length' shapeindex.cpp:(.text+0x158): undefined reference to ` boost ::program_options ::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)' utils/shapeindex/shapeindex.o: In function ` boost ::enable_if < boost ::filesystem ::is_basic_path <boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost ::filesystem ::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)': shapeindex.cpp: (.text ._ZN5boost10filesystem6existsINS0_10basic_pathISsNS0_11path_traitsEEEEENS_9enable_ifINS0_13is_basic_pathIT_EEbE4typeERKS7_ [boost ::enable_if < boost ::filesystem ::is_basic_path <boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost ::filesystem ::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)]+0x1a): undefined reference to `boost::system::get_system_category()' shapeindex.cpp: (.text ._ZN5boost10filesystem6existsINS0_10basic_pathISsNS0_11path_traitsEEEEENS_9enable_ifINS0_13is_basic_pathIT_EEbE4typeERKS7_ [boost ::enable_if < boost ::filesystem ::is_basic_path <boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost ::filesystem ::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)]+0x56): undefined reference to `boost::filesystem::detail::status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)' utils/shapeindex/shapeindex.o: In function `std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)': shapeindex.cpp: (.text ._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb [std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)]+0x81): undefined reference to ` boost ::program_options ::validation_error ::validation_error(boost::program_options::validation_error::kind_t, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' shapeindex.cpp: (.text ._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb [std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& boost ::program_options ::validators ::get_single_string<char>(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)]+0x2eb): undefined reference to ` boost ::program_options ::validation_error ::validation_error(boost::program_options::validation_error::kind_t, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: ld returned 1 exit status
scons: *** [utils/shapeindex/shapeindex] Error 1

Any thoughts? sudo python scons/scons.py configure BOOST_INCLUDES=/ usr/local/include BOOST_LIBS=/usr/local/lib was executed to make sure it picks up the boost 1.41 libraries.

Thanks for your help.

-Thomas

_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users




_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to