Ticket #7130 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

libpng 1.2.35 always builds 32-bit libraries on Solaris.

Reported by: drkirkby Owned by: tbd
Priority: major Milestone: sage-4.4.4
Component: porting: Solaris Keywords:
Cc: jsp Work issues:
Report Upstream: N/A Reviewers:
Authors: David Kirkby Merged in:
Dependencies: Stopgaps:

Description

Using

  • A Sun Blade 2000 running Solaris 10 update 7
  • Sage 4.1.2.rc0
  • gcc 4.4.1
  • SAGE64 exported to "yes"

We can see that libpng is building 32-bit libraries, despite other packages are building 64-bit libraries.

libpng12.so:    ELF 32-bit MSB dynamic lib SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
libpng12.so.0:  ELF 32-bit MSB dynamic lib SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
libpng12.so.0.35.0:     ELF 32-bit MSB dynamic lib SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
libreadline.a:  current ar archive, not a dynamic executable or shared object
libreadline.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
libreadline.so.6:       ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped

Other packages building 32-bit libraries, even when SAGE64 is set to yes include, but are probably not limited to.

I will sort this package out after creating a new sage-env, which exports all the variables properly, including the flag for building 64-bit code, which is not always -m64.

Although there is no support for AIX or HP-UX in Sage yet, we could potentially add it - I personally own machines running AIX and HP-UX.

IBM's compiler on AIX uses -q64, and HP's on HP-UX uses +DD64.

The sensible way to resolve this is to add the correct flag on every platform.

Attachments

libpng.patch Download (1.6 KB) - added by drkirkby 3 years ago.

Change History

comment:1 Changed 4 years ago by drkirkby

  • Component changed from algebra to solaris

comment:2 Changed 3 years ago by drkirkby

  • Cc jsp added
  • Status changed from new to needs_review
  • Report Upstream set to N/A
  • Authors set to David Kirkby

This is a quick hack, to get this to build only with only gcc and perhaps Sun Studio, as they both take -m64. A more portable solution, which will work for any compiler will be implemented later.

 http://boxen.math.washington.edu/home/kirkby/portability/libpng-1.2.35.p0/

dave

Changed 3 years ago by drkirkby

comment:3 Changed 3 years ago by drkirkby

  • Status changed from needs_review to closed
  • Resolution set to fixed

This can be closed. The latest version of libpng (libpng-1.2.35.p2) in Sage builds fine without problems. I don't know what ticket number fixed it, but these two log entries

changeset:   13:ae01944f408c
user:        Jaap Spies <jaapspies@gmail.com>
date:        Thu Feb 04 19:32:51 2010 +0100
summary:     Corrected stupid typo I thought I had corrected earlier.

changeset:   12:329a8eb6dd2e
user:        Jaap Spies <jaapspies@gmail.com>
date:        Wed Feb 03 19:09:41 2010 +0100
summary:     Let SAGE64=yes work not only on OSX, but also on Open Solaris and possibly on other platform

As such, this can be closed as "fixed"

Note: See TracTickets for help on using tickets.