Forwarding onto -core, since we're now talking about modifying core packages.
-------- Original Message -------- Subject: Re: [Fink-users] Fink hangs forever (on tar) after mountain lion update Date: Fri, 29 Mar 2013 08:19:34 -0700 From: Alexander Hansen <alexanderk.han...@gmail.com> Organization: Fink Core Team To: Martin Costabel <costa...@wanadoo.fr> CC: Fink Users <fink-us...@lists.sourceforge.net> On 3/29/13 2:20 AM, Martin Costabel wrote: > On 28/03/13 18:10, Alexander Hansen wrote: > [] >> One more piece of information to work with here is that if I change my >> /tmp/sw/lib/perl5/Fink/PkgVersion.pm such that Apple's gnutar is used >> instead of Fink's then unpacking works under "su -". >> >> I wouldn't recommend that folks do this as a workaround just yet, >> though, since we've been relying on the fact that our tar can >> automatically unpack tar.xz archives without fink explicitly running xz, >> i.e. just "tar -xf package.tar.xz". Apple's gnutar doesn't know how to >> do this, even for 10.8. > > Here is another data point: > > I looked where tar is hanging, and it is in the function > _nl_locale_name_default() from libintl.8.dylib. That function, defined > in gettext-0.18.1.1/gettext-runtime/intl/localename.c, calls > CFLocaleCopyCurrent from CoreFoundation and that one goes on and tries > to read system preferences. I would guess that there is a problem > reading the system preferences for the root user. > > Anyway, when I tried and recompiled libintl.8.dylib with a modified > _nl_locale_name_default() which simply returns "C" instead of calling > CoreFoundation, tar did not hang any more. > > I am not proposing modifying libintl.8.dylib as a fix for this problem, > because I have no idea what would be the repercussions, but maybe > someone else with more insight can propose a real fix. > That narrows the issue down a lot. Thanks! It's probably too much to hope that the updated libgettext8 on the tracker will give us better results without any additional tweaking. The built-in gnutar doesn't appear to link to CoreFoundation, so maybe that's why it doesn't suffer from this issue: # otool -L /usr/bin/gnutar /usr/bin/gnutar: /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) # otool -L /sw/bin/gnutar /sw/bin/gnutar: /sw/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.18.0) /sw/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) Maybe we could have the tar package build an additional executable with reduced options (maybe stashed in a private directory like %p/opt/tar/bin/) and have fink always use that for unpacking. That seems to satisfy the "Principle of Least Surprise" by not changing users' default tar options. -- Alexander Hansen, Ph.D. Fink User Liaison My package updates: http://finkakh.wordpress.com/ ------------------------------------------------------------------------------ Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 _______________________________________________ fink-core mailing list fink-core@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.core Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-core