Opened 8 years ago

Closed 2 years ago

#11710 closed defect (wontfix)

experimental package macaulay2-1.1-r7221.p0.spkg fails to install

Reported by: mariah Owned by: tbd
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: experimental Keywords: sd32, sd40.5
Cc: Merged in:
Authors: Andrey Novoseltsev Reviewers: John Perry
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #13234 Stopgaps:

Description (last modified by leif)

sage-4.7.1 on the Skynet machine eno (x86_64-Linux-core2-fc) fails to install the experimental package macaulay2-1.1-r7221.p0.spkg.

(Note that installing optional package gdbm-1.8.3.spkg is a prerequiste for installing macaulay2-1.1-r7221.p0.spkg.)

Rather than fix this problem, it may be better to upgrade to a more recent version of Macaulay2, such as macaulay2-1.4-r12617.

eno% ./sage -i ../optional/bug/macaulay2-1.1-r7221.p0.spkg
Installing ../optional/bug/macaulay2-1.1-r7221.p0.spkg
Calling sage-spkg on ../optional/bug/macaulay2-1.1-r7221.p0.spkg
Warning: Attempted to overwrite SAGE_ROOT environment variable
macaulay2-1.1-r7221.p0
Machine:
Linux eno 2.6.40-4.fc15.x86_64 #1 SMP Fri Jul 29 18:46:53 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Deleting directories from past builds of previous/current versions of macaulay2-1.1-r7221.p0
Extracting package /home/mariah/sage/sage-4.7.1-x86_64-Linux-core2-fc-macaulay2/../optional/bug/macaulay2-1.1-r7221.p0.spkg ...
-rw-r----- 1 mariah sage 2652090 Dec 24  2008 /home/mariah/sage/sage-4.7.1-x86_64-Linux-core2-fc-macaulay2/../optional/bug/macaulay2-1.1-r7221.p0.spkg
Finished extraction
****************************************************
Host system
uname -a:
Linux eno 2.6.40-4.fc15.x86_64 #1 SMP Fri Jul 29 18:46:53 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6.1/x86_64-Linux-core2-fc/libexec/gcc/x86_64-unknown-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /usr/local/gcc-4.6.1/src/gcc-4.6.1/configure --enable-languages=c,c++,fortran --with-gnu-as --with-gnu-as=/usr/local/binutils-2.21/x86_64-Linux-core2-fc-gcc-4.5.1-rh/bin/as --with-gnu-ld --with-ld=/usr/local/binutils-2.21/x86_64-Linux-core2-fc-gcc-4.5.1-rh/bin/ld --with-gmp=/usr/local/mpir-2.4.0/x86_64-Linux-core2-fc-gcc-4.6.0-rh --with-mpfr=/usr/local/mpfr-3.0.1/x86_64-Linux-core2-fc-mpir-2.4.0-gcc-4.6.0-rh --with-mpc=/usr/local/mpc-0.9/x86_64-Linux-core2-fc-mpir-2.4.0-mpfr-3.0.1-gcc-4.6.0-rh --prefix=/usr/local/gcc-4.6.1/x86_64-Linux-core2-fc
Thread model: posix
gcc version 4.6.1 (GCC) 
****************************************************
+ autoconf

...stuff deleted...

checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/mariah/sage/sage-4.7.1-x86_64-Linux-core2-fc-macaulay2/spkg/build/macaulay2-1.1-r7221.p0/src/BUILD/normal':
configure: error: C compiler cannot create executables
See `config.log' for more details

Change History (35)

comment:1 Changed 8 years ago by leif

Attaching config.log in this case wouldn't be bad.

But as you mentioned, the package is fairly old anyway, which doesn't necessarily mean a newer version will install seamlessly. Did you already try that?

comment:2 Changed 8 years ago by mariah

Yes, I tried installing a newer version. It did not go well, and I have abandoned the effort for now. (Other things are demanding my attention.) Perhaps someone else will have better luck!

comment:3 Changed 8 years ago by leif

  • Description modified (diff)

comment:4 Changed 8 years ago by was

  • Keywords sd32 added

comment:5 Changed 7 years ago by novoselt

For the record: Macaulay2 1.5 is about to be released.

comment:6 follow-up: Changed 7 years ago by benjaminfjones

To review #12335 I need to install the spkg macaulay2-1.1-r7221.p0 into sage-5.0 but when I try I get:

Error: the autoconf program is not installed on your system.

/bin/sh: autoconf: not found
Please install or update autoconf: the version () should be at least 2.59.

It's mentioned in the error message that one can try:

make get-autoconf

but going to a sage shell and into the spkg src and running this command fails:

(sage-sh) jonesbe@sage:src$ make get-autoconf
make -f Makefile -C autoconf
make[1]: Entering directory `/home/jonesbe/sage/sage-5.0/spkg/build/macaulay2-1.1-r7221.p0/src/autoconf'
curl ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz -o "autoconf-2.61.tar.gz" && touch .fetched
/bin/sh: curl: not found
make[1]: *** [.fetched] Error 127
make[1]: Leaving directory `/home/jonesbe/sage/sage-5.0/spkg/build/macaulay2-1.1-r7221.p0/src/autoconf'
make: *** [get-autoconf] Error 2

comment:7 in reply to: ↑ 6 Changed 7 years ago by john_perry

Replying to benjaminfjones:

To review #12335 I need to install the spkg macaulay2-1.1-r7221.p0 into sage-5.0 but when I try I get:

Error: the autoconf program is not installed on your system.

Is autoconf installed on your system? If not, does Sage include its own autoconf?

These may be questions, but I can get past the autoconf, maybe because it's on my system. It breaks for me elsewhere.

Version 0, edited 7 years ago by john_perry (next)

comment:8 Changed 7 years ago by novoselt

I am trying to build M2 1.4 from source - it would be way better to upgrade spkg. My diary:

  • I've installed autoconf on my system since it does not seem like Sage includes it in any way.
  • bison and flex are available as experimental packages (why not optional?) and installed fine for me.
  • I have MAKE="make -j2" and configure complains that make is not GNU, changing it to just "make" works fine.
  • Next it complains about libcurses and libncurses. I have libncurses installed, but it is necessary to install development versions. I've done that.
  • Now development version of libxml2...
  • config finished without errors, make does not work:
    error: for the third-party library or program source "gc"
           the source code is not present in the file "/home/novoselt/tests/Macaulay2-1.4-r12617/BUILD/normal/../../BUILD/tarfiles/gc-7.2alpha5-2010-09-03.tar.gz"
           so either download a "fat" tar file of the Macaulay2 source code
           or rerun the Macaulay2 "configure" command with the added option "--enable-download"
           to enable automatic downloading of the source code over the internet
    

comment:9 Changed 7 years ago by novoselt

I am not sure where fat source is, but I have downloaded files one by one until there were no complaints from here: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/1.4/index.html I had to get 21 out of 29 currently posted there:

4ti2-1.3.2.tar.gz               gfan0.4plus.tar.gz   nauty24r2.tar.gz
cdd+-077a.tar.gz                glpk-4.44.tar.gz     normaliz2.5Source.zip
cddlib-094f.tar.gz              lapack-3.2.2.tgz     ntl-5.5.2.tar.gz
factory-3-1-1.tar.gz            libfac-3-1-1.tar.gz  pari-2.3.5.tar.gz
frobby_v0.8.2.tar.gz            lrslib-042c.tar.gz   readline61-001
gc-7.2alpha5-2010-09-03.tar.gz  mpfr-3.0.0.tar.gz    readline61-002
gdbm-1.8.3.tar.gz               mpir-2.1.2.tar.gz    readline-6.1.tar.gz

As I understand some of these should be substituted by Sage versions. From a license point of view, would it be OK to make an optional spkg with the rest included?

comment:10 Changed 7 years ago by novoselt

The end of make's output:

linalg.cpp:528:1: error: ‘FieldMatrix::FieldMatrix’ names the constructor, not the type
make[3]: *** [linalg.o] Error 1
make[3]: Leaving directory `/home/novoselt/tests/Macaulay2-1.4-r12617/BUILD/normal/libraries/gfan/build/gfan0.4plus'
make[2]: *** [.compiled-0.4plus] Error 2
make[2]: Leaving directory `/home/novoselt/tests/Macaulay2-1.4-r12617/BUILD/normal/libraries/gfan'
make[1]: *** [all-in-gfan] Error 2
make[1]: Leaving directory `/home/novoselt/tests/Macaulay2-1.4-r12617/BUILD/normal/libraries'
make: *** [all-in-libraries] Error 2
make: Leaving directory `/home/novoselt/tests/Macaulay2-1.4-r12617/BUILD/normal'

comment:11 Changed 7 years ago by novoselt

I made a new spkg based on Macaulay2-1.4, so far it fails to build because of 4ti2 and gfan. Both are installed in Sage (4ti2 as optional), but not detected by M2 - I've asked M2 developers what can be done. Including these into M2 package breaks during gfan installation, so I have no idea yet how close I am to a working package.

comment:12 Changed 7 years ago by novoselt

  • Keywords sd40.5 added

Here is an spkg that tries to build (building 4ti2 and gfan is prohibited):

http://sage.math.washington.edu/home/novoselt/macaulay2-1.4-r12617.spkg

It crashes with implicit-function-declaration after several minutes into the build.

I am also experimenting with the trunk version of version 1.5, but so far I had to enable downloading extra files, these extra files are huge (27Mb for normaliz), and the build is taking forever (although it is likely to succeed - it seems to process documentation now).

comment:13 follow-up: Changed 7 years ago by novoselt

The trunk version has succeeded, although my system now has autoconf, lib(n)curses and libxml2.

comment:14 in reply to: ↑ 13 Changed 7 years ago by john_perry

Replying to novoselt:

The trunk version has succeeded, although my system now has autoconf, lib(n)curses and libxml2.

Is it possible and/or advisable to test? I'm interested in trying this out.

comment:15 follow-up: Changed 7 years ago by novoselt

Sure, here is a link:

http://sage.math.washington.edu/home/novoselt/macaulay2-1.5.spkg

Let me know if it complains about bison and flex during build - the install script does not check for them yet.

comment:16 in reply to: ↑ 15 Changed 7 years ago by john_perry

Replying to novoselt:

Sure, here is a link:

http://sage.math.washington.edu/home/novoselt/macaulay2-1.5.spkg

Let me know if it complains about bison and flex during build - the install script does not check for them yet.

I had complaints about libxml2 and yacc. I installed bison for yacc. Right now it's still building, but I'm guessing (fingers crossed) that I have everything I need.

I may leave before it quits, and it may be Thursday before I'm back in the office, but I will let you know how it turns out.

comment:17 Changed 7 years ago by novoselt

I think there is an option to build without xml, but I didn't try it yet. In any case since I was not able to build 1.4 due to errors during compilation of M2 itself, I'd like to wait till 1.5 is officially released, hopefully with proper packages for Normaliz etc. Then we can see how to cut down on dependencies.

comment:18 Changed 7 years ago by john_perry

I encountered a complaint about flex, too. Trying another rebuild...

comment:19 Changed 7 years ago by novoselt

Interesting - so this complain was late in the build process, M2 didn't detect its absence? I've updated 1.5 spkg to have checks for gdbm, 4ti2, bison, and flex spkgs. The rest of dependencies has to be dropped somehow.

comment:20 Changed 7 years ago by john_perry

  • Authors set to Andrey Novoseltsev
  • Reviewers set to John Perry

As far as I know, M2 didn't detect its absence, no. It does detect some other things.

Apparently, the build finished, but I don't see any variant of "Macaulay2" in the list of optional_packages, either in the installed section, or the uninstalled section. (i.e., when I call optional_packages() at the command line.)

If I knew how to test it out, I'd give you some more useful information. (For example, whether it crashes while using it.) I'm turning back to #12802 for a little bit, and I have some other things to do, so I'll look at it later.

BTW, what would constitute grounds for a positive review? Not just the installation, presumably, but a fairly careful amount of checking that it works, right?

comment:21 follow-up: Changed 7 years ago by novoselt

You can try to run "sage -M2" to get M2 prompt and see if it works (worked for me showing version 1.4.0.1). Also I see it in "sage -i" - the list of installed packages. Maybe to see it in optional ones it has to be registered somehow.

For a positive review you need to check that it follows guidelines here: http://sagemath.org/doc/developer/producing_spkgs.html and perhaps there are also specific guidelines for checking them. In any case this is not ready for review yet ;-)

Note also that if you just want to use M2 with Sage, you can install M2 on its own and if it is in your PATH, Sage interface should work. At least I made it work reliably with version 1.3.1 a couple years ago: #7897.

comment:22 in reply to: ↑ 21 Changed 7 years ago by john_perry

Replying to novoselt:

You can try to run "sage -M2" to get M2 prompt and see if it works (worked for me showing version 1.4.0.1).

Macaulay2, version 1.4.0.1
with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases,
               PrimaryDecomposition, ReesAlgebra, TangentCone

i1 : 

Also I see it in "sage -i" - the list of installed packages. Maybe to see it in optional ones it has to be registered somehow.

Okay, yes, I see it there.

For a positive review you need to check that it follows guidelines here: http://sagemath.org/doc/developer/producing_spkgs.html and perhaps there are also specific guidelines for checking them. In any case this is not ready for review yet ;-)

Good point about not being ready for review. :-) For future reference, it's nice to have the link. But, I would also like to try it out with more than the M2 command line; I have seen from my work in mpolynomial_ideal that there are Macaulay2 representations of polynomials as well as Singular representations, and I think CoCoA representations as well, so I'd like to try working between the groups.

Note also that if you just want to use M2 with Sage, you can install M2 on its own and if it is in your PATH, Sage interface should work. At least I made it work reliably with version 1.3.1 a couple years ago: #7897.

I might like to use M2 with sage, and I have a version installed, as I had thought of looking into this myself at one point. Thanks for the tip.

comment:23 Changed 7 years ago by novoselt

One automatic thing to try is (in Sage root)

novoselt@tx2-lmde ~/sage-5.1.beta0 $ ./sage -t -long -optional devel/sage/sage/interfaces/macaulay2.py 
sage -t -long -optional "devel/sage/sage/interfaces/macaulay2.py"
**********************************************************************
File "/home/novoselt/sage-5.1.beta0/devel/sage/sage/interfaces/macaulay2.py", line 398:
    sage: macaulay2.version() #optional
Expected:
    (1, 3, 1)
Got:
    (1, 4, 0, 1)
**********************************************************************
File "/home/novoselt/sage-5.1.beta0/devel/sage/sage/interfaces/macaulay2.py", line 575:
    sage: latex(m) #optional
Expected:
    \begin{pmatrix}1& {2}\\ {3}& {4}\\ \end{pmatrix}
Got:
    \begin{pmatrix}1& 2\\ 3& 4\\ \end{pmatrix}
**********************************************************************
File "/home/novoselt/sage-5.1.beta0/devel/sage/sage/interfaces/macaulay2.py", line 618:
    sage: R.external_string()                      #optional
Expected:
    'QQ[x..y, Degrees => {2:1}, Heft => {1}, MonomialOrder => VerticalList{MonomialSize => 32, GRevLex => {2:1}, Position => Up}, DegreeRank => 1]'
Got:
    'QQ(monoid[x..y, Degrees => {2:1}, Heft => {1}, MonomialOrder => VerticalList{MonomialSize => 32, GRevLex => {2:1}, Position => Up}, DegreeRank => 1])'
**********************************************************************
File "/home/novoselt/sage-5.1.beta0/devel/sage/sage/interfaces/macaulay2.py", line 830:
    sage: "generators" in traits     # optional
Expected:
    True
Got:
    False
**********************************************************************
4 items had failures:
   1 of   4 in __main__.example_21
   1 of   6 in __main__.example_29
   1 of   5 in __main__.example_32
   1 of   6 in __main__.example_43
***Test Failed*** 4 failures.
For whitespace errors, see the file /home/novoselt/.sage//tmp/macaulay2_19614.py
	 [12.5 s]

Which shows that things still work quite well - only the last test is not quite clear without looking at the code (and there are 144 failures without M2 available, so there are quite a few tests in that module).

If you have a separate M2 installed, be careful during review tests - if you don't have a working installation inside of Sage the system-wide will be used silently and without any difference. So it may seem that spkg is working when it does not.

On an unrelated note, it is peculiar how 1 was not in {} before but {2} was in pmatrix code. New way is more consistent and easier to read by a human, I'd like to change Sage latexing in the same way to make manual modifications of results easier...

comment:24 follow-up: Changed 7 years ago by novoselt

  • Dependencies set to #13234

comment:25 in reply to: ↑ 24 Changed 7 years ago by dimpase

Replying to novoselt: IMHO, many more spkg's need to be created to satisfy all the dependencies.

comment:26 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:27 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:28 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:29 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:30 Changed 3 years ago by leif

  • Milestone changed from sage-6.4 to sage-7.4

comment:31 Changed 3 years ago by leif

(Not sure what Authors and Reviewers means here, as there doesn't seem to be any code / patch / branch.)

"The current stable version is 1.9.2, released August, 2016."

https://github.com/Macaulay2/M2/releases/tag/version-1.9.2

comment:32 Changed 2 years ago by mderickx

  • Component changed from packages: optional to packages: experimental

comment:33 Changed 2 years ago by dimpase

  • Status changed from new to needs_review

I think this can be closed as won't fix. M2 needs many patched, for Boehm GC compatibility, packages (e.g. Flint, NTL) , and it's very bulky this way.

comment:34 Changed 2 years ago by dimpase

  • Milestone changed from sage-7.4 to sage-duplicate/invalid/wontfix
  • Status changed from needs_review to positive_review

comment:35 Changed 2 years ago by mderickx

  • Resolution set to wontfix
  • Status changed from positive_review to closed

I agree, and furthermore it is not even listed under the experimental packages anymore.

Note: See TracTickets for help on using tickets.