-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
Let libgap build a shared library on Cygwin #14038
Comments
comment:1
And now MPIR defines __GNU_MP_RELEASE so the __GMP_MP_RELEASE hack is not needed anymore here or in gap spkg. |
comment:2
I made #14039 to keep track of what to change for the next GAP update. |
comment:3
I've made a new spkg that includes the |
This comment has been minimized.
This comment has been minimized.
Author: Volker Braun |
comment:4
I've had a quick look at the spkg and it seems fine except there should be only one dash in front of no-undefined (not sure though putting two will break things). The spkg-install cript looks cleaner. A line for the version bump in SPKG.txt would be nice as well. It should fix things on Cygwin (I crafted my own spkg yesterday and everything went fine, see CygwinPort). |
Reviewer: Jean-Pierre Flori |
comment:5
Long-style is I made the other cosmetic changes. It doesn't break anything on Linux. After you review the spkg, the buildbot will catch anything that breaks on exotic platforms. |
comment:7
Replying to @vbraun:
Its not an ld flag its a libtool one and its definitely one dash.
|
comment:8
(And I seem to remember there should be a LIBTOOLFLAGS var or stg like that, but I don't think anyone uses is, not even sure libtool uses it itself...) |
comment:9
Why do we even need |
comment:10
Please see https://bitbucket.org/vbraun/libgap/pull-requests/1/cf-sage-trac-14038/diff |
comment:11
Replying to @dimpase:
Don't know but I feel you're right. |
comment:12
Replying to @dimpase:
so we need a Python patch for this to work on OSX. |
Dependencies: #14057 |
comment:14
Even after applying #14057 the modified libgap does not build on OSX 10.6.8.
|
comment:16
Yup Ill post a patch. |
comment:22
Could you post a log of a succesful build of libgap on your OS X somewhere? |
comment:23
Whatever, I guess that passing -no-undefined to libtool just overrides its default behavior to pass -undefined dynamic_lookup to ld on OS X. So we have two solutions:
|
comment:24
Replying to @jpflori:
indeed.
let us try to see if the latter is needed. My understanding is that currently the corresponding part of GAP functionality ( Or, perhaps, Volker knows the answer already? Perhaps he's not going to use this part of the orginal GAP code in libGAP at all? |
comment:25
Replying to @dimpase:
My understanding from e.g. this thread is that So it seems that to make this change non-OSX only, or Cygwin-only, is right. AFAIK, Volker is currently away, so you can have a go at it yourself if you have time. |
comment:26
I don't really follow you here. Even though only defining -no-undefined on Cygwin can only smoothen things, I don't think it would be a mistake to define it unconditionally, provided we correctly define environ in all situations. |
comment:27
Could you try the spkg at Just to see if using _NSGetEnviron is enough to solve our problem on OS X. |
comment:28
Replying to @jpflori:
Well, that seems to be the usual practice on OSX, to delay such resolutions to ld. If you read I just tried your new spkg, and you still have at least one place (in
|
comment:29
The spkg is updated (I've not commited anything as I don't want to deal with the external repository hell). And I still do not understand what you meant after reading all the thread. By ld do you mean run-time linking? because I don't think its ld that takes care of that. |
comment:30
Replying to @jpflori:
OK, it builds and seemingly works.
No, I think it says that the library built with the -undefined dynamic_lookup option works.
OK, here is the example:
So you see, it works with |
Work Issues: integrate changes upstream |
Changed author from Volker Braun to Volker Braun, Jean-Pierre Flori |
This comment has been minimized.
This comment has been minimized.
comment:31
Volker, would you mind integrating the changes from the last version I posted "upstream" and repackage a "proper" spkg? |
This comment has been minimized.
This comment has been minimized.
comment:33
Dima, could you give it a shot on Mac OS so that we we put it as positive review? |
Changed work issues from integrate changes upstream to none |
Changed reviewer from Jean-Pierre Flori to Jean-Pierre Flori, Dmitrii Pasechnik |
comment:34
good; works on OSX too, including the standalone test in sage/libs/gap/test/. Positive review. |
Merged: sage-5.8.beta0 |
We need to pass -no-undefined to libtool, the proper place is in libgap_la_LDFLAGS, potentially only on Cygwin and other Windows systems (have a look in GMP/MPIR/MPFR for examples), but should not hurt anyway elsewhere if added unconditionally.
(By the way the spkg-install script is terrible, does not use $MAKE, use [ ] and [[ ]], sets CXXFLAGS but does not export it...)
http://www.stp.dias.ie/~vbraun/Sage/spkg/libgap-4.5.7.p1.spkg
CC: @kcrisman @dimpase @vbraun
Component: packages: standard
Keywords: cygwin spkg libgap
Author: Volker Braun, Jean-Pierre Flori
Reviewer: Jean-Pierre Flori, Dmitrii Pasechnik
Merged: sage-5.8.beta0
Issue created by migration from https://trac.sagemath.org/ticket/14038
The text was updated successfully, but these errors were encountered: