New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #13946 (closed defect: fixed)

Opened 7 years ago

Last modified 6 years ago

tiff-3.8.2 +universal doesn't produce working binaries on PPC machines

Reported by: dev@… Owned by: waqar@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: universal build failure Cc:
Port:

Description

I tried to build a universal version of the 'tiff' port. The build process doesn't give any errors, everything installs fine. Unfortunately the resulting binaries fail to read any TIFF file, the same is true for applications that depend on libtiff like ImageMagick. The error looks like this:

$ tiffinfo the_image.tif 
the_image.tif: Not a TIFF file, bad version number 10752 (0x2a00).

There seems to be no extensive test suite, a 'sudo make check' in the MacPorts build directory just yields:

[...]
make  check-TESTS
PASS: ascii_tag
PASS: long_tag
PASS: short_tag
PASS: strip_rw
==================
All 4 tests passed
==================
[...]

When I build the 'tiff' port without the +universal variant, everything seems to work again (although there are some warnings):

$ tiffinfo the_image.tif 
TIFFReadDirectory: Warning, the_image.tif : unknown field with tag 34858 (0x882a) encountered.
TIFF Directory at offset 0x8 (8)
  Subfile Type: (0 = 0x0)
  Image Width: 2930 Image Length: 1953
  Resolution: 150, 150 pixels/inch
  Bits/Sample: 8
  [...]

Change History

comment:1 Changed 7 years ago by dev@…

This seems to be an endianess problem and I'm not the only one to run into that, others got the same failure http://groups.google.com/group/hugin-ptx/msg/72dbefc28ba4842a . I searched the web and found http://www.dleo.de/howto/imagemagick_fuer_os_x_kompilieren with another workaround.

Unfortunately this would require patching after the configure phase if I understand it correctly. For the moment I manually applied those fixes by splitting the process into two parts. First I downloaded, extracted and configured the sources with 'sudo port configure tiff +universal'. Then I manually applied the fixes to 'tif_config.h' and 'tifconf.h'. Now I could finish it with 'sudo port install tiff +universal'.

This should probably be fixed upstream, as it's not a MacPorts related bug.

comment:2 Changed 7 years ago by ryandesign@…

  • Cc waqar@… removed
  • Owner changed from macports-tickets@… to waqar@…

Assigning to maintainer of tiff.

comment:3 Changed 7 years ago by ryandesign@…

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

No response from maintainer in > 72 hours so I committed a fix in r37397 based on the German web page linked above (redefine the constants after running ./configure). I've verified that tiffinfo now works correctly when building a universal binary on Tiger PowerPC and Tiger Intel.

"All 4 tests passed" for what that's worth. :)

I don't know what to do about your "unknown field with tag 34858" errors. I don't get that on my TIFF images, on either PowerPC or Intel.

comment:4 follow-up: ↓ 5 Changed 7 years ago by ryandesign@…

I reported the problem to the TIFF mailing list on 2008-06-06 but cannot post a link to the specific message as it hasn't shown up in their archive yet. Bob Friesenhahn's response is that autoconf 2.62 includes universal binary fixes which may fix this problem without a need to change the TIFF source.

I did test 4.0.0beta2 and it still has the problem (and is still fixed by the patch I committed).

comment:5 in reply to: ↑ 4 Changed 7 years ago by ryandesign@…

Replying to ryandesign@macports.org:

I reported the problem to the TIFF mailing list on 2008-06-06 but cannot post a link to the specific message as it hasn't shown up in their archive yet. Bob Friesenhahn's response is that autoconf 2.62 includes universal binary fixes which may fix this problem without a need to change the TIFF source.

Here's the report I wrote on the TIFF mailing list.

comment:6 Changed 6 years ago by anonymous

  • Milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.