You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Matt Stevenson (JIRA)" <ji...@apache.org> on 2011/06/24 09:06:47 UTC

[jira] [Updated] (QPID-3320) Qpid C++ build fails on Cygwin

     [ https://issues.apache.org/jira/browse/QPID-3320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Stevenson updated QPID-3320:
---------------------------------

    Attachment: CMakeLists.txt

Modified version of ./cpp/src/CMakeList.txt which links the Boost system library along with the program_options lib and filesystem lib.  This is needed Boost versions > 1.35 on cygwin.  This file does not check the platform or boost version, it forces the linking.

> 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
>              Labels: C++, build, cygwin
>         Attachments: CMakeLists.txt
>
>
> 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:dev-subscribe@qpid.apache.org