Last night I began the tedious process of manually repairing the broken symlinks. I got far enough so that before I quit for the night my gtk+2 apps were up and working, including bluefish, gimp, and xchat. This evening I took your advice, Martin, and ran the find command as you specified. It worked like a charm and I was able to reinstall the offending packages (I do keep the *.deb files). As far as I can tell, all the symlinks in /sw/lib are repaired.

But I am not out of the woods. Fink selfupdate; fink update-all indicates there are many packages to update. I'm running into problems here. The most immediate problem appears to be with pango1-xft2, upon which gtk+2 relies. Here's where things go bad:

/libpangoxft-1.0.0.dylib -compatibility_version 801 -current_version 801.1 ld: warning -dylib_install_name /sw/lib/libpangoxft-1.0.0.dylib not found in segment address table LD_SEG_ADDR_TABLE /sw/var/lib/fink/prebound/seg_addr_table
ld: warning multiple definitions of symbol _locale_charset
/sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
/sw/lib/libintl.dylib(localcharset.lo) definition of _locale_charset
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
_XftCharExists
_XftCharIndex
_XftGlyphExtents
_XftLockFace
_XftUnlockFace
_XftDrawGlyphSpec
_XftDrawPicture
_XftDrawSrcPicture
_XftGlyphSpecRender
/usr/bin/libtool: internal link edit command failed
make[4]: *** [libpangoxft-1.0.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
### execution of /var/tmp/tmp.2.KrfkpA failed, exit code 2
Removing build lock...
dpkg -r fink-buildlock-pango1-xft2-1.8.1-2
(Reading database ... 60192 files and directories currently installed.)
Removing fink-buildlock-pango1-xft2-1.8.1-2 ...
Failed: phase compiling: pango1-xft2-1.8.1-2 failed

It looks like I have the wrong version of libpangoxft-1. This is the version I have:

libpangoxft-1.0.0.600.0.dylib

Do you have any idea what may be wrong?

As for that CCC bug, I have no idea why it didn't copy the symlinks. To be fair, this is just an educated guess on my part. Here's another oddity: after I restored the backup onto my new internal HD, fink was configured to use gcc 3.1; I had to set it "back" to version 3.3. Now I have not used version 3.1 since Apple released 3.3 and I know for sure I backed up my drive several times since then, so the backup CCC made should have reflected gcc 3.3 as my default compiler. I have only two possible explanations: 1) CCC is not "cloning" my disk; some files do not get copied or 2) my internal HD was failing long before it became fatal and the backup reflects data corruption copied from the internal drive.

-Marc

On Jun 13, 2005, at 12:32 PM, Martin Costabel wrote:

Michèle Garoche wrote:
Le 12 juin 2005 à 23:59, Marc Boxerman a écrit :
fink rebuild glib2 produces the same error:

harset.a -L/sw/lib libiconv.dylib /sw/lib/libiconv.dylib /sw/lib/ libintl.dylib -install_name /sw/lib/libglib-2.0.0.dylib - compatibility_version 601 -current_version 601.4
gcc: libiconv.dylib: No such file or directory
fink rebuild libiconv, though I'm not sure it's a good idea to rebuild it since it's an essential package.

It should be sufficient to reinstall it. Marc, if you kept the *.deb files of many packages around, you could reinstall those that have broken symlinks. To find broken symlinks automatically, you can run a shell command like (one line)

find /sw/lib -type l -exec sh -c "file {} | grep broken" \;

and to find out what packages are responsible, you can put something like

 | cut -d ":" -f1 | xargs dpkg -S

behind it on the same line. This will give you a list of packages to reinstall.

But if you don't have the *.deb's around any more and would need to rebuild them, then I agree it would be faster and safer to restart from a clean slate.

P.S. I am still curious to understand how CCC can do such a thing.

--
Martin



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r _______________________________________________
Fink-beginners mailing list
Fink-beginners@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-beginners

Reply via email to