Hey Steve,
You are correct.  The cmake file is looking for Windows, Linux, or SunOS, so
no poller source files are set for Cygwin.
Both Linux and SunOS appear to have dependencies not available on Cygwin
(<sys/epoll.h> and <port.h>).
I'm hoping it will be straightforward to make a poller for cygwin, but I
haven't had a chance to look at the code yet.
I created a jira issue and posted the details there.

I should be thanking you.  I wouldn't have a project to build without your
efforts.

On Thu, Jun 23, 2011 at 9:29 PM, Steve Huston <[email protected]> wrote:

> Hi Matt.
> Please raise a jira for the boost problem and attach your patch.
> The other errors look like there's no Poller being picked up for the build.
> I don't know of a regularly run build for cygwin. Thanks for working on it!
>
> Steve Huston
>
> On Jun 23, 2011, at 7:14 PM, Matt Stevenson <[email protected]>
> wrote:
>
> > 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.
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>
>


-- 
Matt Stevenson.

Reply via email to