Build Problem: undefined reference to `joblist…

5 posts / 0 new
Last post
qerub
qerub's picture
Offline
Last seen: 1 year 11 months ago
Joined: May 22 2012
Junior Boarder

Posts: 16

Christoffer Sawicki
Build Problem: undefined reference to `joblist…

Hello!

I'm trying to build InfiniDB 2.2.{8,9} on Ubuntu 11.10 but the compilation of `cpimport` fails with this error:

[code]
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `joblist::JobListFactory::makeJobList(execplan::CalpontExecutionPlan*, joblist::ResourceManager&, bool, bool)'
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `joblist::TupleJobList::getOutputRowGroup() const'
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `typeinfo for joblist::TupleJobList'
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `joblist::DistributedEngineComm::instance(joblist::ResourceManager&)'
/usr/local/Calpont/lib/librowgroup.so: undefined reference to `joblist::GroupAgUM::getResult(unsigned char*)'
/usr/local/Calpont/lib/librowgroup.so: undefined reference to `joblist::GroupAgUM::GroupAgUM(boost::shared_ptr&)'
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `typeinfo for joblist::JobList'
/usr/local/Calpont/lib/librowgroup.so: undefined reference to `joblist::GroupAgUM::merge(rowgroup::Row const&, long)'
/usr/local/Calpont/lib/libexecplan.so: undefined reference to `joblist::ResourceManager::ResourceManager(bool)'
[/code]

The compile command is:

[code]
/bin/bash ../../libtool --tag=CXX --mode=link g++ -g0 -O3 -fno-strict-aliasing -Wall -Wl,--rpath -Wl,/usr/local/Calpont/lib -o cpimport -L/usr/local/Calpont/lib -L/usr/local/lib -lwriteengine -lcacheutils -ldm -ljoblist -lexecplan -ljoiner -lrowgroup -lmulticast -lfuncexp -ldataconvert -lcommon -lbrm -lrwlock -lmessageqcpp -lloggingcpp -lconfigcpp -lboost_idb -lxml2 -lpthread -lrt -loamcpp -lsnmpmanager -Wl,--rpath -Wl,/usr/local/Calpont/lib cpimport-cpimport.o libwe_bulk.a ../xml/libwe_xml.a
[/code]

Does this ring any bells?

I noticed that `ldd libexecplan.so` doesn't include libjoblist.so. Could this be the problem?

bdempsey
bdempsey's picture
Offline
Last seen: 4 weeks 23 hours ago
Joined: Oct 27 2009
Platinum Boarder

Posts: 194

Robert Dempsey
Re: Build Problem: undefined reference to `joblist…

InfiniDB 2.2 will only compile on Ubuntu 11.04 or earlier. Alternately you can downgrade gcc to 4.5.

qerub
qerub's picture
Offline
Last seen: 1 year 11 months ago
Joined: May 22 2012
Junior Boarder

Posts: 16

Christoffer Sawicki
Re: Build Problem: undefined reference to `joblist…

OK; building on Ubuntu 11.04 works.

Building on 11.10 with `CC=gcc-4.5 CXX=g++-4.5` did not work. (Same error.)

bdempsey
bdempsey's picture
Offline
Last seen: 4 weeks 23 hours ago
Joined: Oct 27 2009
Platinum Boarder

Posts: 194

Robert Dempsey
Re: Build Problem: undefined reference to `joblist…

This may work for 2.2 using gcc 4.5 on Ubuntu 11.10+:

In configure.ac, find the line that contains '-fno-strict-aliasing' and add '-Wl,--no-as-needed', then autoreconf, configure and make again.

qerub
qerub's picture
Offline
Last seen: 1 year 11 months ago
Joined: May 22 2012
Junior Boarder

Posts: 16

Christoffer Sawicki
Re: Build Problem: undefined reference to `joblist…

Thank you! `--no-as-needed` did the trick indeed.