Error installing Polymake 2.15-beta3

Questions and problems about using polymake go here.
mws
Posts: 32
Joined: 16 Jan 2014, 22:57

Error installing Polymake 2.15-beta3

Postby mws » 28 Oct 2015, 12:06

I need to install Polymake 2.15 on yet another system, and again problem occur. Let me first describe the system:
  • Linux soroban 2.6.32-504.30.3.el6.x86_64 #1 SMP Tue Jul 14 11:18:03 CDT 2015 x86_64 x86_64 x86_64 GNU/Linux
  • Perl: v5.10.1 (*) built for x86_64-linux-thread-multi
  • GCC: 4.4.7 20120313 (Red Hat 4.4.7-16)
The command

Code: Select all

./configure --prefix=$HOME/polymake-2.15-beta3 --with-gmp=/cm/shared/apps/gmp/6 --with-mpfr=$HOME --with-ppl=$HOME
finishes without any errors. When I start make -j20, the compilition quickly stops with the following error message.

Code: Select all

Running Mkbootstrap for Polymake::Ext () chmod 644 Ext.bs chmod 755 blib/arch/auto/Polymake/Ext/Ext.so /usr/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- Ext.bs blib/arch/auto/Polymake/Ext/Ext.bs 644 Running Mkbootstrap for Polymake::Ext () chmod 644 Ext.bs Files found in blib/arch: installing files in blib/lib into architecture dependent library tree !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/cm/shared/apps/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Polymake/Ext' mkdir /cm/shared/apps/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Polymake: Keine Berechtigung at /usr/share/perl5/ExtUtils/Install.pm line 483. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at -e line 1. make[3]: *** [pure_site_install] Fehler 13 make[2]: *** [../../perlx-5.10.1-x86_64-linux-thread-multi/libpolymake.so.2.14] Fehler 2 make[1]: *** [compile] Fehler 2 make[1]: Leaving directory `/home/mws/polymake-beta/build.x86_64/lib/core' make: *** [compile] Fehler 2
It is correct that I don't have rights to create anything in /cm/shared/apps/perl5/lib/perl5/x86_64-linux-thread-multi/. However, since I want to install Polymake into my home directory I am surprised that this directory is actually touched.

Any idea what's the problem?

blorenz
Developer
Posts: 139
Joined: 10 Jan 2011, 17:21

Re: Error installing Polymake 2.15-beta3

Postby blorenz » 28 Oct 2015, 18:02

The reason might be that there are some environment variables set that tell ExtUtils::MakeMaker to install somewhere else than under the build directory. You should check your environment for INSTALL_BASE or something else listed here:
http://perldoc.perl.org/ExtUtils/MakeMa ... STALL_BASE

Benjamin

mws
Posts: 32
Joined: 16 Jan 2014, 22:57

Re: Error installing Polymake 2.15-beta3

Postby mws » 03 Nov 2015, 13:16

Thanks, Benjamin, that already helped a great deal!

Now Polymake compiles without any errors. However, when I start it it complains:

Can't locate loadable object for module Polymake::Ext in @INC (@INC contains: /home/mws/polymake-2.15-beta3/share/polymake/perllib /home/mws/polymake-2.15-beta3/lib/polymake/perlx /cm/shared/apps/perl5/lib/perl5/x86_64-linux-thread-multi /cm/shared/apps/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/mws/polymake-2.15-beta3/share/polymake/perllib/Polymake/Namespaces.pm line 17.
Compilation failed in require at /home/mws/polymake-2.15-beta3/share/polymake/perllib/Polymake/Namespaces.pm line 17.
BEGIN failed--compilation aborted at /home/mws/polymake-2.15-beta3/share/polymake/perllib/Polymake/Namespaces.pm line 17.
Compilation failed in require at /home/mws/polymake-2.15-beta3/share/polymake/perllib/Polymake.pm line 27.
BEGIN failed--compilation aborted at /home/mws/polymake-2.15-beta3/share/polymake/perllib/Polymake.pm line 27.
Compilation failed in require at ./polymake line 166.
BEGIN failed--compilation aborted at ./polymake line 166.

Any ideas what the problem might by?

mws
Posts: 32
Joined: 16 Jan 2014, 22:57

Re: Error installing Polymake 2.15-beta3

Postby mws » 10 Nov 2015, 17:21

Dear polymakers,

I am still stuck with my problem. Any ideas how to fix it? Do you need additional information about the system I'm using?

Thanks,
Moritz

User avatar
gawrilow
Main Author
Posts: 423
Joined: 25 Dec 2010, 17:40

Re: Error installing Polymake 2.15-beta3

Postby gawrilow » 11 Nov 2015, 13:41

polymake does not differ from any other perl library (or CPAN) module. It expects the loadable extension modules (those with .bundle suffix on MacOS X and .so everywhere else) in a subdirectory <PerlVersion>/<PerlArchitecture>/auto of one of locations listed in @INC. @INC is populated from several sources: first, locations configured together with perl itself (if your perl comes from a system package, the locations are defined by the packagers and usually should match your system well; if you are using a home-baked perl, you should know yourself what have you configured back then); second, locations contained in an environment variable PERL5LIB; third, locations dynamically added by perl scripts when they start. polymake uses the latter approach so that the user can install its components without obtaining root privileges; the location for polymake extension perl modules is specified during polymake configuration and it's populated by `make install'.

Now, looking at your @INC, one can deduce that your polymake has been configured with something like --prefix /home/mws/polymake-2.15-beta3, your perl has a slightly strange version string "perl5" (by default, an exact version string like "5.18.2" is used), and the perl architecture string is "x86_64-linux-thread-multi", which looks fine. In general, perl extension modules are not binary compatible across different versions, so that mixing extensions compiled for different perls may easily lead to any possible malfunction including immediate crashes, but I suppose you and your sysadmins know what they do.

Anyway, with this knowledge you can easily check whether your polymake installation conforms to the game rules or not. If /home/mws/polymake-2.15-beta3/lib/polymake/perlx does not contain anything, this would indicate that your `make all' or `make install' have failed underway and the installation is incomplete. Then you have to repeat the installation and watch out for any error messages.

If there are some files, in particular Ext.so and Ext.bs, but their location deviates from the naming scheme described above, this would indicate that you have built and installed polymake with a different perl version than you are trying to use now (maybe you have several perl installations in parallel, or you have upgraded your perl in the meanwhile). In this case you've got to rerun `configure --repeat x86_64', `make all', and 'make install' for polymake, using your new perl. (One can also specify the perl interpreter explicitly for all these commands by appending an option PERL=/path/to/my/weird/bin/perl.) You don't have to `make clean', however; if you have preserved the source and build trees from the last attempt, the new build will be very fast, because only a very small fraction of polymake binaries does depend on the perl version.

BTW, variables influencing perl installation behavior like INSTALL_BASE should never be set in environments of normal users. Such things are solely designed for packagers, that is, people building software which is going to be installed on other systems. Even if you share a non-standard perl module collection with other users across a local network, such setup can perfectly be maintained via properly configured site-perl directory and/or PERL5LIB environment variable.

mws
Posts: 32
Joined: 16 Jan 2014, 22:57

Re: Error installing Polymake 2.15-beta3

Postby mws » 13 Nov 2015, 21:49

Thanks, Ewgenij, for your very detailed answer.

In the end I could not figure out what the problem was, everything seemed fine. So I just installed everything needed by Polymake locally and now it works.


Return to “Helpdesk”