Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#16411 closed defect (fixed)

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 (Ryan Carsten Schmidt), mpeters@…, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), 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 (1)

Portfile.diff (398 bytes) - added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) 16 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 16 years ago by jmroot (Joshua Root)

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

Assigning to maintainer.

comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… mpeters@… added

Has duplicate #16445.

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

Port: jpeg added

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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:5 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attachment: Portfile.diff added

comment:6 in reply to:  5 ; Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

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 16 years ago by ryandesign (Ryan Carsten Schmidt)

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 16 years ago by blb@…

Cc: treaves@… added

Cc reporter of dup #18528.

comment:9 Changed 16 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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

Fixed in r47969 (maintainer timeout).

comment:11 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.