libiconv problems after urxvt upgrade (II)

Joerg van den Hoff j.van_den_hoff at fzd.de
Thu Mar 13 05:50:24 PDT 2008


On Thu, Mar 13, 2008 at 12:11:27PM +0100, Joerg van den Hoff wrote:
> during upgrade from urxvt8.7 to the current version I got the error message
> 
> ===================================CUT========================================
> Portfile changed since last build; discarding previous state.
> --->  Fetching libiconv
> --->  Verifying checksum(s) for libiconv
> --->  Extracting libiconv
> --->  Applying patches to libiconv
> --->  Configuring libiconv
> --->  Building libiconv with target all
> --->  Staging libiconv into destroot
> --->  Packaging tgz archive for libiconv 1.12_0+darwin_8
> --->  Deactivating libiconv 1.11_0
> Error: Deactivating libiconv 1.11_0 failed: Active version of libiconv is not 1.11_0 but 1.11_0+darwin_8.
> ===================================CUT========================================
> after which install proceded (apparently successful).
> 
> trying to start `urxvt' now throws the error:
> ===================================CUT========================================
> dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
> Referenced from: /opt/local/lib/libXft.2.dylib
> Reason: Incompatible library version: libXft.2.dylib requires version 7.0.0
> or later, but libiconv.2.dylib provides version 5.0.0 Trace/BPT trap
> ===================================CUT========================================
> 
> trying a
> 
> `sudo port deactivate libiconv at 1.11_0+darwin_8'
> 
> yielded
> ===================================CUT========================================
> Error: port deactivate failed: Registry error: libiconv not registered as
> installed & active.
> ===================================CUT========================================
> which seems inconsistent with the error message during urxvt install.
> 
> after a `sudo port activate libiconv at 1.12' now everything seems to work, but
> the above messages seems to hint at some grade of corruption of the internal state of
> port. is this the case? can I sanitize/check it somehow without purging
> everything?
> 
> I also notice that many packages appear both with
> `port list active' _and_ `port list inactive'. how can this be?
> 
> and a last question: the "active" ports are the only one in use or are 
> "inactive" ones (especially libs) secretly used by other ports? I noted
> that a tentative 
> 
>  `sudo port uninstall libiconv at 1.11_0+darwin_8'
> 
> showed me lots of ports depending on it which would need prior uninstall.
> I understand that different versions of libs are needed at the same time but
> why, then, is one declared "active" the others "inactive"?
> 
> so in short what's the difference between "active" and "inactive", especially
> for libs?
> 
> 
> joerg


hi again,

"answering" my own mail keeps it in this thread at least:

in the meantime I had to realize that `w3m' (which was complaining just as
`urxvt' before I manually activated libiconv1.12) contrary to `urxvt' is not
happy again. even a `port uninstall w3m; port clean --all w3m; port install w3m'
did not help:

when starting `w3m' now. cpu time goes to 100% but w3m never pops up. here are
the first (and last) few lines from `ktrace':

================================CUT================================================
 19806 ktrace   RET   ktrace 0
 19806 ktrace   CALL  execve(0xbfffecfc,0xbffff2e8,0xbffff2f4)
 19806 ktrace   NAMI  "/sw/bin/w3m"
 19806 ktrace   RET   execve -1 errno 2 No such file or directory
 19806 ktrace   CALL  execve(0xbfffecfc,0xbffff2e8,0xbffff2f4)
 19806 ktrace   NAMI  "/sw/sbin/w3m"
 19806 ktrace   RET   execve -1 errno 2 No such file or directory
 19806 ktrace   CALL  execve(0xbfffecfc,0xbffff2e8,0xbffff2f4)
 19806 ktrace   NAMI  "/opt/local/bin/w3m"
 19806 ktrace   NAMI  "/usr/lib/dyld"
 19806 w3m      RET   execve 0
 19806 w3m      CALL  issetugid
 19806 w3m      RET   issetugid 0
 19806 w3m      CALL  __sysctl(0xbfffed8c,0x2,0xbfffed94,0xbfffed88,0x8fe45a90,0xa)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  __sysctl(0xbfffed94,0x2,0x8fe599bc,0xbfffee38,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  __sysctl(0xbfffed8c,0x2,0xbfffed94,0xbfffed88,0x8fe45abc,0xd)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  __sysctl(0xbfffed94,0x2,0x8fe599b8,0xbfffee38,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  getpid
 19806 w3m      RET   getpid 19806/0x4d5e
 19806 w3m      CALL  __sysctl(0xbfffee40,0x3,0xbfffee38,0xbfffee3c,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  open(0x1570,0,0)
 19806 w3m      NAMI  "/opt/local/lib/libintl.8.dylib"
 19806 w3m      RET   open 3
 19806 w3m      CALL  fstat(0x3,0xbfffcd10)
 19806 w3m      RET   fstat 0
 19806 w3m      CALL  pread(0x3,0xbfffd170,0x1000,0)
 19806 w3m      GIO   fd 3 read 4096 bytes
 ...
 ...
 ...

 19806 w3m      RET   pread 4096/0x1000
 19806 w3m      CALL  shared_region_map_file_np(0x3,0x4,0xbfffbe60,0)
 19806 w3m      RET   shared_region_map_file_np 0
 19806 w3m      CALL  close(0x3)
 19806 w3m      RET   close 0
 19806 w3m      CALL  __sysctl(0xbffff19c,0x2,0xbffff198,0xbffff190,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  __sysctl(0xbffff19c,0x2,0xbffff194,0xbffff190,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  getpid
 19806 w3m      RET   getpid 19806/0x4d5e
 19806 w3m      CALL  stat(0x600a90,0xbfffe560)
 19806 w3m      NAMI  "/sw/bin/w3m"
 19806 w3m      RET   stat -1 errno 2 No such file or directory
 19806 w3m      CALL  stat(0x600a90,0xbfffe560)
 19806 w3m      NAMI  "/sw/sbin/w3m"
 19806 w3m      RET   stat -1 errno 2 No such file or directory
 19806 w3m      CALL  stat(0x600a90,0xbfffe560)
 19806 w3m      NAMI  "/opt/local/bin/w3m"
 19806 w3m      RET   stat 0
 19806 w3m      CALL  getuid
 19806 w3m      RET   getuid 501/0x1f5
 19806 w3m      CALL  __sysctl(0xbfffef4c,0x2,0xa000fc60,0xbfffef48,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      CALL  mmap(0,0x10000,0x3,0x1002,0xffffffff,0)
 19806 w3m      RET   mmap 1961984/0x1df000
 19806 w3m      CALL  mmap(0x1ef000,0x10000,0x3,0x1002,0xffffffff,0)
 19806 w3m      RET   mmap 2027520/0x1ef000
 19806 w3m      CALL  __sysctl(0xbfffef50,0x2,0xbfffef48,0xbfffef4c,0,0)
 19806 w3m      RET   __sysctl 0
 19806 w3m      PSIG  SIGINT SIG_DFL
================================CUT================================================
afaics `w3m' hangs with some kernel call(?) before I issued SIGINT

so I have a _real_ problem now... it seems somehow related to the things going
wrong first with respect to libiconv at 1.11 vs. libiconv at 1.12. but what exactly
have I messed up and, more importantly, how can I repair it?

all this is with 10.4.11 on a G5 (won't upgrade to 10.5 before X11 is fully
functional again including fullscreen mode ...)

thanks in advance

joerg



More information about the macports-users mailing list