Hi, I was able to build the Qpid C++ 0.10 project in Ubuntu without any problems, but trying to build in Cygwin on Windows 7 64 has been unsuccessful.
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 (modified ./src/CMakeList.txt: http://pastebin.com/i753aD8C [It does not properly check boost version when setting the target link libs, assumes boost >= 1.35]). Linking the system lib 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' I found an old reference to similar errors when building on FreeBSD, which were patched ( http://mail-archives.apache.org/mod_mbox/qpid-dev/201004.mbox/%3C17074332.130791271911009151.JavaMail.jira@thor%3E ) Has anyone successfully built this on Cygwin? Do I have something misconfigured or does Qpid need some Cygwin specific code added somewhere? Thanks, -- Matt Stevenson.
