New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #16411 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years 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 (398 bytes) - added by mcalhoun@… 4 years ago.

Change History

comment:1 Changed 5 years ago by jmr@…

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

Assigning to maintainer.

comment:2 Changed 5 years ago by ryandesign@…

  • Cc ryandesign@…, mpeters@… added

Has duplicate #16445.

comment:3 Changed 4 years 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.

comment:4 Changed 4 years ago by mcalhoun@…

  • Cc mcalhoun@… added

Cc Me!

comment:5 follow-up: ↓ 6 Changed 4 years 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 4 years ago by mcalhoun@…

comment:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 4 years 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.

comment:7 in reply to: ↑ 6 Changed 4 years 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.

comment:8 Changed 4 years ago by blb@…

  • Cc treaves@… added

Cc reporter of dup #18528.

comment:9 Changed 4 years 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?

comment:10 Changed 4 years ago by mcalhoun@…

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

Fixed in r47969 (maintainer timeout).

comment:11 Changed 4 years ago by anonymous

  • Milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.