Opened 9 years ago

Last modified 5 years ago

#9718 new defect

iconv fails to build on Solaris 10 x86 64-bit - host fulvia

Reported by: drkirkby Owned by: drkirkby
Priority: major Milestone: sage-6.4
Component: porting: Solaris Keywords:
Cc: jsp, jhpalmieri, leif Merged in:
Authors: Reviewers:
Report Upstream: Completely fixed; Fix reported upstream Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by drkirkby)

Using the host 'fulvia'

  • Dell Optiplex 755
  • 2.4 GHz Quad-Core Intel Core Q6600
  • 8 GB RAM
  • Solaris 10 x86 (update 5, 5/08)
  • gcc 4.5.1 configured to use the Sun linker and GNU assembler from binutils-2.20.1.
  • 64-bit build.

iconv failed to build. See the attached log file.

An identical issue was seen on disk.math using OpenSolaris, but I assumed that was because the tool set was rather old on disk.math - see #9405.

I've built iconv both 32-bit and 64-bit on several machines OK.

HardwareOSProcessorhostnamegccBitsResultNotes
Sun T5240Solaris 10 update 7 05/2009SPARCt2.math4.4.132-bitOK
Sun T5240Solaris 10 update 7 05/2009SPARCt2.math4.4.164-bitOK
Sun Blade 1000Solaris 10 03/2005SPARCredstart (mine)4.4.432-bitOK
Sun Blade 1000Solaris 10 03/2005SPARCredstart (mine)4.4.464-bitOK
Sun Fire X4540OpenSolaris 11/2008x86disk.math4.3.232-bit??
Sun Fire X4540OpenSolaris 11/2008x86disk.math4.3.264-bitFail#9405, but old tools
Dell Optiplex 755 Solaris 10 update 5 05/2008x86fulvia@skynet4.5.132-bitOK
Dell Optiplex 755 Solaris 10 update 5 05/2008x86fulvia@skynet4.5.164-bitFailThis ticket
Sun Ultra 27OpenSolaris 06/2009x86hawk (mine)4.5.132-bitOK
Sun Ultra 27OpenSolaris 06/2009x86hawk (mine)4.5.164-bitOK

With only two failures, it's difficult to be sure of any patterns, though so far:

  • iconv has only failed to build on x86 processors. It always works fine on SPARC processors.
  • iconv has only failed on 64-bit builds. So far, the few 32-bit builds have taken place on x86 hardware have all been ok.
  • iconv seems to failed on older versions of Solaris/OpenSolaris and not the more recent versions.

Dave

Attachments (3)

config.log (109.6 KB) - added by drkirkby 9 years ago.
config.log of failed build 64-bit on host 'fulvia' which runs Solaris 10 on a quad core Intel Xeon
iconv-1.13.1.p2.log (64.8 KB) - added by drkirkby 9 years ago.
Log file generated when building a 64-bit iconv on host 'fulvia', which runs Solaris 10 on an quad core Intel Xeon
iconv-1.13.1.p3.log.txt (112.8 KB) - added by drkirkby 9 years ago.
iconv now building on 'fulvia' at Skynet

Download all attachments as: .zip

Change History (15)

Changed 9 years ago by drkirkby

config.log of failed build 64-bit on host 'fulvia' which runs Solaris 10 on a quad core Intel Xeon

Changed 9 years ago by drkirkby

Log file generated when building a 64-bit iconv on host 'fulvia', which runs Solaris 10 on an quad core Intel Xeon

comment:1 Changed 9 years ago by drkirkby

  • Description modified (diff)

comment:2 Changed 9 years ago by drkirkby

  • Report Upstream changed from Not yet reported upstream; Will do shortly. to Reported upstream. Little or no feedback.

comment:3 Changed 9 years ago by drkirkby

  • Report Upstream changed from Reported upstream. Little or no feedback. to None of the above - read trac for reasoning.

I've not get any feedback from the iconv developers, but Ralf Wildenhues, a libtool developer, was most helpful when I posted this to the libtool mailing list. libtool <at> gnu.org.

With a few tricks it is possible to iconv to build the library, though it requires hacking of an auto-generated file, and to run modified commands manually, which may be difficult to implement as a Sage patch.

A failed build log, which was created outside of Sage, can be found at

http://boxen.math.washington.edu/home/kirkby/failed-Solaris-10_x86-build-of-libiconv-1.13.1.tar.bz2

Dave

comment:4 follow-up: Changed 9 years ago by drkirkby

  • Cc leif added
  • Report Upstream changed from None of the above - read trac for reasoning. to Completely fixed; Fix reported upstream

Ralf Wildenhues, who is a libtool developer kindly took a look at this for me - iconv uses libtool. The solution is to use:

CC="gcc -m64"

rather than have

CC=gcc
CFLAGS=-m64

(Of course, gcc and -m64 should not be hardcoded - use $CC and $CFLAG64 in place). But the basic problem is that setting -m64 in CLFAGS does not work for some packages, and iconv is one of them. Numpy Pynac and Libfplll are other packages which will not build properly if only CFLAGS is set.

I will add the necessary changes to #9603, which initially started off as a very small fix to install iconv on HP-UX, but has now generated into an almost complete redesign of the iconv package.

The solution Ralf found has been posted to the libtool mailing list, but I'll get it put in the iconv one too, so others hopefully don't hit this problem.

I'm cc'ing Leif, so he knows why the change will need to be made to #9603.

Dave

comment:5 in reply to: ↑ 4 ; follow-up: Changed 9 years ago by leif

Replying to drkirkby:

The solution is to use:

CC="gcc -m64"

rather than have

CC=gcc
CFLAGS=-m64

Honestly, that's well-documented in many installation instructions of packages using autoconf / automake and libtool... (libtool strips flags from CFLAGS et al., but not from CC.)

comment:6 in reply to: ↑ 5 Changed 9 years ago by drkirkby

Replying to leif:

Replying to drkirkby:

The solution is to use:

CC="gcc -m64"

rather than have

CC=gcc
CFLAGS=-m64

Honestly, that's well-documented in many installation instructions of packages using autoconf / automake and libtool... (libtool strips flags from CFLAGS et al., but not from CC.)

I have come across the problem before I must admit. Strange thing is though, this works OK on:

  • OS X 64-bit
  • Numerous Solaris systems - see above table.

I'll create a patch and add it to the HP-UX patch, #9603.

Dave

comment:7 Changed 9 years ago by drkirkby

I'm attaching a file showing this now building fully on fulvia at Skynet - the machine where iconv-1.13.1.p2 had failed before.

Since SAGE_CHECK was set to "yes", the test suite is run. Note there are 3 core dumps, but these are to be expected, and documented in messages printed to the screen.

Running the test suite.
If you see 3 core dumps, do not be too alarmed. See
http://trac.sagemath.org/sage_trac/ticket/8270
This is a Solaris bug and can be safely ignored
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6550204
It will probably be fixed in later releases of Solaris 10
It was fixed in build 66 of OpenSolaris.

As such, I consider this issue is now resolved. A patch will be attached to #9603.

Dave

Changed 9 years ago by drkirkby

iconv now building on 'fulvia' at Skynet

comment:8 Changed 9 years ago by leif

This ticket can be closed when #9603 gets merged, since the relevant patch

http://trac.sagemath.org/sage_trac/attachment/ticket/9603/9603-move-from-CFLAGS-to-CC.patch

is there (integrated into iconv-1.13.1.p3).

comment:9 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:10 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:11 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:12 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.