#4770 closed defect (fixed)
BUG: libiconv fails to upgrade on 10.4.2
Reported by: | Martin.Buchmann@… | Owned by: | mij@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mjs@…, kayos@…, mellon85@… | |
Port: |
Description
I tried to upgrade from 1.9.2_1 to 1.10_0 via 'sudp port -d upgarde libiconv' and that's what i get:
gcc iconv.o -o iconv ../srclib/libicrt.a -L/opt/local/lib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc /usr/bin/ld: warning multiple definitions of symbol _locale_charset /opt/local/lib/libiconv.dylib(localcharset.o) definition of _locale_charset /opt/local/lib/libintl.dylib(localcharset.o) definition of _locale_charset /usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used /usr/bin/ld: warning prebinding disabled because of undefined symbols /usr/bin/ld: Undefined symbols: _iconv_canonicalize symbol _locale_charset used from dynamic library /opt/local/lib/libiconv.dylib(localcharset.o) not from earlier dynamic library /opt/local/lib/libintl.3.dylib(localcharset.o) collect2: ld returned 1 exit status make[1]: * [install] Error 1 make: * [install] Error 2
Warning: the following items did not execute (for libiconv): com.apple.destroot DEBUG: expected integer but got ""
while executing
"seek $fd $len current" Error: Unable to upgrade port: 1
Change History (17)
comment:1 Changed 19 years ago by blb@…
Owner: | changed from darwinports-bugs@… to mij@… |
---|
comment:2 Changed 19 years ago by andyfraser@…
I'm also running 10.4.2 with DarwinPorts 1.012. Here's a slightly more full output:
---> Staging libiconv into destroot
Error: Target com.apple.destroot returned: shell command "cd "/opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/libiconv-1.10" && make install DESTDIR=/opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot" returned error 2
Command output: libtool: install: warning: remember to run `libtool --finish /opt/local/lib'
if test -n ""; then /usr/bin/install -c -m 644 /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/lib/.new && mv /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/lib/.new /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_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[2]: Nothing to be done for `am--refresh'.
make install-am
make[3]: Nothing to be done for `am--refresh'.
make[4]: Nothing to be done for `am--refresh'.
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/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ; fi
if [ ! -d /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ; fi
if [ ! -d /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/bin ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/
build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/bin ; fi
case "darwin8.2.0" in \
hpux*) gcc
if test -n ''; then /opt/local/bin; fi
iconv.o ../srclib/libicrt.a -L/opt/local/var/db/
dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot/opt/local/lib -liconv -L/opt/local/lib -lintl -liconv -lc `if test -n '/opt/local/var/db/ dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot'; then echo " -Wl,+b -Wl,/opt/local/lib"; fi` -o iconv;; \
*) /bin/sh ../libtool --mode=link gcc
if test -n ''; then /opt/local/bin; fi
iconv.o ../srclib/libicrt.a /
opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot/opt/local/lib/libiconv.la -L/opt/local/lib -lintl -L/opt/local/lib -liconv -lc -R/opt/local/ lib -o iconv;; \ esac gcc iconv.o -o iconv ../srclib/libicrt.a -L/opt/local/lib /opt/local/lib/libintl.dylib /opt/local/lib/ libiconv.dylib -lc /usr/bin/ld: warning multiple definitions of symbol _locale_charset /opt/local/lib/libiconv.dylib(localcharset.o) definition of _locale_charset /opt/local/lib/libintl.dylib(localcharset.o) definition of _locale_charset /usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used /usr/bin/ld: warning prebinding disabled because of undefined symbols /usr/bin/ld: Undefined symbols: _iconv_canonicalize symbol _locale_charset used from dynamic library /opt/local/lib/libiconv.dylib(localcharset.o) not from earlier dynamic library /opt/local/lib/libintl.3.dylib(localcharset.o) collect2: ld returned 1 exit status make[1]: * [install] Error 1 make: * [install] Error 2
Error: Unable to upgrade port: 1
comment:3 Changed 19 years ago by kayos@…
Cc: | kayos@… added |
---|
comment:4 Changed 19 years ago by kayos@…
Workaround: Forcing an uninstall of libiconv before trying to upgrade libiconv will make it build and install to completion.
The problem is that libiconv builds it's own local copy of libiconv.dynlib and then uses libtool to link together a couple of other binaries. However, the path that libtool searches along includes the old, currently installed libiconv in /opt/local/lib.
So, instead of trying to link the binary with the new, local copy, it tries to link against the old library that was already installed.
comment:5 Changed 19 years ago by mjs@…
Cc: | mjs@… added |
---|
comment:6 Changed 19 years ago by cssdev@…
I can confirm that I was able to work around this bug by using "port deactivate libiconv" prior to upgrading libiconv. Perhaps the upgrade command should force deactivation prior to building the port?
comment:7 Changed 19 years ago by toby@…
Cc: | mellon85@… added |
---|
* Bug 4819 has been marked as a duplicate of this bug. *
comment:8 Changed 19 years ago by aconchillo@…
I've used the "port deactivate libiconv" workaround and still can't install the port (uninstall workaround worked fine). With deactivate I get this:
.........
*) /bin/sh ../libtool --mode=link gcc -L/opt/local/lib
if test -n ''; then /opt/local/bin; fi
iconv.o ../
srclib/libicrt.a /opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot/opt/local/lib/libiconv.la -L/opt/local/lib -lintl -L/opt/local/lib -liconv -lc -R/opt/local/ lib -o iconv;; \ esac gcc iconv.o -o iconv -L/opt/local/lib ../srclib/libicrt.a /opt/local/lib/libintl.dylib /opt/local/lib/ libiconv.dylib -lc /usr/bin/ld: warning multiple definitions of symbol _locale_charset /opt/local/lib/libiconv.dylib(localcharset.o) definition of _locale_charset /opt/local/lib/libintl.dylib(localcharset.o) definition of _locale_charset /usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used /usr/bin/ld: warning prebinding disabled because of undefined symbols /usr/bin/ld: Undefined symbols: _iconv_canonicalize symbol _locale_charset used from dynamic library /opt/local/lib/libiconv.dylib(localcharset.o) not from earlier dynamic library /opt/local/lib/libintl.3.dylib(localcharset.o) collect2: ld returned 1 exit status make[1]: * [install] Error 1 make: * [install] Error 2
Warning: the following items did not execute (for libiconv): com.apple.destroot DEBUG: expected integer but got ""
while executing
"seek $fd $len current" Error: Unable to upgrade port: 1
comment:9 Changed 19 years ago by osxdev@…
I just did a clean install on 10.4.2 (never used darwinports before). Started with the 1.0 dmg, did the selfupdate, installed a couple of things, but when I got to installing something that required libiconv, I got the same error described here, but in my case, none of the workaround work.
Here's the error :
$ sudo port install ruby
---> Staging libiconv into destroot
Error: Target com.apple.destroot returned: shell command "cd "/opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/libiconv-1.10" && make install DESTDIR=/opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot" returned error 2
Command output: libtool: install: warning: remember to run `libtool --finish /opt/local/lib'
if test -n ""; then /usr/bin/install -c -m 644 /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/lib/.new && mv /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/lib/.new /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_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[2]: Nothing to be done for `am--refresh'.
make install-am
make[3]: Nothing to be done for `am--refresh'.
make[4]: Nothing to be done for `am--refresh'.
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/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ; fi
if [ ! -d /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local ; fi
if [ ! -d /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/bin ] ; then /bin/sh ../build-aux/mkinstalldirs /opt/local/var/db/dports/
build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/
work/destroot/opt/local/bin ; fi
case "darwin8.2.0" in \
hpux*) gcc
if test -n ''; then /opt/local/bin; fi
iconv.o ../srclib/libicrt.a -L/opt/local/var/db/
dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot/opt/local/lib -liconv -L/opt/local/lib -lintl -liconv `if test -n '/opt/local/var/db/ dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot'; then echo " -Wl,+b -Wl,/opt/local/lib"; fi` -o iconv;; \
*) /bin/sh ../libtool --mode=link gcc
if test -n ''; then /opt/local/bin; fi
iconv.o ../srclib/libicrt.a /
opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_textproc_libiconv/ work/destroot/opt/local/lib/libiconv.la -L/opt/local/lib -lintl -L/opt/local/lib -liconv -R/opt/local/lib -o iconv;; \ esac gcc iconv.o -o iconv ../srclib/libicrt.a -L/opt/local/lib /opt/local/lib/libintl.dylib /opt/local/lib/ libiconv.dylib /usr/bin/ld: warning prebinding disabled because dependent library: /opt/local/lib/libintl.1.dylib is not prebound /usr/bin/ld: warning multiple definitions of symbol _locale_charset /opt/local/lib/libiconv.dylib(localcharset.lo) definition of _locale_charset /opt/local/lib/libintl.dylib(localcharset.lo) definition of _locale_charset /usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used /usr/bin/ld: Undefined symbols: _iconv_canonicalize symbol _locale_charset used from dynamic library /opt/local/lib/libiconv.dylib(localcharset.lo) not from earlier dynamic library /opt/local/lib/libintl.1.dylib(localcharset.lo) collect2: ld returned 1 exit status make[1]: * [install] Error 1 make: * [install] Error 2
Error: The following dependencies failed to build: libiconv openssl zlib
And here's me trying the workaround : $ sudo port deactivate libiconv ---> Deactivating libiconv port deactivate failed: Registry error: libiconv not registered as installed & active.
$ ls -la /opt/local/lib/libic* -rw-r--r-- 1 root 17025 1106996 Feb 20 2003 /opt/local/lib/libiconv.2.1.0.dylib lrwxr-xr-x 1 root 17025 20 Aug 3 2004 /opt/local/lib/libiconv.2.dylib -> libiconv.2.1.0.dylib lrwxr-xr-x 1 root 17025 20 Aug 3 2004 /opt/local/lib/libiconv.dylib -> libiconv.2.1.0.dylib -rw-r--r-- 1 root 17025 714 Feb 20 2003 /opt/local/lib/libiconv.la
comment:10 Changed 19 years ago by ptman (Paul Tötterman)
Short guide, which according to my experiences, works: port selfupdate port -f deinstall libiconv port clean libiconv port install libiconv
comment:12 Changed 19 years ago by purestorm@…
I got the same errors as Keith. I've now renamed by old /opt/local directory and installed DP anew. After that, I installed libiconv, gettext and things work now.
comment:13 Changed 19 years ago by mww@…
Summary: | libiconv fails to upgrade on 10.4.2 → BUG: libiconv fails to upgrade on 10.4.2 |
---|
comment:14 Changed 19 years ago by mij@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
I just made a commit that should fix this for both Panther and Tiger users (it was tested and worked on both) . Please update your ports tree and give it a try.
comment:15 Changed 19 years ago by bryan.larsen@…
I recently did a selfupdate and an upgrade -a and got the errors described within. The upgrade it was attempting was from 1.9.2_1 to 1.10_1+darwin_8. Paul Tötterman's workaround worked fine for me.
comment:16 Changed 17 years ago by nox@…
Milestone: | → Port Bugs |
---|---|
Priority: | Expected → Normal |
Version: | 1.0 |
Assigning to maintainer.