[MacPorts] #13366: libiconv universal support without
deactivating any previous version
MacPorts
trac at macosforge.org
Thu Jan 31 14:18:40 PST 2008
#13366: libiconv universal support without deactivating any previous version
-------------------------------+--------------------------------------------
Reporter: nox at macports.org | Owner: ryandesign at macports.org
Type: enhancement | Status: assigned
Priority: Normal | Milestone: Port Enhancements
Component: ports | Version:
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Comment (by ryandesign at macports.org):
I wanted to convince myself that, without your patch, there is a problem,
and that with your patch, the problem is fixed.
I tested this way. I'm using Mac OS X 10.4.11 with Xcode 2.4.1 and
MacPorts 1.7.0 from trunk r33622 on an Intel Core 2 Duo MacBook Pro. I
uninstalled libiconv. Then I installed and activated libiconv @1.12_0.
Then I edited the portfile to remove the pre-fetch warning message and
tried installing libiconv @1.12_0+universal. It failed:
{{{
---> Staging libiconv into destroot
Error: Target org.macports.destroot returned: shell command " cd
"/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/libiconv-1.12"
&& make install
DESTDIR=/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot
" returned error 2
Command output: rm -f $objects && \
mv -f libiconv.new.a libiconv.a) ;; \
esac
if test -n ""; then /usr/bin/install -c -m 644
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/.new
&& mv
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/.new
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/
; fi
cd srclib && make install prefix='/opt/local' exec_prefix='/opt/local'
libdir='/opt/local/lib'
make install-am
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
cd src && make install prefix='/opt/local' exec_prefix='/opt/local'
libdir='/opt/local/lib'
test `ls -ld . | sed -e 's/^d\(.........\).*/\1/'` = rwxrwxrwx || chmod
777 .
if [ ! -d
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/bin
] ; then /bin/sh ../build-aux/mkinstalldirs
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/bin
; fi
case "darwin8" in \
hpux*) /usr/bin/gcc-4.0 -L/opt/local/lib -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -O2 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 `if test -n ''; then
/opt/local/bin; fi` iconv.o ../srclib/libicrt.a
-L/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib
-liconv `if test -n
'/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot';
then echo " -Wl,+b -Wl,/opt/local/lib"; fi` -o iconv;; \
*) /bin/sh ../libtool --mode=link /usr/bin/gcc-4.0 -L/opt/local/lib
-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -O2
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 `if test -n
''; then /opt/local/bin; fi` iconv.o ../srclib/libicrt.a
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/libiconv.la
-o iconv;; \
esac
/usr/bin/gcc-4.0 -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -O2 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 iconv.o -o iconv
-L/opt/local/lib ../srclib/libicrt.a /opt/local/lib/libiconv.dylib
/usr/bin/ld: for architecture ppc
/usr/bin/ld: warning /opt/local/lib/libiconv.dylib cputype (7,
architecture i386) does not match cputype (18) for specified -arch flag:
ppc (file not loaded)
/usr/bin/ld: Undefined symbols:
__libiconv_version
_iconv_canonicalize
_libiconv
_libiconv_close
_libiconv_open
_libiconvctl
_libiconvlist
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccXB0zvo.out (No such file or
directory)
make[1]: *** [install] Error 1
make: *** [install] Error 2
Error: Status 1 encountered during processing.
}}}
Then I deactivated libiconv @1.12_0 and was able to install libiconv
@1.12_0+universal. So this confirms that you cannot currently install
libiconv universal if libiconv non-universal is active, which explains why
we currently have that pre-fetch warning.
Next I activated libiconv @1.12_0 again and tried to install libiconv
@1.12_0+universal again, this time using your patch. Unfortunately, the
problem seems to remain:
{{{
---> Staging libiconv into destroot
Error: Target org.macports.destroot returned: shell command " cd
"/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/libiconv-1.12"
&& make install
DESTDIR=/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot
" returned error 2
Command output: rm -f $objects && \
mv -f libiconv.new.a libiconv.a) ;; \
esac
if test -n ""; then /usr/bin/install -c -m 644
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/.new
&& mv
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/.new
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/
; fi
cd srclib && make install prefix='/opt/local' exec_prefix='/opt/local'
libdir='/opt/local/lib'
make install-am
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
cd src && make install prefix='/opt/local' exec_prefix='/opt/local'
libdir='/opt/local/lib'
test `ls -ld . | sed -e 's/^d\(.........\).*/\1/'` = rwxrwxrwx || chmod
777 .
if [ ! -d
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/bin
] ; then /bin/sh ../build-aux/mkinstalldirs
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/bin
; fi
case "darwin8" in \
hpux*) /usr/bin/gcc-4.0 -L/opt/local/lib -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -O2 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 `if test -n ''; then
/opt/local/bin; fi` iconv.o ../srclib/libicrt.a
-L/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib
-liconv `if test -n
'/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot';
then echo " -Wl,+b -Wl,/opt/local/lib"; fi` -o iconv;; \
darwin*) /usr/bin/gcc-4.0 -L/opt/local/lib -arch ppc -arch i386
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -O2 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 `if test -n ''; then
/opt/local/bin; fi` iconv.o ../srclib/libicrt.a
-L/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib
-liconv -o iconv;; \
*) /bin/sh ../libtool --mode=link /usr/bin/gcc-4.0 -L/opt/local/lib
-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -O2
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 `if test -n
''; then /opt/local/bin; fi` iconv.o ../srclib/libicrt.a
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_libiconv/work/destroot/opt/local/lib/libiconv.la
-o iconv;; \
esac
/usr/bin/ld: for architecture ppc
/usr/bin/ld: warning /opt/local/lib/libiconv.dylib cputype (7,
architecture i386) does not match cputype (18) for specified -arch flag:
ppc (file not loaded)
/usr/bin/ld: Undefined symbols:
__libiconv_version
_iconv_canonicalize
_libiconv
_libiconv_close
_libiconv_open
_libiconvctl
_libiconvlist
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccSQ6Js9.out (No such file or
directory)
make[1]: *** [install] Error 1
make: *** [install] Error 2
Error: Status 1 encountered during processing.
}}}
So it doesn't look like your patch fixes the issue. Any ideas?
--
Ticket URL: <http://trac.macosforge.org/projects/macports/ticket/13366#comment:8>
MacPorts </projects/macports>
Ports system for Mac OS
More information about the macports-tickets
mailing list