Menu

Undefined symbol on AIX 5.3 64bit

Help
codefighta
2007-03-13
2013-04-22
  • codefighta

    codefighta - 2007-03-13

    Hello,

    I have managed to get the CppUnit library built and installed on AIX 5.3 64bit doing the following:

    ./configure LDFLAGS="-O2 -q64" CXXFLAGS="-O2 -g -q64 -qrtti=dyna" --enable-shared=no

    I could not figure out how to set parameters for "ar" by passing parameters so I went and edited the file "libtool" by
    changing this

        AR_FLAGS="cru"

    to this

        AR_FLAGS="-X64 -lvq" (these are the ar settings used in my make file)

    Installed the lib and headers into the default directories.

    Now, when I build my own test application I get this:

            xlC_r -O2 -q64 -bnoipath -blibpath:/usr/lpp/db/lib:/usr/lib:/lib -o test/LibTest /usr/local/lib/libcppunit.a /home/me/lib1.a /home/me/lib2.a ... [some others here]
    ... /home/me/unicode/libbdbunicode.a /usr/local/xerces/xerces-c-src_2_7_0/lib/libxerces-depdom27.0.a /usr/local/xerces/xerces-c-src_2_7_0/lib/libxerces-c27.0.a /usr/local/xml-xalan/c/lib/libxalan-c110.0.a -lpthreads /usr/local/lib/libicuuc28.a /usr/local/lib/libicui18n28.a /usr/local/lib/libicudata28.a  -ldl
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::Message::Message(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&,const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::SourceLine::SourceLine(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&,int)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::Message::Message(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::Message::addDetail(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::AdditionalMessage::AdditionalMessage(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::Asserter::failNotEqual(std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >,const CppUnit::SourceLine&,const CppUnit::AdditionalMessage&,std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >)
    ld: 0711-317 ERROR: Undefined symbol: CppUnit::Test::findTestPath(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&,CppUnit::TestPath&) const
    ld: 0711-317 ERROR: Undefined symbol: CppUnit::Test::findTest(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&) const
    ld: 0711-317 ERROR: Undefined symbol: CppUnit::Test::resolveTestPath(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&) const
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::TextTestRunner::run(std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool,bool,bool)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::TestSuite::TestSuite(std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >)
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::TestSuiteBuilderContextBase::getTestNameFor(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&) const
    ld: 0711-317 ERROR: Undefined symbol: .CppUnit::TestCase::TestCase(const std::_LFS_ON::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make: The error code from the last command is 8.

    Any pointers?

    Thanks
    cf

     
    • codefighta

      codefighta - 2007-03-14

      Solved the problem!

      Saving the full output of the CppUnit build and the build of my own application I was able to compare compiler flags and find the ones I had missed to pass into configure. In my case the full list of parameters now looks like this:

      ./configure  LDFLAGS="-O2 -q64" CXXFLAGS="-O2 -g -qmaxmem=-1 -q64 -qrtti=dyna -D_LARGE_FILES" --disable-shared

      cf

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.