- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 567
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
Change iconv so it builds on Cygwin and Solaris only #8567
Comments
comment:1
--with-libiconv-prefix=SAGE_LOCAL does not work for me on Fedora 12 64 bit.
Jaap |
comment:2
moving /usr/bin/iconv and /usr/include/iconv.h out of the way made it possible to build So nothing wrong with the libiconv in SAGE_LOCAL Jaap |
Replying to @sagetrac-drkirkby:
First of all I have the same problem on Gentoo. Ther is also a report of someone having the same problem on Mandriva. I manage to get it work by the following workaround:
by
in spkg-install. I've no idea how robust this workaround is. I posted a spkg with the fix. Florent |
comment:4
By the way, in spkg-install, I think it should say "--with-x=no" rather than "--without-x", and the same for jpeg and xpm. |
comment:5
Replying to @hivert:
Sorry ! This spkg is completely broken... I'm trying to put a working one. Florent |
comment:6
Don't put an spkg as attachment! Please give a link to the spkg. Jaap |
comment:7
Replying to @jaapspies:
Oops sorry ! My workaround does work actually. I find out that python distutils have the same problems much later... |
comment:8
This doesn't help on these systems (output from uname -a):
I also don't know why it's about 50% bigger than the previous spkg. |
comment:9
In Fedora 12 x86_64 the installation of libiconv is not complete:
Jaap |
comment:10
I maybe manage to have something working by a hack. Could someone try the following spkg: |
comment:11
That appears to work on the two systems I mentioned before. I'll know for sure when a full Sage build is completed... |
comment:12
Replying to @hivert:
I've got no idea if setting LIBICOV shoudl be set, but if it is, the way to do it should be:
and not
Dave |
comment:13
Replying to @jaapspies:
Jaap, is that a typo in the trac ticket, or was it in the package? There should be a $ sign in front if SAGE_LOCAL. |
comment:14
If this gets too much of a mess, we could consider creating a ticket to get the R package reverted to the older version. I've cc'ed Karl-Dieter Crisman who updated R, whilst ignoring the warning from the configure script and not testing on Solaris. Hopefully iconv can be sorted out, but if it can't be done properly, then reverting the R version is always an option, then iconv will not be needed. We could change iconv's spkg-install to simply exit with an exit code of 0. That would make it relatively easy to do, whilst leaving iconv in Sage to allow it to be sorted out properly prior to updating R. Dave |
This comment has been minimized.
This comment has been minimized.
comment:15
For me, the Sage build completed, but the documentation won't build because Sage doesn't start successfully:
Running
right before running Sage doesn't help. |
comment:16
Replying to @jaapspies:
I had a discussion with a libtool developer about a similar issue once before. He said it is wrong to have two copies of a library, so the problem may be more fundamental. However, it is strange gd ignores the option to look for iconv in $SAGE_LOCAL. One disadvantage of reverting R and not installing iconv is that iconv is needed to build gd on Cygwin, and there is effort into porting Sage to Cygwin. We could consider only installing iconv on Solaris and Cygwin, though I'm tempted to suggest reverting R and getting the problem solved properly at a later date, rather than a hack now. Dave |
comment:17
Replying to @jhpalmieri:
I got the same behavior on openSuSE 11.1 and Gentoo 1.12.9 both x86_64. The build appears to be complete but sage itself is broken. I don't know what to do and I've no more time to investigate. My vote is to revert R, remove gd and make as soon as possible a fix release until this is sorted out. We can't seriously make a release which is broken on half the distro. |
comment:18
Replying to @sagetrac-drkirkby:
I'm not so sure anymore I didn't make another typo in spkg-install. I'll try again. Jaap |
comment:19
Another way to solve the fallout from updating R, will probably be to add
to the top of the iconv spkg-install file. That's probably the simplest hack. This is untested and I don't have time to do this until around 2100 GMT today, so if someone beats me to it, go ahead and try it. Make sure it is tested on both Solaris and Linux. It should build iconv on Solaris, but not on Linux Dave |
comment:20
About iconv(): according to the man pages the function is part of glibc
So for most systems there is no need to have a local libiconv! Jaap |
comment:21
Replying to @sagetrac-drkirkby:
This probably will cause trouble on Open Solaris. Jaap |
comment:22
Replying to @sagetrac-drkirkby:
Yes, I definitely prefer this way, too. The OpenSolaris topic may be solved later (what does $UNAME give there as output?), and it might be nice to remove any leftovers in "$SAGE_ROOT/bin/" from earlier (especially v3.4.3) Sage installs. Which might be tricky in a "Sage upgrade" use case. But never mind, the road to go is clear now! Cheers, |
comment:24
Jaap, I don't have time to test it now (really am tied up), but if you can test on OpenSolaris, then make a decision whether iconv needs installing or not.
on Solaris 10, and
on OpenSolaris (aka Solaris 11). So just put an additional clause if needed. The -r option to uname is POSIX, so we can rely on that. Don't use 'uname -p' since
Also worth checking, in preference to this are whether the version of 'gd' in Sage is old and furthermore the 'gd' developers have fixed the bug that prevents '--with-libiconv-prefix' working properly. If so, consider updating gd. Had R been properly tested, none of this would have been necessary. When I wrote the iconv package, it clears out debris, like libraries and binaries, so there should be no need to do that again - just make sure the cleaning up is done before exiting. Since Jaap and I are looking to port Sage to OpenSolaris, we are not keen to introduce more problems for the future. Let's sort it out now. Dave |
comment:25
Replying to @sagetrac-drkirkby:
Opensolaris has it's own iconv included in glibc.
Yes we should put an extra test in
Ok.
Let's go for the proposed option and leave alone the gd package for the moment.
You are repeating your self :-)! My proposal is you update the iconv spkg and I and evt. others review it. I think we can wait some more hours. Jaap |
comment:26
Replying to @sagetrac-drkirkby:
Informally (that is, I threw together a quick spkg), this works on at least one of the linux boxes I had troubles with before, and it also works on sage.math. I haven't tested it on Solaris, and I probably won't have time to; I don't have access to a Windows/Cygwin machine. I would suggest that the spkg-install file actually say
Or something like that -- I'm not sure exactly what the message should say. |
comment:27
Replying to @jhpalmieri:
The ";" should be before "then"..
I'm trying this on gentoo and it seems to work... I'm waiting for the build to finish. Florent |
This comment has been minimized.
This comment has been minimized.
comment:28
I've change the title and description and are in the process of creating a package for others to review. |
Author: David Kirkby |
comment:29
I've stuck a package here: http://sage.math.washington.edu/home/kirkby/iconv/iconv-1.13.1.p0.spkg |
comment:30
Replying to @sagetrac-drkirkby:
I'll try it asap. Jaap |
Mercurial patch to ensure iconv builds on Solaris and Cygwin only |
comment:31
Attachment: iconv.patch.gz I've not tested this extensively, but it builds on Solaris and hopefully does not on Linux. I don't have time to do much testing, so others can. I don't have a Cygwin system set up. |
comment:32
Removing old iconv files if they exist real 0m0.078
This looks ok for me on Fedora (Linux in general?) The Opensolaris issue is not resolved, but I think this deserves a positive review. Jaap |
Reviewer: Jaap Spies |
comment:34
With the spkg here, from a fresh Sage source:
Thanks |
Changed reviewer from Jaap Spies to Jaap Spies, Florent Hivert |
comment:35
Replying to @hivert:
My build finished successful, so let's do it! I leave it to you to give the positive review. Jaap |
comment:36
Replying to @jaapspies:
Mine too on openSuSE and gentoo. I'm ready to give positive review but should it be tested on Cygwin ? Unfortunately, I've no access to this kind of machine. Cheers, Florent |
comment:37
Replying to @hivert:
Please do! There is no change in SunOS and Cygwin. In both cases iconv spkg will be build as before. Jaap |
comment:39
Merged into sage-4.3.5. |
Merged: sage-4.3.5 |
comment:42
[deleted spam] |
Since iconv was added to Sage (#8432) as a standard package (needed due to Karl-Dieter Crisman updating R in #6532 whilst overlooking the warning message from the configure script and without testing on Solaris), there have been some problems on Fedora and OpenSuse which look to be related to problems building gd when there are two copies of iconv to be found on the system. Since there is an option to gd's configure script specify the location of the iconv that seemed the most logical option. However, that did not work, so changing iconv to only build on Cygwin and Solaris seemed the most logical.
Dave
CC: @kcrisman
Component: build
Author: David Kirkby
Reviewer: Jaap Spies, Florent Hivert
Merged: sage-4.3.5
Issue created by migration from https://trac.sagemath.org/ticket/8567
The text was updated successfully, but these errors were encountered: