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@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@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@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@1.11 vs. libiconv@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