New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #16411 (closed defect: fixed)

Opened 18 months ago

Last modified 10 months ago

jpeg-6b_2 fails to build universal on Tiger/PPC- linking error

Reported by: cgtobi@… Owned by: waqar@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: jpeg, universal, PPC Cc: ryandesign@…, mpeters@…, mcalhoun@…, treaves@…
Port: jpeg

Description

Building jpeg on Tiger (PPC) fails with a linking error

$ sudo port install -v jpeg +universal
--->  Fetching jpeg
--->  Verifying checksum(s) for jpeg
--->  Extracting jpeg
--->  Applying patches to jpeg
--->  Configuring jpeg
--->  Building jpeg with target all
Error: Target org.macports.build returned: shell command 
" cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_jpeg/work/jpeg-6b" 
&& make all " returned error 2
Command output: _mach_init_routine
___sF
_fclose
_fopen
_fprintf
_fwrite
_getc
_sscanf
_ungetc
_fread
__DefaultRuneLocale
___maskrune
_memcpy
___tolower
_memset referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_memcpy referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
___sF referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_exit referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_fprintf referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_sprintf referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_ferror referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_fflush referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_fwrite referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_getenv referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_sscanf referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_free referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
_malloc referenced from libjpeg.62 expected to be defined in /usr/lib/libSystem.B.dylib
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccvrvWdd.out (No such file or directory)
make: *** [cjpeg] Error 1

Attachments

Portfile.diff Download (398 bytes) - added by mcalhoun@… 13 months ago.

Change History

  Changed 18 months ago by jmr@…

  • owner changed from macports-tickets@… to waqar@…

Assigning to maintainer.

  Changed 17 months ago by ryandesign@…

  • cc ryandesign@…, mpeters@… added

Has duplicate #16445.

  Changed 13 months ago by ryandesign@…

  • port set to jpeg

I can't reproduce this issue. I can successfully build jpeg universal, for all four architectures (i386 ppc x86_64 ppc64), on all four supported OSes (Tiger and Leopard, on Intel and PowerPC).

Please make sure you have the current versions of everything (Mac OS X 10.5.6 and Xcode 3.1.2, or Mac OS X 10.4.11 and Xcode 2.5, and also MacPorts 1.7.0 or later -- use sudo port selfupdate to get that). Then clean jpeg (sudo port clean jpeg) and try installing or upgrading jpeg again.

  Changed 13 months ago by mcalhoun@…

  • cc mcalhoun@… added

Cc Me!

follow-up: ↓ 6   Changed 13 months ago by mcalhoun@…

I just ran into this problem.
I tried to upgrade jpeg to get a universal build (so while jpeg was building, a non-universal /opt/local/lib/libjpeg.dylib existed).
At one point in the build process, there is the command:

/usr/bin/gcc-4.0 -L/opt/local/lib -arch ppc -arch i386 -arch ppc64 -arch x86_64 -mmacosx-version-min=10.5 -o .libs/cjpeg cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o cdjpeg.o -L.libs -ljpeg

Since -L/opt/local/lib is before -L.libs, the linker finds /opt/local/lib/libjpeg.dylib (not universal) instead of .libs/libjpeg.dylib (universal).

Attached is a proposed fix.

It is a long shot, but this may be related to #17910.
If /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
was in the library search path, then the above command might have found it as well.

Changed 13 months ago by mcalhoun@…

in reply to: ↑ 5 ; follow-up: ↓ 7   Changed 13 months ago by ryandesign@…

Replying to mcalhoun@…:

I tried to upgrade jpeg to get a universal build (so while jpeg was building, a non-universal /opt/local/lib/libjpeg.dylib existed).

Thanks for noticing this. I'll check it out.

in reply to: ↑ 6   Changed 12 months ago by ryandesign@…

Replying to ryandesign@…:

Replying to mcalhoun@…:

I tried to upgrade jpeg to get a universal build (so while jpeg was building, a non-universal /opt/local/lib/libjpeg.dylib existed).

Thanks for noticing this. I'll check it out.

This may be the same situation as in #15356.

  Changed 12 months ago by blb@…

  • cc treaves@… added

Cc reporter of dup #18528.

  Changed 12 months ago by treaves@…

Sorry for not noticing mine was a duplicate.

This seems to have been an issue for six months; any idea when a fix might be forth-comming?

  Changed 11 months ago by mcalhoun@…

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

Fixed in r47969 (maintainer timeout).

  Changed 10 months ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.