Opened 6 months ago

Closed 6 days ago

#5499 closed defect (fixed)

fatal error: boost/asio/coroutine.hpp: No such file or directory

Reported by: JorellF Owned by: tomek
Priority: medium Milestone: Kea1.4-final
Component: build system Version: git
Keywords: coroutine.hpp Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

Failed to build on CentOS 7.4

# find / -name coroutine.hpp

/usr/include/boost/coroutine/coroutine.hpp
/usr/include/asio/coroutine.hpp

Subtickets

Change History (14)

comment:1 Changed 6 months ago by fdupont

CentOS provides by default boost 1.53.0 which is one release too old (boost/asio/coroutine.hpp appeared in 1.54.0).
Perhaps this https://stackoverflow.com/questions/33050113/how-to-install-boost-devel-1-59-in-centos7 could help?

comment:2 Changed 5 months ago by JorellF

  • Priority changed from medium to very low
  • Resolution set to fixed
  • Status changed from new to closed

Thank you.

comment:3 Changed 5 months ago by tomek

  • Component changed from Unclassified to build system
  • Milestone changed from Kea-proposed to Kea1.4-final
  • Priority changed from very low to low

This is a problem with too old boost. However, we can do couple things to improve the situation:

  1. Doc to be updated (make it clearer which boost version is needed)
  2. Add a check in configure whether coroutine.hpp is available or what is the boost version.

comment:4 Changed 5 months ago by fdupont

  • Resolution fixed deleted
  • Status changed from closed to reopened

I suggest to keep this ticket open.

comment:5 Changed 3 weeks ago by tomek

  • Priority changed from low to medium

comment:6 Changed 3 weeks ago by tomek

The configure script should detect if coroutine.hpp is present and abort if missing. In such case it should print out that more recent Boost is needed.

comment:7 Changed 3 weeks ago by fdupont

  • Owner set to UnAssigned
  • Status changed from reopened to reviewing

In m4macros/ax_boost_for_kea.m4 there is a AC_CHECK_HEADERS with a long list of required headers including boost/asio/coroutine.hpp so IMHO the only required action is to check if this check is effective...
So I checked on my CentOS VM moving the file into .h and got:

...
checking boost/function.hpp usability... yes
checking boost/function.hpp presence... yes
checking for boost/function.hpp... yes
checking boost/asio/coroutine.hpp usability... no
checking boost/asio/coroutine.hpp presence... no
checking for boost/asio/coroutine.hpp... no
configure: error: Missing required header files.

I propose to close this ticket.

comment:8 Changed 8 days ago by tmark

Maybe we should alter the message to include a suggestion of using a newer version? We apparently know coroutine was added in 1.54, so we need at least that.

comment:9 Changed 7 days ago by tomek

  • Owner changed from UnAssigned to tomek
  • Status changed from reviewing to accepted

comment:10 Changed 7 days ago by tomek

  • Status changed from accepted to assigned

comment:11 Changed 6 days ago by tomek

  • Owner changed from tomek to Unassigned
  • Status changed from assigned to reviewing

Updated the error message to say that the header is either missing or too old. We need at least boost 1.57.

It's an easy review (1 line change)

comment:12 Changed 6 days ago by tomek

Tested on CentOS 7.4 (with boost installed from RPM and also 1.65 installed from sources)

comment:13 Changed 6 days ago by wlodekwencel

  • Owner changed from Unassigned to tomek

good to go.

comment:14 Changed 6 days ago by tomek

  • Resolution set to fixed
  • Status changed from reviewing to closed

Code merged. Closing.

Note: See TracTickets for help on using tickets.