Opened 5 years ago

Last modified 5 years ago

#20892 closed enhancement

package polymake 3.0 — at Version 14

Reported by: vdelecroix Owned by:
Priority: major Milestone: sage-7.3
Component: packages: experimental Keywords:
Cc: dimpase, mkoeppe, chapoton, ​stumpc5, moritz, tscrim Merged in:
Authors: Vincent Delecroix Reviewers:
Report Upstream: N/A Work issues:
Branch: u/vdelecroix/20892 (Commits, GitHub, GitLab) Commit: 713099644163e9f374bdde81486605187eafe365
Dependencies: Stopgaps:

Status badges

Description (last modified by vdelecroix)

Package now compiles out of the box! There will be a next ticket for its interface within Sage.

upstream tarball: https://polymake.org/lib/exe/fetch.php/download/polymake-3.0r1-minimal.tar.bz2

Once installed you should be able to run polymake with

$ sage -sh -c polymake
Welcome to polymake version 3.0
Copyright (c) 1997-2015
...
polytope > 

previous attempts (with earlier versions): #13768, #14116

Change History (14)

comment:1 Changed 5 years ago by vdelecroix

  • Description modified (diff)

comment:2 Changed 5 years ago by vdelecroix

  • Branch set to u/vdelecroix/20892
  • Cc chapoton added
  • Commit set to 9253643b19312dc5be0db6133f526bad99b902a8
  • Status changed from new to needs_review

New commits:

9253643Trac 20892: package for polymake 3.0

comment:3 Changed 5 years ago by git

  • Commit changed from 9253643b19312dc5be0db6133f526bad99b902a8 to cf20c0bc56e475f36012d8a8fef06f7a44f8f6a5

Branch pushed to git repo; I updated commit sha1. New commits:

cf20c0btrac 20892: more options to ./configure

comment:4 Changed 5 years ago by vdelecroix

  • Description modified (diff)

comment:5 Changed 5 years ago by vdelecroix

  • Description modified (diff)

comment:6 Changed 5 years ago by mkoeppe

Installation fails on Mac OS X:

[polymake-3.0r1] Found local metadata for polymake-3.0r1
[polymake-3.0r1] Using cached file /Users/mkoeppe/cvs/sage/upstream/polymake-3.0r1.tar.bz2
[polymake-3.0r1] polymake-3.0r1
[polymake-3.0r1] ====================================================
[polymake-3.0r1] Setting up build directory for polymake-3.0r1
[polymake-3.0r1] Finished extraction
[polymake-3.0r1] ****************************************************
[polymake-3.0r1] Host system:
[polymake-3.0r1] Darwin egret.local 15.5.0 Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64 x86_64
[polymake-3.0r1] ****************************************************
[polymake-3.0r1] C compiler: gcc
[polymake-3.0r1] C compiler version:
[polymake-3.0r1] Using built-in specs.
[polymake-3.0r1] COLLECT_GCC=/Users/mkoeppe/cvs/sage/local/bin/gcc
[polymake-3.0r1] COLLECT_LTO_WRAPPER=/Users/mkoeppe/cvs/sage/local/libexec/gcc/x86_64-apple-darwin15.2.0/4.9.2/lto-wrapper
[polymake-3.0r1] Target: x86_64-apple-darwin15.2.0
[polymake-3.0r1] Configured with: ../src/configure --prefix=/Users/mkoeppe/cvs/sage/local --with-local-prefix=/Users/mkoeppe/cvs/sage/local --with-gmp=/Users/mkoeppe/cvs/sage/local --with-mpfr=/Users/mkoeppe/cvs/sage/local --with-mpc=/Users/mkoeppe/cvs/sage/local --with-system-zlib --disable-multilib --disable-nls --enable-languages=c,c++,fortran --disable-libitm --with-build-config=bootstrap-debug --without-isl --without-cloog  
[polymake-3.0r1] Thread model: posix
[polymake-3.0r1] gcc version 4.9.2 (GCC) 
[polymake-3.0r1] ****************************************************
[polymake-3.0r1] checking C++ compiler ... ok (g++ is GCC 4.9.2)
[polymake-3.0r1] checking C++ library ... ok (GNU stdlibc++ 20141030, C++ 199711)
[polymake-3.0r1] checking fink installation ... ok (/sw)
[polymake-3.0r1] checking fink gmp installation ... ok
[polymake-3.0r1] checking fink mpfr installation ... ok
[polymake-3.0r1] determining compiler flags ... ok
[polymake-3.0r1]    CFLAGS= -Wall ${ARCHFLAGS}
[polymake-3.0r1]    CXXFLAGS= -ftemplate-depth-200 -Wall -Wno-strict-aliasing -Wno-parentheses -fwrapv -fopenmp ${ARCHFLAGS}
[polymake-3.0r1] checking gmp installation ... ok (/sw)
[polymake-3.0r1] checking mpfr installation ... ok
[polymake-3.0r1] checking shared perl library ... failed
[polymake-3.0r1] 
[polymake-3.0r1] Could not compile a test program for the libperl.bundle shared library.
[polymake-3.0r1] The build error is as follows:
[polymake-3.0r1] /var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gn/T//polymake_54759_configure.cc: In function 'int main(int, char**, char**)':
[polymake-3.0r1] /var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gn/T//polymake_54759_configure.cc:8:40: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
[polymake-3.0r1]     char *embedding[] = { "", "-e", "0" };
[polymake-3.0r1]                                         ^
[polymake-3.0r1] /var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gn/T//polymake_54759_configure.cc:8:40: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
[polymake-3.0r1] /var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gn/T//polymake_54759_configure.cc:8:40: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
[polymake-3.0r1] <stdin>:18:8: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         pushq   %rbp
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:20:7: error: register %rsp is only available in 64-bit mode
[polymake-3.0r1]         movq    %rsp, %rbp
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:22:12: error: register %rsp is only available in 64-bit mode
[polymake-3.0r1]         subq    $64, %rsp
[polymake-3.0r1]                      ^~~~
[polymake-3.0r1] <stdin>:23:17: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         movl    %edi, -36(%rbp)
[polymake-3.0r1]                           ^~~~
[polymake-3.0r1] <stdin>:24:7: error: register %rsi is only available in 64-bit mode
[polymake-3.0r1]         movq    %rsi, -48(%rbp)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:25:7: error: register %rdx is only available in 64-bit mode
[polymake-3.0r1]         movq    %rdx, -56(%rbp)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:28:11: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         leaq    LC0(%rip), %rax
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:29:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, -32(%rbp)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:30:11: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         leaq    LC1(%rip), %rax
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:31:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, -24(%rbp)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:32:11: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         leaq    LC2(%rip), %rax
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:33:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, -16(%rbp)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:35:11: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         leaq    -56(%rbp), %rdx
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:36:11: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         leaq    -48(%rbp), %rcx
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:37:11: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         leaq    -36(%rbp), %rax
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:38:7: error: register %rcx is only available in 64-bit mode
[polymake-3.0r1]         movq    %rcx, %rsi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:39:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:43:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, __ZL7my_perl(%rip)
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:45:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:46:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:49:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:50:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rdx
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:51:14: error: register %rdx is only available in 64-bit mode
[polymake-3.0r1]         movzbl  1150(%rdx), %edx
[polymake-3.0r1]                      ^~~~
[polymake-3.0r1] <stdin>:53:17: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movb    %dl, 1150(%rax)
[polymake-3.0r1]                           ^~~~
[polymake-3.0r1] <stdin>:55:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:56:11: error: register %rbp is only available in 64-bit mode
[polymake-3.0r1]         leaq    -32(%rbp), %rdx
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:57:11: error: register %r8d is only available in 64-bit mode
[polymake-3.0r1]         movl    $0, %r8d
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:58:7: error: register %rdx is only available in 64-bit mode
[polymake-3.0r1]         movq    %rdx, %rcx
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:61:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:64:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:65:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:68:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:70:11: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         leaq    LC3(%rip), %rsi
[polymake-3.0r1]                     ^~~~
[polymake-3.0r1] <stdin>:71:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:74:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:75:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] <stdin>:78:20: error: register %rip is only available in 64-bit mode
[polymake-3.0r1]         movq    __ZL7my_perl(%rip), %rax
[polymake-3.0r1]                              ^~~~
[polymake-3.0r1] <stdin>:79:7: error: register %rax is only available in 64-bit mode
[polymake-3.0r1]         movq    %rax, %rdi
[polymake-3.0r1]                 ^~~~
[polymake-3.0r1] 
[polymake-3.0r1] 
[polymake-3.0r1] On some systems the library is contained in a separate package named like
[polymake-3.0r1] perl-devel or libperl-dev.  Please look for such a package and install it.
[polymake-3.0r1] 
[polymake-3.0r1] As a last resort, you can configure polymake with the option --without-callable .
[polymake-3.0r1] You won't be able to build the callable library any more, but at least you get
[polymake-3.0r1] polymake compiled.
[polymake-3.0r1] Several configurations for MacOS platform found;
[polymake-3.0r1] Please specify the desired one using the option Arch=<NAME>.
[polymake-3.0r1] Makefile:32: *** CONFIGURATION ERROR.  Stop.
[polymake-3.0r1] 
[polymake-3.0r1] real	0m1.446s
[polymake-3.0r1] user	0m0.940s
[polymake-3.0r1] sys	0m0.350s
[polymake-3.0r1] ************************************************************************
[polymake-3.0r1] Error installing package polymake-3.0r1
[polymake-3.0r1] ************************************************************************
[polymake-3.0r1] Please email sage-devel (http://groups.google.com/group/sage-devel)
[polymake-3.0r1] explaining the problem and including the relevant part of the log file
[polymake-3.0r1]   /Users/mkoeppe/cvs/sage/logs/pkgs/polymake-3.0r1.log
[polymake-3.0r1] Describe your computer, operating system, etc.
[polymake-3.0r1] If you want to try to fix the problem yourself, *don't* just cd to
[polymake-3.0r1] /Users/mkoeppe/cvs/sage/local/var/tmp/sage/build/polymake-3.0r1 and type 'make' or whatever is appropriate.
[polymake-3.0r1] Instead, the following commands setup all environment variables
[polymake-3.0r1] correctly and load a subshell for you to debug the error:
[polymake-3.0r1]   (cd '/Users/mkoeppe/cvs/sage/local/var/tmp/sage/build/polymake-3.0r1' && '/Users/mkoeppe/cvs/sage/sage' --sh)
[polymake-3.0r1] When you are done debugging, you can type "exit" to leave the subshell.
[polymake-3.0r1] ************************************************************************
make[1]: *** [/Users/mkoeppe/cvs/sage/local/var/lib/sage/installed/polymake-3.0r1] Error 1

comment:7 Changed 5 years ago by mkoeppe

It finds my Fink installation (though I removed it from PATH for building Sage) -- should this be disabled? It does not find Perl -- should I install it in Fink or should we have a Perl package in Sage as a prerequisite?

comment:8 Changed 5 years ago by dimpase

this might be a mismatch between the code emitted by quite new gcc and old assembler, which is unable to compile this into binary. There were a number of such OSX-only reports recently, check the sage-develop...

comment:9 Changed 5 years ago by dimpase

yeah, try to move Fink totally to some /opt/blah place and try again...

comment:10 Changed 5 years ago by mkoeppe

OK. After hiding Fink, I get:

[polymake-3.0r1] checking fink installation ... The Fink package system is a mandatory prerequisite to build and use polymake under MacOS.
[polymake-3.0r1] Please refer to http://www.polymake.org/doku.php/mac for details and installation instructions.
[polymake-3.0r1] If you already have Fink installed at a non-standard location, please specify it using option --with-fink

I'll start again with a fresh install of Fink and install some perl there.

comment:11 follow-up: Changed 5 years ago by mkoeppe

I will first try to install polymake from source outside of Sage -- this already fails on my machine; I have asked in the Polymake forum for help.

Vincent: I think the right package to use in Sage would be the "minimal" package which picks up cdd, lrs, nauty from the Sage distribution.

comment:12 Changed 5 years ago by git

  • Commit changed from cf20c0bc56e475f36012d8a8fef06f7a44f8f6a5 to 713099644163e9f374bdde81486605187eafe365

Branch pushed to git repo; I updated commit sha1. New commits:

7130996Trac 20892: use the minimal tarball

comment:13 in reply to: ↑ 11 Changed 5 years ago by vdelecroix

Replying to mkoeppe:

Vincent: I think the right package to use in Sage would be the "minimal" package which picks up cdd, lrs, nauty from the Sage distribution.

right. done.

comment:14 Changed 5 years ago by vdelecroix

  • Description modified (diff)
Note: See TracTickets for help on using tickets.