Page 1 of 1

ppl location problem in Debian

Posted: 04 Mar 2019, 23:38
by laisrast
Hello I am trying to compile Polymake 3.3 under Debian GNU/Linux 9.8 (stretch) x86_64 with ppl.

Code: Select all

$./configure checking C++ compiler ... ok (g++ is GCC 6.3.0) checking C++ library ... ok (GNU libstdc++ 20170516, C++ 201402) determining architecture ... ok (x86_64) determining compiler flags ... ok CFLAGS= -march=native CXXFLAGS= -std=c++14 -march=native -ftemplate-depth-200 -fno-strict-aliasing -Wno-parentheses -Wshadow -fopenmp -Wno-error=unused-function -Wno-maybe-uninitialized LDFLAGS= -fuse-ld=gold -fopenmp checking gmp installation ... ok checking mpfr installation ... ok checking boost installation ... ok checking libxml2 installation ... ok checking perl module XML::Writer ... ok checking perl module XML::LibXML ... ok checking perl module XML::LibXSLT ... ok checking perl module Term::ReadKey ... ok checking perl module Term::ReadLine ... ok checking perl module JSON ... ok checking shared perl library ... ok Configuring bundled extensions: bundled extension atint ... ok bundled extension bliss ... ok bundled extension cdd ... ok (bundled) bundled extension java ... ok (JNI headers at /usr/lib/jvm/java-8-openjdk-amd64/include) bundled extension javaview ... failed bundled extension jreality ... ok (with bundled JOGL) bundled extension libnormaliz ... ok (bundled) bundled extension lrs ... ok (bundled) bundled extension nauty ... disabled because of conflict with other extension: bliss bundled extension ppl ... failed bundled extension scip ... failed bundled extension singular ... failed bundled extension soplex ... failed bundled extension sympol ... ok (bundled) * If you want to change the configuration of bundled extensions please see build/bundled.log and try configure --help. * Configuration successful. * You can run 'ninja -C build/Opt install' now to build and install polymake.

Code: Select all

$cat build/bundled.log ... ---- ppl ---- Invalid installation location of libppl: header file /usr/include/ppl.hh does not exist ...

The problem is that ppl.hh is installed in /usr/include/x86_64-linux-gnu:

Code: Select all

$find /usr/include/ -iname "ppl.hh" /usr/include/x86_64-linux-gnu/ppl.hh

And whenever I put the the "--with-ppl" flag,

Code: Select all

$./configure --with-ppl=/usr/include/x86_64-linux-gnu checking C++ compiler ... ok (g++ is GCC 6.3.0) checking C++ library ... ok (GNU libstdc++ 20170516, C++ 201402) determining architecture ... ok (x86_64) determining compiler flags ... ok CFLAGS= -march=native CXXFLAGS= -std=c++14 -march=native -ftemplate-depth-200 -fno-strict-aliasing -Wno-parentheses -Wshadow -fopenmp -Wno-error=unused-function -Wno-maybe-uninitialized LDFLAGS= -fuse-ld=gold -fopenmp checking gmp installation ... ok checking mpfr installation ... ok checking boost installation ... ok checking libxml2 installation ... ok checking perl module XML::Writer ... ok checking perl module XML::LibXML ... ok checking perl module XML::LibXSLT ... ok checking perl module Term::ReadKey ... ok checking perl module Term::ReadLine ... ok checking perl module JSON ... ok checking shared perl library ... ok Configuring bundled extensions: bundled extension atint ... ok bundled extension bliss ... ok bundled extension cdd ... ok (bundled) bundled extension java ... ok (JNI headers at /usr/lib/jvm/java-8-openjdk-amd64/include) bundled extension javaview ... failed bundled extension jreality ... ok (with bundled JOGL) bundled extension libnormaliz ... ok (bundled) bundled extension lrs ... ok (bundled) bundled extension nauty ... disabled because of conflict with other extension: bliss bundled extension ppl ... failed ERROR: The bundled extension ppl was explicitly requested but failed to configure. Please recheck your argument (--with-ppl=/usr/include/x86_64-linux-gnu) and build/bundled.log . You can also disable it by specifying --without-ppl instead.

the configuration appends include/ to its search path:

Code: Select all

$cat build/bundled.log ... ---- ppl ---- Invalid installation location of libppl: header file /usr/include/x86_64-linux-gnu/include/ppl.hh does not exist

Re: ppl location problem in Debian

Posted: 04 Mar 2019, 23:56
by gawrilow
Sorry, it's not so easy to anticipate all installation variants...

Does your PPL installation contain the utility ppl-config? If so, please extend your PATH so that utility is found automatically, or create a symlink from another directory in your PATH. If it's missing, please edit the config script bundled/ppl/support/configure.pl, the variable causing troubles is named $ppl_inc.

Re: ppl location problem in Debian

Posted: 05 Mar 2019, 15:00
by laisrast
"ppl-config" is already in the PATH.
Did it return wrong locations then? As you can see, the configuration script tries to use its output when no other options are specified, and this what you must have tried first, haven't you?

If it indeed tells wrong locations, I'd recommend to file a ticket for ppl package maintainers.

Re: ppl location problem in Debian

Posted: 05 Mar 2019, 22:43
by laisrast
It looks like you replied to my reply by editing my reply instead of writing a new separated reply.
Did it return wrong locations then?
Yes, ''ppl-config" returned a wrong location for "includedir":

Code: Select all

$ ppl-config --includedir /usr/include
Even though the files are really in "/usr/include/x86_64-linux-gnu":

Code: Select all

$ find /usr/include -iname "ppl*" /usr/include/x86_64-linux-gnu/ppl_c.h /usr/include/x86_64-linux-gnu/ppl.hh
However, this only happens with "includedir"; The "libdir" is returned correctly:

Code: Select all

$ ppl-config --libdir /usr/lib/x86_64-linux-gnu
Since my reply was overwritten, I will post the (hardcore) solution I did:
Edit the variables "ppl_inc" and "ppl_lib" in the file "bundled/ppl/support/configure.pl" to look like this:

Code: Select all

$ppl_inc="$ppl_path/include/x86_64-linux-gnu"; $ppl_lib="$ppl_path/lib/x86_64-linux-gnu"
Thanks for your suggestion.

Re: ppl location problem in Debian

Posted: 05 Mar 2019, 23:05
by gawrilow
It looks like you replied to my reply by editing my reply instead of writing a new separated reply.
Sorry, this was not my intention. Did not even know that the forum software allows to edit other people's posts without any warning.
One more bug to complain about...