Please support simultaneous custom Boost and CGAL

Summary: CGAL check in configure does not consider custom Boost builds

  • Are you running the latest graph-tool version?
  • Do you observe the problem with the current git version?
  • Are you using Macports or Homebrew? If yes, please submit an issue there instead: https://github.com/Homebrew/brew/issues and https://trac.macports.org/newticket
  • Did you compile graph-tool manually?
  • If you answered yes above, did you use the exact same compiler to build graph-tool, boost-python and Python?

I didn't build Python but it was built with gcc 8.2.0 as well (per sys.version)

The same program configure uses to determine if CGAL is properly installed does not pass along BOOST_LDFLAGS and in particular -L/path/to/boost/lib. As a result, if CGAL was built with a custom Boost version you can get link errors.

The following patch fixes the problem for me:

diff --git a/m4/ax_lib_cgal_core.m4 b/m4/ax_lib_cgal_core.m4
index 24d25aaa..bb193831 100644
--- a/m4/ax_lib_cgal_core.m4
+++ b/m4/ax_lib_cgal_core.m4
@@ -60,7 +60,7 @@ for ac_cgal_iterate in $ac_cgal_dirs ; do
 
        CGAL_LDFLAGS="-L$ac_cgal_iterate/lib -lCGAL -lCGAL_Core -lgmp ${BOOST_THREAD_LIB}"
        LDFLAGS_SAVED="$LDFLAGS"
-       LDFLAGS="$LDFLAGS $CGAL_LDFLAGS"
+       LDFLAGS="$LDFLAGS $CGAL_LDFLAGS $BOOST_LDFLAGS"

I don't know if it's correct in general, though.

Do not forget to supply the following information:

  • A minimal and self-contained example that shows the problem.
  • Your operating system.

Ubuntu 18.10

  • The Python version you are using.

3.7.1

  • If you compiled graph-tool manually: Your compiler version, as well as the version of Boost being used.

gcc 8.2.0 and Boost 1.68.0

  • If you are reporting a compilation error, please provide the entire ./configure output, as well as the entire contents of the config.log file and the entire compilation output.

Do not forget to add code snippets and error messages using Markdown, i.e.

./configure --with-boost=/media/jet/71c9e7fc-0208-49dd-89d0-6b357bdeec64/boost_1_68_0/installed -with-cgal=/media/jet/71c9e7fc-0208-49dd-89d0-6b357bdeec64/CGAL-4.13/installed
...
checking whether CGAL is available in /media/jet/71c9e7fc-0208-49dd-89d0-6b357bdeec64/CGAL-4.13/installed... no
configure: error: CGAL library not found.

configure output and config.log attached; there is no compilation output.configure_outputconfig.log

Edited by Jeff Trull