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

Add iconv needed for Solaris, and possibly Cygwin too #8191

Closed
sagetrac-drkirkby mannequin opened this issue Feb 5, 2010 · 26 comments
Closed

Add iconv needed for Solaris, and possibly Cygwin too #8191

sagetrac-drkirkby mannequin opened this issue Feb 5, 2010 · 26 comments

Comments

@sagetrac-drkirkby
Copy link
Mannequin

sagetrac-drkirkby mannequin commented Feb 5, 2010

The latest version of R in Sage 2.10.1, needs a powerful version of iconv. The version of iconv in Solaris is not sufficiently powerful. This is documented in the 'R Installation and Administration' manual under the Solaris section.

http://cran.r-project.org/doc/manuals/R-admin.pdf

#3381 added a command line option to the configure script to disable the use of iconv.

For a long time R has been reporting messages that this option would be removed, and it would be necessary to install iconv. Well that time has come.

checking for cblas_cdotu_sub in vecLib framework... no
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for iconv... yes
checking whether iconv accepts "UTF-8", "latin1" and "UCS-*"... no
configure: error: a suitable iconv is essential
Error configuring R.

real    2m15.532s
user    0m47.020s
sys    1m9.582s
sage: An error occurred while installing r-2.10.1

So we must have an inconv package. I will create one.

It looks as though this will be needed on Cygwin also - see #7319.

CC: @mwhansen @williamstein

Component: packages: standard

Keywords: iconv solaris cygwin

Author: David Kirkby

Reviewer: Minh Van Nguyen

Merged: sage-4.3.4.alpha0

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

@sagetrac-drkirkby sagetrac-drkirkby mannequin added this to the sage-4.3.4 milestone Feb 5, 2010
@sagetrac-drkirkby sagetrac-drkirkby mannequin self-assigned this Feb 5, 2010
@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 5, 2010

comment:1

I'm cc'in Mike on this ticket, as I believe it has implications for his ticket #7319

Dave

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 14, 2010

comment:2

I've created iconv-1.13.1.spkg which is the latest release.

I have not added the Mercurial repository, as I was not exactly sure how to do it. This will need to go as a standard package, and another part of Sage will need to ensure that inconv gets built.

I've marked it as 'needs info' rather than for review, as at this stage there is no Mercurial repository. But perhaps people can test it out.

http://boxen.math.washington.edu/home/kirkby/new-packages/iconv

I've personally tested it on the following. If the self-tests are uncommented, (see spkg-install), then all tests do pass except on Solaris 10 (SPARC), where ./check-subst dumps core in both 32-bit and 64-bit mode on two separate machines.

  • sage.math Linux (defaults to 64-bit)
  • bsd.math OS X (defaults to 64-bit)
  • OpenSolaris 06/2009 on a Sun Ultra 27 (Intel Xeon processor) - 32-bit
  • OpenSolaris 06/2009 on a Sun Ultra 27 (Intel Xeon processor) - 64-bit.
  • Solaris 10 03/2005 on a Sun Blade 1000 (UltraSPARC III+ processor) - 32-bit
  • Solaris 10 03/2005 on a Sun Blade 1000 (UltraSPARC III+ processor) - 64-bit

There is still an issue with R 2.10.1 building on Solaris (SPARC), but it gets a lot further with this iconv package built. We can sort out the problems with R later. There are tons of options given to the R configure script, at least one of which is not valid. I suspect by changing the options and removing the invalid code in R's spkg-install file, then R can be made to build on Solaris.

Dave

@sagetrac-drkirkby sagetrac-drkirkby mannequin changed the title Add iconv need for Solaris, and possibly Cygwin too. Add iconv needed for Solaris, and possibly Cygwin too. Feb 14, 2010
@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 14, 2010

Work Issues: Needs Mercurial repository added

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 14, 2010

Author: David Kirkby

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

Changed work issues from Needs Mercurial repository added to none

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

comment:4

I believe the iconv package is now ready for review.

  • spkg-check has been added.
  • The Mercurial repository has been added.
  • As shown below, iconv is tested by R and found to be suitable.
Disabling libiconv support on Solaris
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for iconv... in libiconv
checking whether iconv accepts "UTF-8", "latin1" and "UCS-*"... yes
checking for iconvlist... yes
checking for iconv... yes

The message

Disabling libiconv support on Solaris

is from R's spkg-install, so needs to be removed. That is ticket #8272

It should be noted that.

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

comment:5

Oops, I forget to attach the revised spkg/install and spkg/standard/deps. I'll do that in a minute.

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

Attachment: install.gz

New $SAGE_ROOT/spkg/install to add support for the new iconv package

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

Attachment: install.diff.gz

Diff for for $SAGE_ROOT/spkg/install

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

New $SAGE_ROOT/spkg/standard/deps

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

Attachment: deps.gz

Diff file for $SAGE_ROOT/spkg/standard/deps

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 15, 2010

comment:6

Attachment: deps.diff.gz

I've attached the following two files, in addition to diffs to their originals. Neither file appear to be are under revision control, so I assume these two files will have to be manually integrated.

$SAGE_ROOT/spkg/standard/deps 
$SAGE_ROOT/spkg/install 

I've made gdmodule, Python and R all depend on iconv, as all of them check for iconv.

This is now ready for review!!!

Dave

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 17, 2010

comment:7

I'm attaching a Mercurial patch too

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 17, 2010

Mercurial patch

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 27, 2010

comment:11

Yes, well spotted. You were right to add it to #8036.

In practice however it will make no difference on Linux, Solaris or OS X as they all come with a version of iconv suitable for gd. It is only R on Solaris which needs this iconv package built, as the iconv shipped with Solaris is not suitable for building the latest versions of R.

Since Minh has already tested this on multiple machines and given it positive review, I'm reluctant to change anything now, which might delay the package getting into Sage, as it would then need reviewing again.

Delaying this getting into Sage will stop Sage working on Solaris. Whether iconv gets built before or after gd will make no difference on any supported platform.

Since #8306 will have a dependancy on this, you have already taken care of the gd dependancy, so again I think that points to the fact there is no need to change this.

Dave

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Feb 27, 2010

comment:12

Replying to @sagetrac-drkirkby:

Yes, well spotted. You were right to add it to #8036.

Oops, you were right to add it to #8306 was what I meant to write.

@sagetrac-mvngu
Copy link
Mannequin

sagetrac-mvngu mannequin commented Mar 2, 2010

apply to script repository; depends on #8307

@sagetrac-mvngu
Copy link
Mannequin

sagetrac-mvngu mannequin commented Mar 2, 2010

comment:14

Attachment: trac_8191-reviewer.patch.gz

The iconv spkg installs a binary called "iconv" to SAGE_LOCAL/bin, a directory which is under revision control. Usually, we don't put executable binaries under revision control. After installing the iconv spkg, I get this:

[mvngu@sage bin]$ hg st
? iconv

The file .hgignore needs to be configured to ignore this file. I have attached trac_8191-reviewer.patch which does this. Apply that patch to the script repository. It depends on the patch at #8307. Only my patch needs review by anyone but me.

@sagetrac-drkirkby
Copy link
Mannequin Author

sagetrac-drkirkby mannequin commented Mar 2, 2010

comment:16

Thanks Minh. Yes, that makes perfect sense. Positive review from me.

@sagetrac-mvngu
Copy link
Mannequin

sagetrac-mvngu mannequin commented Mar 2, 2010

Merged: sage-4.3.4.alpha0

@sagetrac-mvngu
Copy link
Mannequin

sagetrac-mvngu mannequin commented Mar 2, 2010

comment:17

Merged in this order:

  1. Replace current "install" under SAGE_ROOT/spkg with install.
  2. Replace current "deps" under SAGE_ROOT/spkg/standard with deps.
  3. Merged iconv-1.13.1.spkg in the standard spkg repository.
  4. Merged trac_8191-reviewer.patch in the script repository.

@sagetrac-mvngu sagetrac-mvngu mannequin changed the title Add iconv needed for Solaris, and possibly Cygwin too. Add iconv needed for Solaris, and possibly Cygwin too Mar 2, 2010
@sagetrac-mvngu sagetrac-mvngu mannequin removed the s: positive review label Mar 2, 2010
@sagetrac-mvngu sagetrac-mvngu mannequin closed this as completed Mar 2, 2010
@sagetrac-mvngu
Copy link
Mannequin

sagetrac-mvngu mannequin commented Mar 4, 2010

comment:18

Replying to @sagetrac-drkirkby:

In practice however it will make no difference on Linux, Solaris or OS X as they all come with a version of iconv suitable for gd.

Sage 4.3.4.alpha0 fails to build on a Fedora Linux system because iconv is not yet part of the dependency rule for building gd. This issue is now tracked at #8432.

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

0 participants