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