Qpid C++ build fails on Cygwin
------------------------------
Key: QPID-3320
URL: https://issues.apache.org/jira/browse/QPID-3320
Project: Qpid
Issue Type: Bug
Components: Build Tools, C++ Broker
Affects Versions: 0.10
Environment: Windows 7 64-bit running Cygwin 1.7.9
Reporter: Matt Stevenson
I am trying to build the Qpid C++ 0.10 project using gcc in Cygwin.
I was able to configure everything fine with both cmake and ./configure, but I
get errors about 40% through the build, when I get to: "Creating library file:
libqpidcommon.dll.a"
The first errors I got were:
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text+0x36): undefined
reference to `boost::system::get_system_category()'
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text+0x40): undefined
reference to `boost::system::get_generic_category()'
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text+0x4a): undefined
reference to `boost::system::get_generic_category()'
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text+0x54): undefined
reference to `boost::system::get_generic_category()'
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text+0x5e): undefined
reference to `boost::system::get_system_category()'
CMakeFiles/qpidcommon.dir/qpid/Modules.o:Modules.cpp:(.text$_ZN5boost6system10error_codeC1Ev[boost::system::error_code::error_code()]+0x10):
undefined reference to `boost::system::get_system_category()'
After a little research, I found that the boost system library needed to be
linked along with the program_options lib after boost version 1.35 (I have
1.43). Looking through ./src/CMakeList.txt I saw a few places where someone
was checking boost versions to include the system lib, but it wasn't being
linked along with program_options. I made a few changes to link the system lib
which fixed the above errors.
The other errors I could not fix are:
CMakeFiles/qpidcommon.dir/qpid/Url.o:Url.cpp:(.text+0x783): undefined reference
to `qpid::sys::SystemInfo::getLocalIpAddresses(unsigned short,
std::vector<qpid::Address, std::allocator<qpid::Address> >&)'
CMakeFiles/qpidcommon.dir/qpid/Url.o:Url.cpp:(.text+0xc87): undefined reference
to `qpid::sys::SystemInfo::getLocalHostname(qpid::Address&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x9f7):
undefined reference to `qpid::sys::Poller::interrupt(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xb11):
undefined reference to `qpid::sys::Poller::interrupt(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xb36):
undefined reference to
`qpid::sys::Poller::unregisterHandle(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xbad):
undefined reference to
`qpid::sys::Poller::unregisterHandle(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xd60):
undefined reference to
`qpid::sys::Poller::unregisterHandle(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xe67):
undefined reference to
`qpid::sys::Poller::unmonitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0xf75):
undefined reference to
`qpid::sys::Poller::unmonitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1083):
undefined reference to
`qpid::sys::Poller::unmonitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1191):
undefined reference to
`qpid::sys::Poller::monitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x129f):
undefined reference to
`qpid::sys::Poller::monitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1424):
undefined reference to
`qpid::sys::Poller::monitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x151f):
undefined reference to
`qpid::sys::Poller::registerHandle(qpid::sys::PollerHandle&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x15a0):
undefined reference to
`qpid::sys::Poller::monitorHandle(qpid::sys::PollerHandle&,
qpid::sys::Poller::Direction)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1780):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x17a8):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1976):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x199e):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1b6c):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1b94):
more undefined references to `qpid::sys::PollerHandle::~PollerHandle()' follow
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1bd2):
undefined reference to
`qpid::sys::PollerHandle::PollerHandle(qpid::sys::IOHandle const&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1dc6):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1df2):
undefined reference to
`qpid::sys::PollerHandle::PollerHandle(qpid::sys::IOHandle const&)'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.text+0x1fe6):
undefined reference to `qpid::sys::PollerHandle::~PollerHandle()'
CMakeFiles/qpidcommon.dir/qpid/sys/DispatchHandle.o:DispatchHandle.cpp:(.rdata$_ZTIN4qpid3sys14DispatchHandleE[typeinfo
for qpid::sys::DispatchHandle]+0x8): undefined reference to `typeinfo for
qpid::sys::PollerHandle'
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]