sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.44k stars 480 forks source link

Singular does not build on Cygwin - static libs problem #12089

Closed dimpase closed 12 years ago

dimpase commented 12 years ago

Singular does not build on Cygwin because libkernel and libhtmlhelp are not found. Indeed an include path which is set to ../kernel on generic systems is set to /bin on Cygwin.

Use the spkg at http://perso.telecom-paristech.fr/~flori/sage/singular-3-1-5.p1.spkg which fixes this.

Depends on #13237

Upstream: Fixed upstream, but not in a stable release.

CC: @vbraun @kcrisman @alexanderdreyer @jdemeyer

Component: packages: standard

Keywords: singular, spkg

Author: Dmitrii Pasechnik, Karl-Dieter Crisman, Jean-Pierre Flori

Reviewer: Karl-Dieter Crisman, Dmitrii Pasechnik, Jean-Pierre Flori

Merged: sage-5.4.beta0

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

dimpase commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,3 +1,4 @@
 singular-3-1-3-3.p1 does not build on Cygwin, as Singular's internal libraries libkernel and libhtmlhelp are now built as static, and they cannot be linked using the usual -l syntax. Rather, one needs to list them much like .o files.

+new spkg at [singular-3-1-3-3.p2.spkg](http://boxen.math.washington.edu/home/dima/packages/singular-3-1-3-3.p2.spkg)
dimpase commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,5 @@
 singular-3-1-3-3.p1 does not build on Cygwin, as Singular's internal libraries libkernel and libhtmlhelp are now built as static, and they cannot be linked using the usual -l syntax. Rather, one needs to list them much like .o files.

-new spkg at [singular-3-1-3-3.p2.spkg](http://boxen.math.washington.edu/home/dima/packages/singular-3-1-3-3.p2.spkg)
+A Cygwin-only  [DRAFT spkg](http://boxen.math.washington.edu/home/dima/packages/singular-3-1-3-3.p1-cygwindraft.spkg) was made by directly editing the appropriate Makefiles in src/
+This will need to be made into a proper patch.
kcrisman commented 12 years ago
comment:5

The draft package is malformed somehow.

sage: After decompressing the directory singular-3-1-3-3.p1-cygwindraft does not exist
This means that the corresponding .spkg needs to be downloaded
again.

I think you have to name the spkg the same as the folder which is compressed. I'll try renaming the folder and trying it again.

dimpase commented 12 years ago
comment:6

Replying to @kcrisman:

The draft package is malformed somehow.

sage: After decompressing the directory singular-3-1-3-3.p1-cygwindraft does not exist
This means that the corresponding .spkg needs to be downloaded
again.

I think you have to name the spkg the same as the folder which is compressed. I'll try renaming the folder and trying it again.

rather, just rename the spkg file to singular-3-1-3-3.p1.spkg

kcrisman commented 12 years ago
comment:7

This works.

$ ./sage -singular
                     SINGULAR                                 /  Development
 A Computer Algebra System for Polynomial Computations       /   version 3-1-3
                                                           0<
 by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann     \   March 2011
FB Mathematik der Universitaet, D-67653 Kaiserslautern        \
> 2+2
. ;
4

Make it a proper spkg and let's get it in.

kcrisman commented 12 years ago

Attachment: 12089-diff.patch.gz

For review purposes only

kcrisman commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,5 +1,4 @@
 singular-3-1-3-3.p1 does not build on Cygwin, as Singular's internal libraries libkernel and libhtmlhelp are now built as static, and they cannot be linked using the usual -l syntax. Rather, one needs to list them much like .o files.

-A Cygwin-only  [DRAFT spkg](http://boxen.math.washington.edu/home/dima/packages/singular-3-1-3-3.p1-cygwindraft.spkg) was made by directly editing the appropriate Makefiles in src/
-This will need to be made into a proper patch.
+Spkg is available at [singular-3-1-3-3.p2.spkg](http://sage.math.washington.edu/home/kcrisman/singular-3-1-3-3.p2.spkg).
kcrisman commented 12 years ago

Reviewer: Karl-Dieter Crisman, Dmitrii Pasechnik

kcrisman commented 12 years ago

Author: Dmitrii Pasechnik, Karl-Dieter Crisman

kcrisman commented 12 years ago
comment:8

I've done exactly that same thing in making spkgs before! Spkg is updated at singular-3-1-3-3.p2.spkg. The new patch only is applied on Cygwin. Diff attached for reference in review.

Dima, I'll test this just now, but if it builds, then I think it would just require you to sign off on it.

Dima or Volker or someone, can you report this upstream?

jpflori commented 12 years ago
comment:9

I don't really agree with the solution developed here.

My guess is that the Makefile.in is just broken because a -L../kernel on generic system got transformed into -L/bin.

I'll post an updated spkg based on the updated Singular spkg by Jeroen at #13237 with that approach when my new build on Cygwin fails at Singular. I'll report upstream as well.

jpflori commented 12 years ago
comment:10

You can try the spkg available at: http://perso.telecom-paristech.fr/~flori/sage/singular-3-1-5.p1.spkg

As it is based on the spkg from #13237 which has uncommitted changes, I've not committed anything yet either. However I'll attached the diffs here.

jpflori commented 12 years ago

Attachment: p0-p1.diff.gz

Diff between the p0 and p1 spkgs, for review only.

jpflori commented 12 years ago

Changed reviewer from Karl-Dieter Crisman, Dmitrii Pasechnik to Karl-Dieter Crisman, Dmitrii Pasechnik, Jean-Pierre Flori

jpflori commented 12 years ago

Changed author from Dmitrii Pasechnik, Karl-Dieter Crisman to Dmitrii Pasechnik, Karl-Dieter Crisman, Jean-Pierre Flori

jpflori commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,6 @@
-singular-3-1-3-3.p1 does not build on Cygwin, as Singular's internal libraries libkernel and libhtmlhelp are now built as static, and they cannot be linked using the usual -l syntax. Rather, one needs to list them much like .o files.
+Singular does not build on Cygwin because libkernel and libhtmlhelp are not found.
+Indeed an include path which is set to ../kernel on generic systems is set to /bin on Cygwin.

-Spkg is available at [singular-3-1-3-3.p2.spkg](http://sage.math.washington.edu/home/kcrisman/singular-3-1-3-3.p2.spkg).
-
+Use the spkg at
+http://perso.telecom-paristech.fr/~flori/sage/singular-3-1-5.p1.spkg
+which fixes this.
jpflori commented 12 years ago

Changed keywords from singular to singular, spkg

jpflori commented 12 years ago

Dependencies: #12327

jpflori commented 12 years ago

Changed dependencies from #12327 to #13237

jpflori commented 12 years ago

Changed upstream from Not yet reported upstream; Will do shortly. to Reported upstream. No feedback yet.

d46d2cb1-860f-484d-8329-8ebfc9f5d004 commented 12 years ago
comment:14

There will be a likewise patch upstream, see here: https://github.com/alexanderdreyer/SingularSources/commit/7902222c6e73d452b3d75576bd9bc0140f5e827a Despite the slight differences I can get a positive review for your patch. (Edit: Sorry, wrong link! Fixed now.)

d46d2cb1-860f-484d-8329-8ebfc9f5d004 commented 12 years ago

Changed upstream from Reported upstream. No feedback yet. to Fixed upstream, but not in a stable release.

jpflori commented 12 years ago
comment:15

Thanks, the updated link makes more sense :)

We could also close this ticket and directly integrate your patch into Jeroen spkg from #13237 (which already includes other patches from singular trac/your github(? don't know the relation between them)). Anyway, even if we don't, we'll have for Jeroen skpg to get positive review.

jdemeyer commented 12 years ago
comment:16

I guess adding one more patch to #13237 doesn't hurt...

d46d2cb1-860f-484d-8329-8ebfc9f5d004 commented 12 years ago
comment:17

Replying to @jdemeyer:

I guess adding one more patch to #13237 doesn't hurt...

I think I can give the spkg changes in #13237 immediately, after that patch was added. For this sage library patch, I'll have to take a closer look.

jdemeyer commented 12 years ago
comment:18

(never mind, wrong ticket)

jdemeyer commented 12 years ago
comment:19

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

jpflori commented 12 years ago
comment:20

This is indeed fixed on Cygwin and still builds on Linux (Ubuntu 12.04 x86_64). So positive review.

jdemeyer commented 12 years ago

Merged: sage-5.4.beta0