#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)
Change History (12)
comment:1 Changed 16 years ago by jmroot (Joshua Root)
Owner: | changed from macports-tickets@… to waqar@… |
---|
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 follow-up: 6 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 follow-up: 7 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 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: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: | new → closed |
Fixed in r47969 (maintainer timeout).
Assigning to maintainer.