Ticket #19831 (closed defect: fixed)
cdparanoia-10.2 upgrade fail
| Reported by: | christophe.haro@… | Owned by: | macsforever2000@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.7.1 |
| Keywords: | Cc: | ctempleton3@…, vinc17@…, steven@… | |
| Port: | cdparanoia |
Description (last modified by blb@…) (diff)
My installation is :
Mac OS X 10.5.7 haro$ uname -a Darwin callisto.local 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386 haro$ sudo port selfupdate MacPorts base version 1.710 installed Downloaded MacPorts base version 1.710 The MacPorts installation is not outdated so it was not updated callisto:~ haro$ port list outdated cdparanoia @10.2 audio/cdparanoia
When I try to upgrade cdparanoia, I get :
callisto:~ haro$ sudo port -u upgrade outdated
---> Fetching cdparanoia
---> Attempting to fetch cdparanoia-III-10.2.src.tgz from http://arn.se.distfiles.macports.org/cdparanoia
---> Attempting to fetch cdparanoia-III-10.2.src.tgz from http://downloads.xiph.org/releases/cdparanoia
---> Verifying checksum(s) for cdparanoia
---> Extracting cdparanoia
---> Applying patches to cdparanoia
---> Configuring cdparanoia
---> Building cdparanoia
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_cdparanoia/work/cdparanoia-III-10.2" && make all " returned error 2
Command output: -o cdparanoia -lcdda_interface -lcdda_paranoia -lm
Undefined symbols:
"_cdda_version", referenced from:
_main in main.o
_main in main.o
_main in main.o
"_paranoia_cachemodel_size", referenced from:
_analyze_cache in cachetest.o
"_paranoia_version", referenced from:
_main in main.o
_main in main.o
_main in main.o
_analyze_cache in cachetest.o
"_cdda_read_timed", referenced from:
_time_drive in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
_analyze_cache in cachetest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [cdparanoia] Error 1
make: *** [all] Error 2
Error: Unable to upgrade port: 1
Attachments
Change History
comment:1 follow-ups: ↓ 2 ↓ 10 Changed 4 years ago by blb@…
- Description modified (diff)
- Port changed from cdparanoia @10.2 to cdparanoia
- Summary changed from cdparanoia upgrade fail to cdparanoia-10.2 upgrade fail
comment:2 in reply to: ↑ 1 ; follow-up: ↓ 3 Changed 4 years ago by christophe.haro@…
Replying to blb@…:
Try deactivating the currently-installed copy first, then try cleaning and installing it:
sudo port deactivate cdparanoia sudo port clean cdparanoia sudo port install cdparanoia
Ok ! That works fine ! Thanks for your help, but what was wrong ?
comment:3 in reply to: ↑ 2 ; follow-up: ↓ 8 Changed 4 years ago by blb@…
Replying to christophe.haro@…:
Thanks for your help, but what was wrong ?
Some software doesn't always build reliably when older versions of its libraries are visible; deactivating the old one hides the library and usually lets it build. Usually patching the build can keep it from failing.
comment:4 Changed 4 years ago by ctempleton3@…
I am unable to upgrade too. But I am not seeing the same error message do you want me to pen a new ticket?
$ uname -a && sudo port selfupdate && port outdated cdparanoia && sudo port deactivate cdparanoia && sudo port clean cdparanoia && sudo port insta ll cdparanoia Darwin sarah 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc Password: MacPorts base version 1.710 installed Downloaded MacPorts base version 1.710 The MacPorts installation is not outdated so it was not updated The following installed ports are outdated: cdparanoia 0.9.8_0 < 10.2_0 ---> Deactivating cdparanoia ---> Cleaning cdparanoia ---> Fetching cdparanoia ---> Verifying checksum(s) for cdparanoia ---> Extracting cdparanoia ---> Applying patches to cdparanoia ---> Configuring cdparanoia ---> Building cdparanoia Error: Target org.macports.build returned: shell command " cd "/opt/local/var/ma cports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_au dio_cdparanoia/work/cdparanoia-III-10.2" && nice -n 5 make all " returned error 2 Command output: cd paranoia && make all make libcdda_paranoia.a CFLAGS="-O2 -fsigned-char -O2" /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -c paranoia.c /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -c p_block.c /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -c overlap.c /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -c gap.c /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -c isort.c ar -r libcdda_paranoia.a paranoia.o p_block.o overlap.o gap.o isort.o ar: creating archive libcdda_paranoia.a ranlib libcdda_paranoia.a make lessmessy rm -f *.o *.t core *~ make libcdda_paranoia.dylib CFLAGS="-O2 -fsigned-char -O2 -fpic" /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -fpic -c paranoia.c paranoia.c:1: warning: -fpic is not supported; -fPIC assumed /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -fpic -c p_block.c p_block.c:1: warning: -fpic is not supported; -fPIC assumed /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -fpic -c overlap.c overlap.c:1: warning: -fpic is not supported; -fPIC assumed /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -fpic -c gap.c gap.c:1: warning: -fpic is not supported; -fPIC assumed /usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -fpic -c isort.c isort.c:1: warning: -fpic is not supported; -fPIC assumed /usr/bin/gcc-4.0 -dynamiclib -o libcdda_paranoia.0.10.2.dylib paranoia.o p_block .o overlap.o gap.o isort.o -L../interface -lcdda_interface -install_name /opt/l ocal/lib/libcdda_paranoia.0.dylib ld: common symbols not allowed with MH_DYLIB output format with the -multi_modul e option paranoia.o definition of common _paranoia_read_flags (size 4) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed make[2]: *** [libcdda_paranoia.dylib] Error 1 make[1]: *** [slib] Error 2 make: *** [all] Error 2 Error: Status 1 encountered during processing. $
comment:6 Changed 4 years ago by blb@…
The error about MH_DYLIB sounds like #19829 (which appears to happen on 10.4).
comment:8 in reply to: ↑ 3 Changed 4 years ago by vinc17@…
Replying to blb@…:
Some software doesn't always build reliably when older versions of its libraries are visible; deactivating the old one hides the library and usually lets it build. Usually patching the build can keep it from failing.
Here I suspect that the cause is that MacPorts sets LDFLAGS (the LIBRARY_PATH solution should be safer).
comment:10 in reply to: ↑ 1 Changed 4 years ago by gale@…
Replying to blb@…:
Try deactivating the currently-installed copy first, then try cleaning and installing it:
That worked for me. But my error was different on Mac OS X 10.4.11 Intel, so I'm reporting it here:
/usr/bin/gcc-4.0 -O2 -fsigned-char -O2 -L/opt/local/lib -O2 main.o report.o header.o buffering_write.o cachetest.o \
-L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_cdparanoia/work/cdparanoia-III-10.2/paranoia -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_cdparanoia/work/cdparanoia-III-10.2/interface \
-o cdparanoia -lcdda_interface -lcdda_paranoia -lm
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:
_cdda_version
_paranoia_version
_cdda_read_timed
_paranoia_cachemodel_size
_CFDataGetBytes
_CFDataGetLength
_CFDictionaryGetValue
_CFDictionarySetValue
_CFRelease
_CFStringGetCString
_IOIteratorNext
_IOMasterPort
_IOObjectRelease
_IOObjectRetain
_IORegistryEntryCreateCFProperties
_IORegistryEntryCreateCFProperty
_IOServiceGetMatchingServices
_IOServiceMatching
___CFConstantStringClassReference
_kCFAllocatorDefault
_kCFBooleanTrue
collect2: ld returned 1 exit status
make[1]: *** [cdparanoia] Error 1
make: *** [all] Error 2
Error: Unable to upgrade port: 1
comment:11 Changed 4 years ago by steven@…
Works here too! (uninstall, clean & install)
ProductName: Mac OS X ProductVersion: 10.5.7 BuildVersion: 9J61 GCC: i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)
comment:12 Changed 4 years ago by mta@…
I attached a patch that fixes this problem. This is the same as the Portfile attached to #20320 which is described as:
If you have cdparanoia-0.9.8_0 installed when you try to build version 10.2_0 the build fails since it links against ${destroot}/lib before the directories containing the dynamic libraries it just built. It would be possible to fix the Makefile to avoid this (and perhaps best to do so) but since it doesn't need anything from ${destroot}/lib the easy fix is to make it ignore it. The attached port file does this, and also drops -O2 from CFLAGS since the make file provides that in cases where it is needed and including it in CFLAGS causes it to be included inappropriately (for example in the debug target of the make file).
comment:13 Changed 4 years ago by macsforever2000@…
- Owner changed from macports-tickets@… to macsforever2000@…
- Status changed from new to assigned
comment:14 Changed 4 years ago by macsforever2000@…
- Status changed from assigned to closed
- Resolution set to fixed
Committed revision r54119. Thanks!
comment:15 Changed 4 years ago by macsforever2000@…
- Status changed from closed to reopened
- Resolution fixed deleted
I had to comment out the changes in r54120 because they require MacPorts 1.8. They can be put back in when it is released. Thanks for jmr for catching that.
comment:16 Changed 4 years ago by jmr@…
- Status changed from reopened to closed
- Resolution set to fixed


Try deactivating the currently-installed copy first, then try cleaning and installing it: