[MacPorts] #21072: Cannot force a change to +universal

Ryan Schmidt ryandesign at macports.org
Fri Sep 4 14:42:40 PDT 2009


On Sep 4, 2009, at 16:11, Michael_google gmail_Gersten wrote:

>> If so, what does
>>
>>        port-rdeps -r gtkglext
>>
>> say?
>
> Dependencies of gtkglext:
>  mesa
>    xorg-glproto
>    xorg-dri2proto
>    xorg-libXfixes
>      xorg-libX11
>        xorg-libXdmcp
>          xorg-xproto
>          pkgconfig
>        xorg-libXau
>        xorg-bigreqsproto
>        xorg-xcmiscproto
>        xorg-xextproto
>        xorg-xf86bigfontproto
>        xorg-inputproto
>        xorg-kbproto
>        xorg-xtrans
>        libtool
>          automake
>            perl5
>              perl5.8
>            autoconf
>              m4
>              help2man
>                p5-locale-gettext
>                  gettext
>                    libiconv
>                      gperf
>                    ncurses
>                      ncursesw
>                    expat
>        xorg-util-macros
>      xorg-fixesproto
>    xorg-libXi
>      xorg-libXext
>    xorg-libXmu
>      xorg-libXt
>        xorg-libsm
>          xorg-libice
>    makedepend
>    glut
>    tcl
>  gtk2
>    cairo
>      libpixman
>      xrender
>        xorg-renderproto
>      fontconfig
>        freetype
>          zlib
>      libpng
>    glib2
>      python_select
>    jpeg
>    tiff
>    jasper
>    atk
>    pango
>      Xft2
>    xorg-libXrandr
>      xorg-randrproto
>    xorg-libXcursor
>    xorg-libXinerama
>      xorg-xineramaproto
>    xorg-libXdamage
>      xorg-damageproto
>    xorg-libXcomposite
>      xorg-compositeproto
>    shared-mime-info
>      libxml2
>      p5-xml-parser
>      intltool
>        p5-getopt-long
>        p5-pathtools
>        p5-scalar-list-utils
>        gnome-common

Ok, port-rdeps appears to be functioning properly.


> Wait ... libtool requires automake and autoconf? I can understand
> saying "We need these to compile", but ...

libtool needs automake to build. automake needs autoconf to build.  
They do not need these to run.

MacPorts distinguishes between different types of dependencies but  
port-rdeps does not. From the comment block at the top of the script:

# Todo:
# Does not differentiate, in output, between bin/lib/run type  
dependencies


> The Mesa library requires xorg-libXfixes; that requires xorg-libX11.
> Fine. It seems a little bloated in this case (distributing libX11,
> when it's likely already there?), but not completely unreasonable
> (different versions of what I'm assuming is a toolkit for using the X
> server).

MacPorts uses its own copy of X, not the system's. This is consistent  
with MacPorts policy of using its own software, not system software.  
This prevents problems when Apple decides to update its software, and  
also makes the MacPorts experience more consistent across different  
versions of Mac OS X. The versions of X in Tiger and Leopard are  
drastically different from one another, for example, and this was a  
frequent cause of problems before we started using X in MacPorts  
instead.


> But libX11 claims to require libtool, for creating and playing with
> archives? ... but libtool then needs to have automake and autoconf
> around to to run???

xorg-libX11 needs libtool to build only.


> And glib2 -- gnu C library -- requires python select? You need to
> change python to use the library??

Because:

http://trac.macports.org/ticket/17530


> Are those dependencies overkill?
>
>> If that works, what does
>>
>>        port echo installed and \( $(port-rdeps -r gtkglext | sed 1d)
>>
>> say?
>
> atk                            @1.26.0_1+universal
> autoconf                       @2.63_0+universal
> autoconf                       @2.64_2
> automake                       @1.10.2_0+universal
> automake                       @1.11_0+universal
> cairo                          @1.8.8_0+macosx+universal
> expat                          @2.0.1_0+universal
> fontconfig                     @2.7.1_0+macosx
> fontconfig                     @2.7.2_0+macosx
> fontconfig                     @2.7.2_0+macosx+universal
> freetype                       @2.3.8_0+macosx+universal
> freetype                       @2.3.9_0+macosx+universal
> gettext                        @0.17_4+universal
> glib2                          @2.20.4_0+darwin+universal
> gperf                          @3.0.4_0+universal
> help2man                       @1.36.4_1+universal
> jasper                         @1.900.1_4+universal
> jpeg                           @6b_3+universal
> libiconv                       @1.12_2+universal
> libiconv                       @1.13_0+universal
> libpixman                      @0.16.0_0+universal
> libpng                         @1.2.35_0+universal
> libpng                         @1.2.38_0+universal
> libtool                        @2.2.6a_0+universal
> m4                             @1.4.12_1+universal
> m4                             @1.4.13_0+universal
> ncurses                        @5.7_0+universal
> ncursesw                       @5.7_0+universal
> p5-locale-gettext              @1.05_0
> p5-locale-gettext              @1.05_0+universal
> perl5                          @5.8.9_0
> perl5.8                        @5.8.9_2
> perl5.8                        @5.8.9_3
> pkgconfig                      @0.23_1+universal
> python_select                  @0.2.1_0+darwin_9
> tcl                            @8.5.6_0+darwin
> Xft2                           @2.1.13_2
> xorg-bigreqsproto              @1.0.2_0
> xorg-bigreqsproto              @1.1.0_0
> xorg-inputproto                @1.5.0_0
> xorg-inputproto                @1.5.1_0
> xorg-kbproto                   @1.0.3_0
> xorg-libX11                    @1.2_0+universal
> xorg-libX11                    @1.2.2_0+universal
> xorg-libXau                    @1.0.4_0+universal
> xorg-libXau                    @1.0.5_0+universal
> xorg-libXdmcp                  @1.0.2_0+universal
> xorg-libXdmcp                  @1.0.2_1+universal
> xorg-libXext                   @1.0.5_0+universal
> xorg-libXext                   @1.0.99.4_1+universal
> xorg-libXrandr                 @1.2.3_0+universal
> xorg-libXrandr                 @1.3.0_1+universal
> xorg-randrproto                @1.2.1_0
> xorg-randrproto                @1.3.0_0
> xorg-renderproto               @0.9.3_0
> xorg-renderproto               @0.11_0
> xorg-util-macros               @1.2.2_0
> xorg-xcmiscproto               @1.1.2_0
> xorg-xcmiscproto               @1.2.0_0
> xorg-xextproto                 @7.0.5_0
> xorg-xextproto                 @7.1.1_0
> xorg-xf86bigfontproto          @1.1.2_0
> xorg-xf86bigfontproto          @1.2.0_0
> xorg-xproto                    @7.0.14_1
> xorg-xproto                    @7.0.15_0
> xorg-xtrans                    @1.2.3_0
> xorg-xtrans                    @1.2.4_0
> xrender                        @0.9.4_5+universal
> xrender                        @0.9.4_6+universal
> zlib                           @1.2.3_2+universal

Well it looks ok. Perhaps it's not liking multiple versions of  
individual ports installed; I didn't test with that.


> Now, I did come up with the idea of filtering out the non-universals.
>
> That lead to a file looking like:
> Kleiman-ibook:Development michael$ head Lacking2
> autoconf
> fontconfig
> fontconfig
> p5-locale-gettext
> perl5
> perl5.8
> perl5.8
> python_select
> tcl
> Xft2
>
> And a second file looking like
> Kleiman-ibook:Development michael$ head -5 Wanted
> autoconf +universal
> fontconfig +universal
> fontconfig +universal
> p5-locale-gettext +universal
> perl5 +universal
>
> And a command line looking like
> Kleiman-ibook:Development michael$ echo sudo port upgrade
> --enforce-variants `cat Wanted`
>
> which expanded to
>
> sudo port upgrade --enforce-variants autoconf +universal fontconfig
> +universal fontconfig +universal p5-locale-gettext +universal perl5
> +universal perl5.8 +universal perl5.8 +universal python_select
> +universal tcl +universal Xft2 +universal xorg-bigreqsproto +universal
> xorg-bigreqsproto +universal xorg-inputproto +universal
> xorg-inputproto +universal xorg-kbproto +universal xorg-randrproto
> +universal xorg-randrproto +universal xorg-renderproto +universal
> xorg-renderproto +universal xorg-util-macros +universal
> xorg-xcmiscproto +universal xorg-xcmiscproto +universal xorg-xextproto
> +universal xorg-xextproto +universal xorg-xf86bigfontproto +universal
> xorg-xf86bigfontproto +universal xorg-xproto +universal xorg-xproto
> +universal xorg-xtrans +universal xorg-xtrans +universal
>
> Which looks correct to me.
>
> And it works. Seems to, anyways. On the third package now.

I'm glad you got it working.




More information about the macports-dev mailing list