Libraries not being installed with +universal

Ryan Schmidt ryandesign at macports.org
Sun Sep 6 04:37:23 PDT 2009


On Sep 6, 2009, at 00:19, Michael_google gmail_Gersten wrote:

> Trying to reinstall a bunch of libraries. Starting with everything  
> gone ...
>
> Kleiman-ibook:trunk michael$ sudo port install gtk2 +universal
> Password:
> --->  Computing dependencies for pkgconfig
> --->  Configuring pkgconfig
> --->  Building pkgconfig
> --->  Staging pkgconfig into destroot
> --->  Installing pkgconfig @0.23_1
> --->  Activating pkgconfig @0.23_1
> --->  Cleaning pkgconfig
> --->  Computing dependencies for libiconv
> --->  Fetching libiconv
> --->  Verifying checksum(s) for libiconv
> --->  Extracting libiconv
> --->  Applying patches to libiconv
> --->  Configuring libiconv
> --->  Building libiconv
> --->  Staging libiconv into destroot
> --->  Installing libiconv @1.13_0
> --->  Activating libiconv @1.13_0
> --->  Cleaning libiconv
> --->  Computing dependencies for gettext
> --->  Fetching gettext
> --->  Verifying checksum(s) for gettext
> --->  Extracting gettext
> --->  Applying patches to gettext
> --->  Configuring gettext
> --->  Building gettext
> --->  Staging gettext into destroot
> --->  Installing gettext @0.17_4
> --->  Activating gettext @0.17_4
> --->  Cleaning gettext
> --->  Computing dependencies for glib2
> --->  Fetching glib2
> --->  Verifying checksum(s) for glib2
> --->  Extracting glib2
> --->  Applying patches to glib2
> --->  Configuring glib2
> --->  Building glib2
> --->  Staging glib2 into destroot
> --->  Installing glib2 @2.20.4_0+darwin
> --->  Activating glib2 @2.20.4_0+darwin
> --->  Cleaning glib2
> --->  Computing dependencies for zlib
> --->  Fetching zlib
> --->  Verifying checksum(s) for zlib
> --->  Extracting zlib
> --->  Applying patches to zlib
> --->  Configuring zlib
> --->  Building zlib
> --->  Staging zlib into destroot
> --->  Installing zlib @1.2.3_3
> --->  Activating zlib @1.2.3_3
> --->  Cleaning zlib
> --->  Computing dependencies for gtk2
> --->  Fetching atk
> --->  Verifying checksum(s) for atk
> --->  Extracting atk
> --->  Configuring atk
> --->  Configuring atk for architecture ppc
> --->  Configuring atk for architecture i386

I can't explain why this is happening for you. pkgconfig, libiconv,  
gettext, glib2, zlib -- they can all be built universal. They do get  
built universal when I request it. I just tried in a fresh MacPorts  
install on Snow Leopard and it works fine. I'll paste my output at the  
bottom of this email. There are differences between my output and yours:

1. Your output keeps stating "Computing dependencies for" before every  
dependency; I've only ever seen that shown as the very first line for  
the port you requested, not for the dependencies.

2. Your output starts with "Configuring pkgconfig" -- what happened to  
fetching, verifying checksums, and extracting? Maybe the port was not  
clean.

3. Your output shows these ports being installed: pkgconfig, libiconv,  
gettext, glib2, zlib, atk. My output shows many more ports and in a  
different order: expat, gperf, libiconv, ncursesw, ncurses, gettext,  
perl5.8, perl5, pkgconfig, glib2, atk, zlib, etc. Did you actually  
type "sudo port install gtk2 +universal" or did you separately install  
each port?

4. My universal build is x86_64/i386 because I am on Snow Leopard.  
Yours shows ppc/i386 so I assume you are on Leopard or Tiger? On what  
kind of computer? Are you using MacPorts 1.8.0 or some version from  
trunk? Do you have any variants specified in variants.conf? If so,  
what are they?


> pkgconfig, I can understand being non-universal -- it's needed to  
> build gtk2.
> But others in that list -- zlib, for example -- are needed to run.
> Being installed non-universal causes libpng to fail for i386 later on.
>
> I'm guessing that these are needed for pkgconfig;

"port deps pkgconfig" shows it has no dependencies at all. If it had  
any, they would have been built before pkgconfig, not after.


> since pkgconfig is a
> build dependency, it doesn't go in as +universal,

If a port has a universal variant, and you request the universal  
variant, it should get installed with the universal variant. MacPorts  
makes no distinctions here based on the type of dependency.


> and the libraries
> that it needs -- EVEN IF NEEDED BY THE OTHER STUFF -- also do not go
> in as +universal.

I have not observed that behavior before. If you specify a variant on  
the command line, or in variants.conf, any port that gets installed,  
whether directly by you or indirectly as a dependency, should use that  
variant (if applicable).


My output, after installing a fresh MacPorts in the prefix /michael  
and pointing it at my distfiles and portfiles:

$ sudo /michael/bin/port install gtk2 +universal
--->  Computing dependencies for gtk2
--->  Fetching expat
--->  Verifying checksum(s) for expat
--->  Extracting expat
--->  Configuring expat
--->  Building expat
--->  Staging expat into destroot
--->  Installing expat @2.0.1_0+universal
--->  Activating expat @2.0.1_0+universal
--->  Cleaning expat
--->  Fetching gperf
--->  Verifying checksum(s) for gperf
--->  Extracting gperf
--->  Configuring gperf
--->  Configuring gperf for architecture x86_64
--->  Configuring gperf for architecture i386
--->  Building gperf
--->  Building gperf for architecture x86_64
--->  Building gperf for architecture i386
--->  Staging gperf into destroot
--->  Staging gperf into destroot for architecture x86_64
--->  Staging gperf into destroot for architecture i386
--->  Installing gperf @3.0.4_0+universal
--->  Activating gperf @3.0.4_0+universal
--->  Cleaning gperf
--->  Fetching libiconv
--->  Verifying checksum(s) for libiconv
--->  Extracting libiconv
--->  Applying patches to libiconv
--->  Configuring libiconv
--->  Configuring libiconv for architecture x86_64
--->  Configuring libiconv for architecture i386
--->  Building libiconv
--->  Building libiconv for architecture x86_64
--->  Building libiconv for architecture i386
--->  Staging libiconv into destroot
--->  Staging libiconv into destroot for architecture x86_64
--->  Staging libiconv into destroot for architecture i386
--->  Installing libiconv @1.13_0+universal
--->  Activating libiconv @1.13_0+universal
--->  Cleaning libiconv
--->  Fetching ncursesw
--->  Verifying checksum(s) for ncursesw
--->  Extracting ncursesw
--->  Applying patches to ncursesw
--->  Configuring ncursesw
--->  Configuring ncursesw for architecture x86_64
--->  Configuring ncursesw for architecture i386
--->  Building ncursesw
--->  Building ncursesw for architecture x86_64
--->  Building ncursesw for architecture i386
--->  Staging ncursesw into destroot
--->  Staging ncursesw into destroot for architecture x86_64
--->  Staging ncursesw into destroot for architecture i386
--->  Installing ncursesw @5.7_0+darwin_10+universal
--->  Activating ncursesw @5.7_0+darwin_10+universal
--->  Cleaning ncursesw
--->  Fetching ncurses
--->  Verifying checksum(s) for ncurses
--->  Extracting ncurses
--->  Applying patches to ncurses
--->  Configuring ncurses
--->  Configuring ncurses for architecture x86_64
--->  Configuring ncurses for architecture i386
--->  Building ncurses
--->  Building ncurses for architecture x86_64
--->  Building ncurses for architecture i386
--->  Staging ncurses into destroot
--->  Staging ncurses into destroot for architecture x86_64
--->  Staging ncurses into destroot for architecture i386
--->  Installing ncurses @5.7_0+darwin_10+universal
--->  Activating ncurses @5.7_0+darwin_10+universal
--->  Cleaning ncurses
--->  Fetching gettext
--->  Verifying checksum(s) for gettext
--->  Extracting gettext
--->  Applying patches to gettext
--->  Configuring gettext
--->  Configuring gettext for architecture x86_64
--->  Configuring gettext for architecture i386
--->  Building gettext
--->  Building gettext for architecture x86_64
--->  Building gettext for architecture i386
--->  Staging gettext into destroot
--->  Staging gettext into destroot for architecture x86_64
--->  Staging gettext into destroot for architecture i386
--->  Installing gettext @0.17_4+universal
--->  Activating gettext @0.17_4+universal
--->  Cleaning gettext
--->  Fetching perl5.8
--->  Verifying checksum(s) for perl5.8
--->  Extracting perl5.8
--->  Applying patches to perl5.8
--->  Configuring perl5.8
--->  Building perl5.8
--->  Staging perl5.8 into destroot
--->  Installing perl5.8 @5.8.9_3
--->  Activating perl5.8 @5.8.9_3
--->  Cleaning perl5.8
--->  Fetching perl5
--->  Verifying checksum(s) for perl5
--->  Extracting perl5
--->  Configuring perl5
--->  Building perl5
--->  Staging perl5 into destroot
--->  Installing perl5 @5.8.9_0
--->  Activating perl5 @5.8.9_0
--->  Cleaning perl5
--->  Fetching pkgconfig
--->  Verifying checksum(s) for pkgconfig
--->  Extracting pkgconfig
--->  Configuring pkgconfig
--->  Building pkgconfig
--->  Staging pkgconfig into destroot
--->  Installing pkgconfig @0.23_1+universal
--->  Activating pkgconfig @0.23_1+universal
--->  Cleaning pkgconfig
--->  Fetching glib2
--->  Verifying checksum(s) for glib2
--->  Extracting glib2
--->  Applying patches to glib2
--->  Configuring glib2
--->  Configuring glib2 for architecture x86_64
--->  Configuring glib2 for architecture i386
--->  Building glib2
--->  Building glib2 for architecture x86_64
--->  Building glib2 for architecture i386
--->  Staging glib2 into destroot
--->  Staging glib2 into destroot for architecture x86_64
--->  Staging glib2 into destroot for architecture i386
--->  Installing glib2 @2.20.4_0+darwin+universal
--->  Activating glib2 @2.20.4_0+darwin+universal
--->  Cleaning glib2
--->  Fetching atk
--->  Verifying checksum(s) for atk
--->  Extracting atk
--->  Configuring atk
--->  Configuring atk for architecture x86_64
--->  Configuring atk for architecture i386
--->  Building atk
--->  Building atk for architecture x86_64
--->  Building atk for architecture i386
--->  Staging atk into destroot
--->  Staging atk into destroot for architecture x86_64
--->  Staging atk into destroot for architecture i386
--->  Installing atk @1.26.0_1+universal
--->  Activating atk @1.26.0_1+universal
--->  Cleaning atk
--->  Fetching zlib
--->  Verifying checksum(s) for zlib
--->  Extracting zlib
--->  Applying patches to zlib
--->  Configuring zlib
--->  Building zlib
--->  Staging zlib into destroot
--->  Installing zlib @1.2.3_3+universal
--->  Activating zlib @1.2.3_3+universal
--->  Cleaning zlib
--->  Fetching freetype
^C
$




More information about the macports-dev mailing list