New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #24056 (closed enhancement: fixed)

Opened 2 years ago

Last modified 18 months ago

ghostscript doesn't have a universal variant

Reported by: ryandesign@… Owned by: takanori@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: arno+macports@…, dports@…
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

  Changed 19 months ago by arno+macports@…

  • cc arno+macports@… added

Cc Me!

  Changed 19 months ago by arno+macports@…

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.

  Changed 19 months ago by ryandesign@…

A specific test is mentioned in #15437.

follow-up: ↓ 5   Changed 19 months ago by 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?

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

in reply to: ↑ 4   Changed 19 months ago by dports@…

  • 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)

  Changed 19 months ago by arno+macports@…

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}}}

  Changed 18 months ago by jmr@…

  • status changed from new to closed
  • resolution set to fixed

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.