Opened 7 years ago
Closed 7 years ago
#13344 closed defect (fixed)
on CYGWIN, Singular LIB files get copied to SAGELOCAL/lib
Reported by: | dimpase | Owned by: | tbd |
---|---|---|---|
Priority: | major | Milestone: | sage-5.4 |
Component: | porting: Cygwin | Keywords: | |
Cc: | jpflori, AlexanderDreyer | Merged in: | sage-5.4.beta0 |
Authors: | Jean-Pierre Flori, Alexander Dreyer, Jeroen Demeyer | Reviewers: | Dmitrii Pasechnik, Jean-Pierre Flori |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #13237 | Stopgaps: |
Description
On CYGWIN, the Singular LIB files, i.e. files with code in Singular language, normally installed to SAGELOCAL/share/singular/
, also get copied to SAGELOCAL/lib/
. This, apart from being plainly wrong, is breaking the installation of pyOpenSSL, as mentioned in comments on #13339.
Change History (25)
comment:1 Changed 7 years ago by
- Cc jpfiori added
comment:2 Changed 7 years ago by
- Cc jpflori added; jpfiori removed
comment:3 follow-up: ↓ 4 Changed 7 years ago by
comment:4 in reply to: ↑ 3 Changed 7 years ago by
Replying to jpflori:
I agree that's wrong. did you check that everything was ok on a Linux install?
It's OK on MacOSX and on Linux.
comment:5 follow-up: ↓ 7 Changed 7 years ago by
Could you post the install logs here please? I should have a Linux install in a few minutes, but that could be useful.
comment:6 Changed 7 years ago by
The problem should be that we call
$MAKE slibdir="$SAGE_LOCAL/share/singular" install-nolns
but
$MAKE install-libsingular
although that does not explain the discrepancy between Cygwin and other systems.
comment:7 in reply to: ↑ 5 ; follow-up: ↓ 9 Changed 7 years ago by
Replying to jpflori:
Could you post the install logs here please? I should have a Linux install in a few minutes, but that could be useful.
here is a log of Linux install:
http://boxen.math.washington.edu/home/dima/tmp/singular-3-1-3-3.p6.log
comment:8 Changed 7 years ago by
And maybe make install-nolns is rerun as a dependency of make install-libsingular on Cygwin, but not on the other systems where it may be considered uptodate?
comment:9 in reply to: ↑ 7 Changed 7 years ago by
Replying to dimpase:
Replying to jpflori:
Could you post the install logs here please? I should have a Linux install in a few minutes, but that could be useful.
here is a log of Linux install:
http://boxen.math.washington.edu/home/dima/tmp/singular-3-1-3-3.p6.log
and from my (unfinished, but completed for Singular) Cygwin install: http://boxen.math.washington.edu/home/dima/tmp/singular-3-1-5.p1.log
comment:10 follow-up: ↓ 11 Changed 7 years ago by
Indeed, you only have:
g++ -shared -shared -o libsingular.so \ iparith.o mpsr_Tok.o claptmpl.o \ grammar.o scanner.o attrib.o blackbox.o eigenval_ip.o extra.o fehelp.o feOpt.o ipassign.o ipconv.o ipid.o iplib.o ipprint.o ipshell.o newstruct.o lists.o sdb.o fglm.o interpolation.o silink.o ssiLink.o subexpr.o janet.o wrapper.o libparse.o sing_win.o gms.o pcv.o maps_ip.o walk.o walk_ip.o cntrlc.o misc_ip.o calcSVD.o pipeLink.o Minor.o MinorProcessor.o MinorInterface.o bigintm.o pyobject_setup.o bbcone.o bbfan.o denom_list.o minpoly.o slInit_Dynamic.o -lkernel -L../kernel -L../factory -L../libfac -L/usr/local/src/sage/sage-5.2/local/lib -lsingfac -lsingcf -lntl -lreadline -lgmp -lomalloc ./mkinstalldirs /usr/local/src/sage/sage-5.2/local/include/singular for file in *.so; do \ /usr/bin/install -c $file /usr/local/src/sage/sage-5.2/local/lib; \ done
but that's an old spkg, I'd like to also check the later ones (I could also look into the old spkg sources but i'm lazy).
Your Cygwin log is similar to mine.
comment:11 in reply to: ↑ 10 ; follow-up: ↓ 12 Changed 7 years ago by
Replying to jpflori:
Indeed, you only have:
g++ -shared -shared -o libsingular.so \ iparith.o mpsr_Tok.o claptmpl.o \ grammar.o scanner.o attrib.o blackbox.o eigenval_ip.o extra.o fehelp.o feOpt.o ipassign.o ipconv.o ipid.o iplib.o ipprint.o ipshell.o newstruct.o lists.o sdb.o fglm.o interpolation.o silink.o ssiLink.o subexpr.o janet.o wrapper.o libparse.o sing_win.o gms.o pcv.o maps_ip.o walk.o walk_ip.o cntrlc.o misc_ip.o calcSVD.o pipeLink.o Minor.o MinorProcessor.o MinorInterface.o bigintm.o pyobject_setup.o bbcone.o bbfan.o denom_list.o minpoly.o slInit_Dynamic.o -lkernel -L../kernel -L../factory -L../libfac -L/usr/local/src/sage/sage-5.2/local/lib -lsingfac -lsingcf -lntl -lreadline -lgmp -lomalloc ./mkinstalldirs /usr/local/src/sage/sage-5.2/local/include/singular for file in *.so; do \ /usr/bin/install -c $file /usr/local/src/sage/sage-5.2/local/lib; \ donebut that's an old spkg, I'd like to also check the later ones (I could also look into the old spkg sources but i'm lazy).
I'm currently building your 3-1-5.p1 on MacOSX. I'll see what I get soon, and post the log, too.
Your Cygwin log is similar to mine.
comment:12 in reply to: ↑ 11 Changed 7 years ago by
Replying to dimpase:
I'm currently building your 3-1-5.p1 on MacOSX. I'll see what I get soon, and post the log, too.
the problem is reproducible on MacOSX, too. I got all these singular's lib-files in SAGELOCAL/lib, too
http://boxen.math.washington.edu/home/dima/tmp/singular-3-1-5.p1.macosx.log
comment:13 Changed 7 years ago by
- Cc AlexanderDreyer added
I checked the Makefile sources. Indeed, $MAKE install-libsingular
shares a dependency of $MAKE install-nolns
. Whether it will be rebuilt or not might depend on the actual make implementation, so I'll recommend to add slibdir="$SAGE_LOCAL/share/singular"
to all calls of make. (Unfortunately slibdir
is not a configurable variable.) Perhaps we should add it to $MAKE
?
comment:14 follow-up: ↓ 15 Changed 7 years ago by
Adding slibdir to the second make invocation would please me.
Adding it to MAKE seems a little bit invasive to me, although it might be the only sensible way to be sure that the share dir is correctly set when make is used (for Singular, but imagine we also happen to use make for something else... ok that's exagerated)
Too bad there is no configure option to set slibdir, maybe this is worth an upstream fix? I see that a bunch of other directories can be tweaked at configure time.
comment:15 in reply to: ↑ 14 ; follow-up: ↓ 16 Changed 7 years ago by
Replying to jpflori:
Adding slibdir to the second make invocation would please me.
Adding it to MAKE seems a little bit invasive to me, although it might be the only sensible way to be sure that the share dir is correctly set when make is used (for Singular, but imagine we also happen to use make for something else... ok that's exagerated)
Ok course, I intended to changes this locally in the spkg's spkg-install
only. If you're sure that this is enough than it's better to do it (even more locally ;-) ) in the second invocation only.
Too bad there is no configure option to set slibdir, maybe this is worth an upstream fix? I see that a bunch of other directories can be tweaked at configure time.
There is an ongoing rewrite of the building system, so this will be done anyway. (Don't beat me for a schedule, Singular refactors many things currently.)
comment:16 in reply to: ↑ 15 Changed 7 years ago by
Ok course, I intended to changes this locally in the spkg's
spkg-install
only. If you're sure that this is enough than it's better to do it (even more locally ;-) ) in the second invocation only.
Yeah I understood you wanted to do it locally, and I indeed would prefer to keep it as local as possible.
There is an ongoing rewrite of the building system, so this will be done anyway. (Don't beat me for a schedule, Singular refactors many things currently.)
Great, good luck.
comment:17 Changed 7 years ago by
I can confirm that on Linux I get an horrible LIB directory plenty of lib files :)
comment:18 Changed 7 years ago by
comment:19 follow-up: ↓ 20 Changed 7 years ago by
- Status changed from new to needs_review
comment:20 in reply to: ↑ 19 Changed 7 years ago by
comment:21 Changed 7 years ago by
The updated spkg installs cleanly on my Linux and Cywgin install as well.
comment:22 Changed 7 years ago by
- Reviewers set to Dmitrii Pasechnik, Jean-Pierre Flori
- Status changed from needs_review to positive_review
And I'm happy with the changes in the spkg related to this ticket.
comment:23 Changed 7 years ago by
- Dependencies set to #13237
- Milestone changed from sage-5.3 to sage-pending
comment:24 Changed 7 years ago by
- Milestone changed from sage-pending to sage-5.4
comment:25 Changed 7 years ago by
- Merged in set to sage-5.4.beta0
- Resolution set to fixed
- Status changed from positive_review to closed
I agree that's wrong. did you check that everything was ok on a Linux install? I won't have any at hand before tomorrow.
Quite strangely my install log says:
while make install-nolns in Singular And then
while make install-libsingular in Singular.
I guess some Makefile is broken for Cygwin as in #12089.