libasio-dev lacks dependency to libboost-date-time-dev

Bug #277840 reported by Nicolás Alvarez
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
asio (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: libasio-dev

I installed libasio-dev, and included one of its headers from my program. The compiler gave this error:

In file included from /usr/include/asio/impl/io_service.ipp:24,
                 from /usr/include/asio/io_service.hpp:498,
                 from /home/nicolas/src/test-server/server.h:11,
                 from /home/nicolas/src/test-server/testserver.h:4,
                 from /home/nicolas/src/test-server/testserver.cpp:1:
/usr/include/asio/detail/epoll_reactor.hpp:29:59: error: boost/date_time/posix_time/posix_time_types.hpp: No such file or directory

libasio-dev depends on libboost-dev but not on libboost-date-time-dev.

This is the only problem I actually stumbled upon (so far), but include/asio/read_until.hpp is including boost/regex.hpp, which also in a separate package in Ubuntu. That dependency is probably needed as well.

Revision history for this message
Scott Ritchie (scottritchie) wrote :

Looks like this was fixed in Debian with libasio 1.4: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514076

It's too late to sync that version in, however we can work around it easily for Jaunty. One other issue I've noticed is that libasio-dev can be satisfied by just libboost-dev, which in Jaunty means it could be satisfied by libboost 1.34. But libboost 1.34 doesn't have asio in it! That came at libboost 1.35.

So there's two bugs here - libasio should depend on at least libboost 1.35-dev or later.

I'll get to work on a fix and try to make a sponsored upload.

Changed in asio (Ubuntu):
assignee: nobody → scottritchie
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Scott Ritchie (scottritchie) wrote :

And here is a fix, however it needs main sponsorship. Thank you for reporting, and thank you in advance for sponsoring!

Changed in asio (Ubuntu):
assignee: scottritchie → nobody
status: Confirmed → Fix Committed
Revision history for this message
Nicolás Alvarez (nicolas-alvarez) wrote :

I'm not sure what you mean with "But libboost 1.34 doesn't have asio in it!". boost-asio and asio are independent libraries (basically same code but on different C++ namespaces and different header paths).

Revision history for this message
Scott Ritchie (scottritchie) wrote :

So why does asio-dev depend on boost at all then? I may have confused things a bit after I saw a build error due to lack of libasio in a package that was building with boost (so maybe the bug is in _that package_ rather than asio-dev)

Revision history for this message
Nicolás Alvarez (nicolas-alvarez) wrote :

http://blog.think-async.com/2008/05/boostasio-vs-asio.html

Boost.Asio uses the Boost.System library to provide support for error codes, but *both* Asio and Boost.Asio depend on other Boost libraries like regex and date_time.

Revision history for this message
Scott Ritchie (scottritchie) wrote :

Ok fair enough. The change to depend on libboost-date-time-dev is still needed however. I'll make a second debdiff.

Revision history for this message
Scott Ritchie (scottritchie) wrote :

Here is a new debdiff with just the debian depends and recommends changes for libasio-dev backported:

Revision history for this message
Colin Watson (cjwatson) wrote :

Uploading, thanks. The only change I made was to drop the explicit mention of the maintainer field change from the changelog; per Ubuntu policy section 3.3, "Because it is mandated and very common, it is not necessary or appropriate to document this change in debian/changelog, unless it is the only change involved in the upload."

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package asio - 1.3.1-1ubuntu2

---------------
asio (1.3.1-1ubuntu2) jaunty; urgency=low

  * depend on libboost-date-time-dev and recommend libboost-regex-dev
    patch is in debian already and can be dropped at sync (LP: #277840)

 -- Scott Ritchie <email address hidden> Fri, 20 Mar 2009 14:02:29 -0700

Changed in asio:
status: Fix Committed → Fix Released
Revision history for this message
Nicolás Alvarez (nicolas-alvarez) wrote :

No chance of backporting to hardy? Not the new version of asio, just the package dependency fix...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.