Opened 14 years ago

Closed 14 years ago

#24056 closed enhancement (fixed)

ghostscript doesn't have a universal variant

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: takanori@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: fracai, drkp (Dan Ports)
Port: ghostscript

Description

It would be nice if ghostscript could have a universal variant, though it's not as simple as just removing "universal_variant no" from the portfile, since that was deliberately added because the naïve universal build did not in fact work from the cross architecture; see #15437. It may be worth trying if the muniversal portgroup would help at all, or whether newer versions of ghostscript in fact already build correctly using the built-in universal variant, since #15437 was some time ago. If we can't get it to work, it probably merits an upstream bug report.

Change History (7)

comment:1 Changed 14 years ago by fracai

Cc: arno+macports@… added

Cc Me!

comment:2 Changed 14 years ago by fracai

For what it's worth. I just built a universal ghostscript by simply commenting the "universal_variant no" line.

Let me know if there are any specific tests that would be worthwhile or any other additional information.

comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

A specific test is mentioned in #15437.

comment:4 Changed 14 years ago by fracai

I ran the test listed there without issue on an Intel machine. I don't have access to PPC. Is there a way to force gs to use 32 or 64 bit?

gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -g612x792 "-sOutputFile=test.png" test.ps

comment:5 in reply to:  4 Changed 14 years ago by drkp (Dan Ports)

Cc: dports@… added

Replying to arno+macports@…:

I ran the test listed there without issue on an Intel machine. I don't have access to PPC. Is there a way to force gs to use 32 or 64 bit?

I believe arch -i386 gs (or x86_64) will do just that.

It would be great to get this fixed, because texlive-bin has to be built 32-bit with the +atsui variant. It has a runtime dependency on ghostscript, so it fails because ghostscript can't be built universal. (I don't think it actually requires a 32-bit ghostscript, but MacPorts thinks it does)

comment:6 Changed 14 years ago by fracai

Ah, nifty trick.

Unfortunately, "arch -i386 gs ..." fails with a bus error. x86_64 is fine.

And using PortGroup muniversal results with: {{{---> Staging ghostscript into destroot Error: Target org.macports.destroot returned: /Users/arno/Code/macports/development/macports/lib/libgs.8.71.dylib differs in /Users/arno/Code/macports/development/macports/var/macports/build/_Users_arno_Code_macports_development_ports_print_ghostscript/work/destroot-i386 and /Users/arno/Code/macports/development/macports/var/macports/build/_Users_arno_Code_macports_development_ports_print_ghostscript/work/destroot-x86_64 and cannot be merged}}}

comment:7 Changed 14 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

Works with muniversal, added in r70296. I tried without muniversal, but even after putting in appropriate conditional versions of the bits that differed between the different archs, the i386 half of the result still crashed for me. No idea what it's doing to achieve that.

Note: See TracTickets for help on using tickets.