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]

Reply via email to