Opened 10 years ago
Closed 10 years ago
#476 closed bug (fixed)
Singular always link to ncurses on Cygwin
Reported by: | Owned by: | somebody | |
---|---|---|---|
Priority: | major | Milestone: | 3-2-0 and higher |
Component: | singular-kernel | Version: | 3-1-5 |
Keywords: | cygwin libs ncurses termcap | Cc: |
Description
Reported at Sage's ticket #14033.
Singular/Makefile?.in does not use the configure generated NEED_LIBS but hardcoded ones which include ncurses. Therefore we cannot build Singular if let's say only termcap is available.
Change History (12)
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
At least in the 3-1-6 tarball, although the LIBS and LIBSG line changed and now include NEED_LIBS/G the inclusion of ncurses is still hardcoded.
comment:3 Changed 10 years ago by
Sorry for some of the noise here, I just remarked github did not put me on the master branch by default. In the master one, there is no switch to automake.
comment:4 Changed 10 years ago by
Just for info, using just NEED_LIBS/G there at least built fine and singular starts.
comment:5 Changed 10 years ago by
If possible could you please also experiment with the development version (spielwiese) of Singular - e.g. without ncurses and/or curses + with and without termcap (if a combination makes sense)?
comment:7 Changed 10 years ago by
I'll give spielwiese a shot.
FYI the original problem with Sage might get masked by the horrible hack from ticket #12725 on Sage's trac.
comment:8 Changed 10 years ago by
Ive just tried an install with the spielwiese sources on the same setup and it correclty detected it should link to termcap rather than ncurses. It's building now, I'll report when finished.
So the autotools build system makes the issue disappear although a simple fix as I suggested might be useful till then. I'll use it on Sage (although it might not be really needed since our hack from #12725).
comment:9 Changed 10 years ago by
Please note you should pass -no-undefined (one dash, that's a libtool flag) in the right *_la_LDFLAGS to libtool to let it build shared libraries on Cygwin. That should not be harmful unless you leave undefined symbols in your libs and rely on dynamic lookup (let's say you use extern char * * environ which is not available on Mac OS).
comment:10 follow-up: 11 Changed 10 years ago by
FYI we integrated the simple fix I proposed into Sage (although we surely don't really need it anymore since for other reasons (i.e. not fixing Python build system which would be much harder to fix than Singular's one) we copy libtermcap.a to libncurses.a which is horrible...).
And as far as I remebmber the spielwiese autotools build system mitigated this issue on Cygwin, but the build failed later for completely different reason (whereas the old pathed build system is fine). Don't really remember the details buut when you choose to integrate officially the new build system I'll surely rant again :)!
comment:11 Changed 10 years ago by
We fixed the Cygwin build system for spielwiese, so it should work now. Could you please give it another try and see if everything's fine?
comment:12 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I see that automake seems to be used in Singular git now. So the problem might be gone, testing singular 3.1.6 now.