Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

on CYGWIN, Singular LIB files get copied to SAGELOCAL/lib #13344

Closed
dimpase opened this issue Aug 5, 2012 · 23 comments
Closed

on CYGWIN, Singular LIB files get copied to SAGELOCAL/lib #13344

dimpase opened this issue Aug 5, 2012 · 23 comments

Comments

@dimpase
Copy link
Member

dimpase commented Aug 5, 2012

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.

Depends on #13237

CC: @jpflori @alexanderdreyer

Component: porting: Cygwin

Author: Jean-Pierre Flori, Alexander Dreyer, Jeroen Demeyer

Reviewer: Dmitrii Pasechnik, Jean-Pierre Flori

Merged: sage-5.4.beta0

Issue created by migration from https://trac.sagemath.org/ticket/13344

@dimpase dimpase added this to the sage-5.3 milestone Aug 5, 2012
@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:3

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:

./mkinstalldirs /home/jp/sage-5.2/local/share/singular
mkdir /home/jp/sage-5.2/local/share/singular
for file in `pwd`/LIB/*.lib; do \
  /usr/bin/install -c -m 644  $file /home/jp/sage-5.2/local/share/singular; \
done

while make install-nolns in Singular
And then

./mkinstalldirs /home/jp/sage-5.2/local/LIB
for file in `pwd`/LIB/*.lib; do \
  /usr/bin/install -c -m 644  $file /home/jp/sage-5.2/local/LIB; \
done

while make install-libsingular in Singular.

I guess some Makefile is broken for Cygwin as in #12089.

@dimpase
Copy link
Member Author

dimpase commented Aug 5, 2012

comment:4

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.

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:5

Could you post the install logs here please?
I should have a Linux install in a few minutes, but that could be useful.

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:6

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.

@dimpase
Copy link
Member Author

dimpase commented Aug 5, 2012

comment:7

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

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:8

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?

@dimpase
Copy link
Member Author

dimpase commented Aug 5, 2012

comment:9

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

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:10

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.

@dimpase
Copy link
Member Author

dimpase commented Aug 5, 2012

comment:11

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; \
	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).

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.

@dimpase
Copy link
Member Author

dimpase commented Aug 5, 2012

comment:12

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

@alexanderdreyer
Copy link
Mannequin

alexanderdreyer mannequin commented Aug 5, 2012

comment:13

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?

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:14

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.

@alexanderdreyer
Copy link
Mannequin

alexanderdreyer mannequin commented Aug 5, 2012

comment:15

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.)

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:16

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.

@jpflori
Copy link

jpflori commented Aug 5, 2012

comment:17

I can confirm that on Linux I get an horrible LIB directory plenty of lib files :)

@jdemeyer
Copy link

jdemeyer commented Aug 6, 2012

comment:18

This should be fixed by #13237. This ticket still needs_review for the fact that #13237 fixes it.

@dimpase
Copy link
Member Author

dimpase commented Aug 6, 2012

comment:20

Replying to @jdemeyer:
I can confirm that #13237 fixes the issue on MacOSX 10.6.8.

@jpflori
Copy link

jpflori commented Aug 6, 2012

comment:21

The updated spkg installs cleanly on my Linux and Cywgin install as well.

@jpflori
Copy link

jpflori commented Aug 6, 2012

Author: Jean-Pierre Flori, Alexander Dreyer, Jeroen Demeyer

@jpflori
Copy link

jpflori commented Aug 6, 2012

comment:22

And I'm happy with the changes in the spkg related to this ticket.

@jpflori
Copy link

jpflori commented Aug 6, 2012

Reviewer: Dmitrii Pasechnik, Jean-Pierre Flori

@jdemeyer
Copy link

jdemeyer commented Aug 7, 2012

Dependencies: #13237

@jdemeyer jdemeyer removed this from the sage-5.3 milestone Aug 7, 2012
@jdemeyer jdemeyer added this to the sage-5.4 milestone Aug 17, 2012
@jdemeyer jdemeyer removed the pending label Aug 17, 2012
@jdemeyer
Copy link

jdemeyer commented Sep 3, 2012

Merged: sage-5.4.beta0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants