Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
multilib-overlay
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3, 4, 5, 6, 7  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sat Oct 25, 2008 1:14 pm    Post subject: multilib-overlay Reply with quote

i have a
Code:
05:00.0 VGA compatible controller: ATI Technologies Inc RV530LE [Radeon X1600/X1650 PRO]

and use a up-to-date ~ system on a amd64 installation. that means: gentoo-sources-2.6.27-r1, xorg-server-1.5.2, xf86-video-ati-6.9.0 and mesa-7.2.
i get "direct rendering: Yes", nice glxgears counts (yes, i know that means nothing) and games like tuxracer work.
but most programs claim on start:
Code:
unknown chip id 0x71c6, can't guess.
libGL warning: 3D driver returned no fbconfigs.
libGL error: InitDriver failed
libGL error: reverting to (slow) indirect rendering

now i searched on the interwebs and found a hint saying i could add my card in "src/mesa/drivers/dri/radeon/radeon_chipset.h" and recompile to get it working.
i opened the file and found out that my card is already there
Code:
% grep -i "0x71c6" radeon_chipset.h
#define PCI_CHIP_RV530_71C6             0x71C6
%

now, what is the problem? a bug? upper-lower-case?
any hints welcome,
thanks in advance.


Last edited by alex.blackbit on Fri Mar 06, 2009 10:59 pm; edited 1 time in total
Back to top
View user's profile Send private message
notHerbert
Advocate
Advocate


Joined: 11 Mar 2008
Posts: 2228
Location: 45N 73W

PostPosted: Sat Oct 25, 2008 11:16 pm    Post subject: Reply with quote

It could be a bug in the driver. I've seen some workarounds by symlinking the driver to /usr/lib/dri/

Code:
ln -s /usr/lib/xorg/modules/dri/<whatever>.so /usr/lib/dri/<whatever>.so


Maybe, :P
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sun Oct 26, 2008 10:16 am    Post subject: Reply with quote

thanks for your reply, notHerbert.

i am not sure what exactly your idea is. here is the content of my dri directories:
Code:
% ls -l /usr/lib/xorg/modules/drivers
total 1.3M
-rwxr-xr-x 1 root root  10K Oct 25 13:37 ati_drv.so
-rwxr-xr-x 1 root root 567K Oct 25 13:37 radeon_drv.so
-rwxr-xr-x 1 root root 417K Oct 25 13:40 radeonhd_drv.so
-rwxr-xr-x 1 root root  27K Oct 25 13:40 vesa_drv.so
-rwxr-xr-x 1 root root 221K Oct 25 13:42 xgi_drv.so
% ls -l /usr/lib/dri
total 8.6M
-rwxr-xr-x 1 root root 2.3M Oct 25 13:27 r200_dri.so
-rwxr-xr-x 1 root root 2.2M Oct 25 13:27 r300_dri.so
-rwxr-xr-x 1 root root 2.2M Oct 25 13:27 radeon_dri.so
-rwxr-xr-x 1 root root 2.0M Oct 25 13:27 swrast_dri.so
%

actually i do not think that anything is wrong here, but i could be wrong.
any other ideas?
Back to top
View user's profile Send private message
notHerbert
Advocate
Advocate


Joined: 11 Mar 2008
Posts: 2228
Location: 45N 73W

PostPosted: Sun Oct 26, 2008 1:59 pm    Post subject: Reply with quote

Well, I too am not exactly certain. Doing a quick search in the forum, some report the same problem and posted the above workaround and also this one, though I don't think that these are solutions.
I assume that *_dri.so refers to whatever driver is in xorg.conf
cp or ln -s:
cp /usr/lib/xorg/modules/dri/*_dri.so /usr/lib/modules/dri/*_dri.so
cp /usr/lib/xorg/modules/dri/*_dri.so /usr/lib/dri/*_dri.so


So I was thinking that some programs must looking for the *_dri.so in /usr/lib/dri or in /usr/lib/modules/dri.


On my nvidia box I have these *dri.so files
Code:
/usr/lib/libxcb-xf86dri.so
/usr/lib/dri/swrast_dri.so
/usr/lib/xorg/modules/extensions/libdri.s0


What does eselect opengl list report?
And do you have a Section "DRI" in xorg.conf?
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sun Oct 26, 2008 2:43 pm    Post subject: Reply with quote

notHerbert wrote:
What does eselect opengl list report?
Code:
% eselect opengl list
Available OpenGL implementations:
  [1]   xorg-x11 *
%

notHerbert wrote:
And do you have a Section "DRI" in xorg.conf?

i have Load "dri" in the "Module" section and
Code:
Section "dri"
        Mode 0666
EndSection
Back to top
View user's profile Send private message
notHerbert
Advocate
Advocate


Joined: 11 Mar 2008
Posts: 2228
Location: 45N 73W

PostPosted: Sun Oct 26, 2008 4:29 pm    Post subject: Reply with quote

Hmmm, shouldn't eselect opengl list your ati opengl?
Mine is
Code:
 eselect opengl list
Available OpenGL implementations:
  [1]   nvidia *
  [2]   xorg-x11


Maybe the drivers need to be re-emerged after emerging xorg-server
Code:
emerge -av $(qlist -IC x11-drivers | awk -F/ '{ print $2 }')
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sun Oct 26, 2008 5:08 pm    Post subject: Reply with quote

i do not think that i should have an ati entry, since i am using the xorg ati driver, not fglrx.
imo this bug applies to my situation.
it seems like the applications that do not work are all 32-bit. i haven't fully verified that, but it seems possible.
the drivers in /usr/lib32/dri are _VERY_ outdated. they are provided by emul-linux-x86-xlibs which was apparently built with x86 and not x86, so the drivers are old, since mesa-6.5.2-r1 is stable.
the ebuild from the bug should solve the problem, but unfortunately i am currently not able to emerge it.
http://xx.vu/~ahuemer/build.log
Back to top
View user's profile Send private message
notHerbert
Advocate
Advocate


Joined: 11 Mar 2008
Posts: 2228
Location: 45N 73W

PostPosted: Sun Oct 26, 2008 5:21 pm    Post subject: Reply with quote

I have mesa-7.2 and it works fine. The mesa-9999 build log says it can't stat libGL.so.1.2, but that lib is from mesa. So I would try mesa-7.2.


Code:
ls -l /usr/lib/opengl/xorg-x11/lib/
total 384
-rw-r--r-- 1 root root    743 2008-10-23 15:11 libGL.la
lrwxrwxrwx 1 root root     12 2008-10-23 15:12 libGL.so -> libGL.so.1.2
lrwxrwxrwx 1 root root     12 2008-10-23 15:12 libGL.so.1 -> libGL.so.1.2
-rwxr-xr-x 1 root root 385980 2008-10-23 15:12 libGL.so.1.2
Code:
qfile libGL.so.1.2
media-libs/mesa (/usr/lib/opengl/xorg-x11/lib/libGL.so.1.2)


I don't know anything about emul-linux-x86-xlibs though. :cry:
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sun Oct 26, 2008 6:01 pm    Post subject: Reply with quote

i do not doubt that it works for you. you use the proprietary nvidia driver, right? i believe that both "fglrx" and "nvidia-drivers" work on both x86 and x86_64 systems, but it looks like mesa does only provide drivers for the actual arch, in my case x86_64. 32 bit applications are served by the emul-linux-x86-xlibs ebuild.
the ebuild i was trying to use should be modified to build the drivers for both 64 and 32 bit (the -9999 version is not the point).
that is the reason why the standard mesa ebuild does not work for me.
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sun Oct 26, 2008 7:17 pm    Post subject: Reply with quote

i just noticed that the ebuild can be used with fixed versions too. nonetheless it produces the same error.
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Thu Oct 30, 2008 1:22 am    Post subject: Reply with quote

I created an ebuild of libX11 with multilib using the libdrm and mesa ebuilds posted in the bug as examples,

Code:

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header:  $

# Must be before x-modular eclass is inherited
#SNAPSHOT="yes"

inherit x-modular multilib toolchain-funcs flag-o-matic

DESCRIPTION="X.Org X11 library"

KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="ipv6 xcb"
RDEPEND=">=x11-libs/xtrans-1.0.1
   x11-libs/libXau
   x11-libs/libXdmcp
   x11-proto/kbproto
   >=x11-proto/xproto-7.0.6
   xcb? ( >=x11-libs/libxcb-1.0 )"
DEPEND="${RDEPEND}
   x11-proto/xf86bigfontproto
   x11-proto/bigreqsproto
   x11-proto/inputproto
   x11-proto/xextproto
   x11-proto/xcmiscproto
   >=x11-misc/util-macros-0.99.0_p20051007"

EMULTILIB_PKG="true"

# xorg really doesn't like xlocale disabled.
# $(use_enable nls xlocale)

libX11_src_compile() {
   local myconf
   local OCFLAGS=""
   local OCXXFLAGS=""
   local OCHOST=""
   CC="$(tc-getCC)"
   CXX="$(tc-getCXX)"

   if has_multilib_profile ; then
      OCFLAGS="${CFLAGS}"
      OCXXFLAGS="${CXXFLAGS}"
      OCHOST="${CHOST}"
      if use amd64 || use ppc64 ; then
         case ${ABI} in
            x86)    CHOST="i686-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m32"
               CXXFLAGS="${OCXXFLAGS} -m32"
               ;;
            amd64)  CHOST="x86_64-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m64"
               CXXFLAGS="${CXXFLAGS} -m64"
               ;;
            ppc)   CHOST="powerpc-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m32"
               CXXFLAGS="${OCXXFLAGS} -m32"
               ;;
            ppc64)   CHOST="powerpc64-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m64"
               CXXFLAGS="${OCXXFLAGS} -m64"
               ;;
            *)   die "Unknown ABI"
               ;;
         esac
      fi
   fi

   mkdir "${S}/objdir-${ABI}"
   cd "${S}/objdir-${ABI}"

   myconf="${myconf} $(use_enable ipv6)"

        # xcb is not yet used for the binary 32bit compatibility libs
        if is_final_abi ; then
      myconf="${myconf} --with-xcb"
   else
      myconf="${myconf} --without-xcb"
   fi

   # disable configure test who fail while cross-compiling
   myconf="${myconf} --enable-malloc0returnsnull=yes"

   ECONF_SOURCE=".."
   CONFIGURE_OPTIONS="${myconf}"

   x-modular_src_configure
        # [Cross-Compile Love] Disable {C,LD}FLAGS and redefine CC= for 'makekeys'
        ( filter-flags -m* ; cd src/util && make CC=$(tc-getBUILD_CC) CFLAGS="${CFLAGS}" LDFLAGS="" clean all)
        x-modular_src_make

   if has_multilib_profile; then
      CFLAGS="${OCFLAGS}"
      CXXFLAGS="${OCXXFLAGS}"
      CHOST="${OCHOST}"
   fi
}

libX11_src_install() {
   einfo "Installing ${PN} ${ABI} ..."
   cd "${S}/objdir-${ABI}"

   x-modular_src_install
}

x-modular_src_compile() {
   if [[ -z ${OABI} ]] ; then
      local abilist=""
      if has_multilib_profile ; then
         abilist=$(get_install_abis)
         einfo "Building multilib ${PN} for ABIs: ${abilist}"
      elif is_crosscompile || tc-is-cross-compiler ; then
         abilist=${DEFAULT_ABI}
      fi
      if [[ -n ${abilist} ]] ; then
         OABI=${ABI}
         for ABI in ${abilist} ; do
            export ABI
            x-modular_src_compile
         done
         ABI=${OABI}
         unset OABI
         return 0
      fi
   fi
   libX11_src_compile
}

x-modular_src_install() {
        if [[ -z ${OABI} ]] ; then
                local abilist=""
                if has_multilib_profile ; then
                        abilist=$(get_install_abis)
                        einfo "Installing multilib ${PN} for ABIs: ${abilist}"
                elif is_crosscompile || tc-is-cross-compiler ; then
                        abilist=${DEFAULT_ABI}
                fi
                if [[ -n ${abilist} ]] ; then
                        OABI=${ABI}
                        for ABI in ${abilist} ; do
                                export ABI
                                src_install
                        done
                        ABI=${OABI}
                        unset OABI
                        return 0
                fi
        fi

   libX11_src_install
}


it starts to compile until encounter a error because libxcb is not found, i say ok and remove the dep in the configure step (libxcb isnt included in emul-linux-x86-xlibs anyway). Now i get a error because libXau is not found *SIGH*. (and looking at the packages used by emul-linux-x86-xlibs looks like it needs 10+ more modified ebuilds with multilib support to sastify the deps :( ). I guess that is better to drop the multilib approach and build a emul-linux-x86-xlibs with updated packages via a tiny chroot or another method.
_________________
just feel the code...


Last edited by code_raptor on Thu Oct 30, 2008 4:16 pm; edited 1 time in total
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Thu Oct 30, 2008 1:19 pm    Post subject: Reply with quote

hello code_raptor.

thanks for your efforts. i will take a look at that in some hours, when i come home.
you say you get an error
Quote:
because libXau is not found

what does "not found" mean exactly? ... i will find out myself when i try to compile it.
i agree that it seems to be hard work to make all the necessary ebuilds multilib-capable,
but although having an up-to-date emul-linux-x86-xlibs is fine at the moment, it always has to be re-made when a new version of mesa comes out.
additionally it is, at least to my understanding, not possible to have a emul-linux-x86-xlibs ebuild for both stable and ~ versions of mesa, unless you create something like "emul-linux-x86-xlibs-stable" and "emul-linux-x86-xlibs-testing", which is ugly IMHO.
again, i agree that mulilib-ing all these ebuilds is a lot of work, but i don't see a good workaround.
once the work is done, version upgrades in any of these ebuild require only the normal modifications, no additional work.
i hope you agree.
i will try to understand what modifications you have made to the libX11 ebuild and will try to do the same for the next one needed.
and... building stuff on the local machine is the gentoo-way, you know :wink:
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Thu Oct 30, 2008 4:10 pm    Post subject: Reply with quote

alex.blackbit wrote:
Quote:
because libXau is not found

what does "not found" mean exactly?

Means that it cant find the 32bit dep of libXau, so it needs a multilib version of libXau (and probably of the rest of the deps involved)

Yep, u right, maintaining the mesa libs (and its deps) in sync is better than building the emul package everytime that a new version of a dep is needed.

What i did is using the src_compile and src_install functions of libdrm then calling the original src_compile/install (or x-modular*, if that the case). In other words:

1) Add multilib to the list of "inherit"
2) Add EMULTILIB_PKG="true" in the ebuild
3) rename the src_compile and src_install
4) add the custom src_compile and src_install of the multilib examples then call the renamed src_compile/install from there.

Code:

src_compile() {
   if [[ -z ${OABI} ]] ; then
      local abilist=""
      if has_multilib_profile ; then
         abilist=$(get_install_abis)
         einfo "Building multilib ${PN} for ABIs: ${abilist}"
      elif is_crosscompile || tc-is-cross-compiler ; then
         abilist=${DEFAULT_ABI}
      fi
      if [[ -n ${abilist} ]] ; then
         OABI=${ABI}
         for ABI in ${abilist} ; do
            export ABI
            src_compile
         done
         ABI=${OABI}
         unset OABI
         return 0
      fi
   fi
   ORIGINAL_src_compile #here calls to the original src_compile funcion used in the ebuild (if defined)
        #(if the ebuild inherits x-modular and the funcions isnt defined then call x-modular_src_compile)
}


Code:

src_install() {
        if [[ -z ${OABI} ]] ; then
                local abilist=""
                if has_multilib_profile ; then
                        abilist=$(get_install_abis)
                        einfo "Installing multilib ${PN} for ABIs: ${abilist}"
                elif is_crosscompile || tc-is-cross-compiler ; then
                        abilist=${DEFAULT_ABI}
                fi
                if [[ -n ${abilist} ]] ; then
                        OABI=${ABI}
                        for ABI in ${abilist} ; do
                                export ABI
                                src_install
                        done
                        ABI=${OABI}
                        unset OABI
                        return 0
                fi
        fi

   ORIGINAL_src_install #here calls to the original src_install funcion used in the ebuild (if defined)
       #(if the ebuild inherits x-modular and the funcions isnt defined then call x-modular_src_install)
}


Code:

ORIGINAL_src_compile() {
   local myconf
   local OCFLAGS=""
   local OCXXFLAGS=""
   local OCHOST=""
   CC="$(tc-getCC)"
   CXX="$(tc-getCXX)"

   if has_multilib_profile ; then
      OCFLAGS="${CFLAGS}"
      OCXXFLAGS="${CXXFLAGS}"
      OCHOST="${CHOST}"
      if use amd64 || use ppc64 ; then
         case ${ABI} in
            x86)    CHOST="i686-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m32"
               CXXFLAGS="${OCXXFLAGS} -m32"
               ;;
            amd64)  CHOST="x86_64-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m64"
               CXXFLAGS="${CXXFLAGS} -m64"
               ;;
            ppc)   CHOST="powerpc-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m32"
               CXXFLAGS="${OCXXFLAGS} -m32"
               ;;
            ppc64)   CHOST="powerpc64-${OCHOST#*-}"
               CFLAGS="${OCFLAGS} -m64"
               CXXFLAGS="${OCXXFLAGS} -m64"
               ;;
            *)   die "Unknown ABI"
               ;;
         esac
      fi
   fi

   mkdir "${S}/objdir-${ABI}"
   cd "${S}/objdir-${ABI}"

   ECONF_SOURCE=".."

        #here one can call the [x-modular_]src_configure of the ebuild or make the configure step directly via "econf || die"
        #P.S.: if u need to pass more parameters to a configure function via use the CONFIGURE_OPTIONS variable.
        econf || die

        #here one can call the [x-modular_]src_compile of the ebuild or make the configure step directly via "emake || die"
   emake || die

   if has_multilib_profile; then
      CFLAGS="${OCFLAGS}"
      CXXFLAGS="${OCXXFLAGS}"
      CHOST="${OCHOST}"
   fi
}


Code:

ORIGINAL_src_install() {
   einfo "Installing ${PN} ${ABI} ..."
   cd "${S}/objdir-${ABI}"
       ......
       ....... #rest of the function (if a src_install func is not there then call the default [x-modular_]src_install



Well i am gonna continue messing with the rest of the ebuilds until i get (i hope) the multilib mesa package. Probably the next step (if all this work works) is to remove this bloat of ebuild code and putting it in a custom eclass (great, now to learn how to write a eclass :? )

P.S: i modified the libX11 ebuild up there (i pasted the install func of libdrm by mistake)

UPDATE: i managed to create a eclass so now only requires modifying 3 lines in the ebuilds (less work for maintain updates :D ). I am currently testing it (libdrm, libX11, libXau, libxcb and libXext created both 32 and 64 bit libs without problems). I have a problem with libXxf86vm right now (libtool is trying to use 64bit libraries in the 32bit phrase :evil: ) so when i solve that i ll post the eclass.
_________________
just feel the code...
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Fri Oct 31, 2008 3:15 am    Post subject: finally Reply with quote

Finally i managed to make a multilib mesa package :D

multilib-xlibs.eclass
Code:

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
#
# @ECLASS: multilib-xlibs.eclass

IUSE="${IUSE} lib32"

if use lib32; then
        EMULTILIB_PKG="true"
fi

inherit multilib

# @ECLASS-VARIABLE: XMODULAR_MULTILIB
# @DESCRIPTION:
# If set to 'yes' the eclass uses the x-modular_src_compile and x-modular_src_install functions of the x-modular eclass
# Set before inheriting this eclass and use only if you are inheriting the x-modular eclass (i dont find a way to check this yet
# to make it automatic)

# @ECLASS-VARIABLE: MULTILIB_SPLITTREE
# @DESCRIPTION:
# Set to 'yes' if the package dont support building of both trees on the same dir (currently only needed with mesa package)
# Set before inheriting this eclass.

# @ECLASS-VARIABLE: XMODULAR_SUPRESS_TESTS
# @DESCRIPTION:
# If set to 'yes' the malloc test on the configure phrase is skipped (only needed with some x-modular packages)
# Set before inheriting this eclass.

# @FUNCTION: multilib-xlibs_src_compile
# @USAGE:
# @DESCRIPTION:
multilib-xlibs_src_compile() {
   if [[ -z ${OABI} ]] ; then
      local abilist=""
      if has_multilib_profile ; then
         abilist=$(get_install_abis)
         einfo "Building multilib ${PN} for ABIs: ${abilist}"
      elif is_crosscompile || tc-is-cross-compiler ; then
         abilist=${DEFAULT_ABI}
      fi
      if [[ -n ${abilist} ]] ; then
         OABI=${ABI}
         for ABI in ${abilist} ; do
            export ABI
            multilib-xlibs_src_compile
         done
         ABI=${OABI}
         unset OABI
         return 0
      fi
   fi
   multilib-xlibs_src_compile_sub
}

# @FUNCTION: multilib-xlibs_src_install
# @USAGE:
# @DESCRIPTION:
multilib-xlibs_src_install() {
   if [[ -z ${OABI} ]] ; then
      local abilist=""
      if has_multilib_profile ; then
         abilist=$(get_install_abis)
         einfo "Installing multilib ${PN} for ABIs: ${abilist}"
      elif is_crosscompile || tc-is-cross-compiler ; then
         abilist=${DEFAULT_ABI}
      fi
      if [[ -n ${abilist} ]] ; then
         OABI=${ABI}
         for ABI in ${abilist} ; do
            export ABI
            multilib-xlibs_src_install
         done
         ABI=${OABI}
         unset OABI
         return 0
      fi
   fi
   einfo "Installing ${PN} ${ABI} ..."

   if [[ -n ${MULTILIB_SPLITTREE} ]]; then
      cd ${WORKDIR}/builddir.${ABI}
   else   
      cd "${S}/objdir-${ABI}"
   fi

        if [[ -n ${XMODULAR_MULTILIB} ]]; then
                x-modular_src_install
        else
                multilib-xlibs_src_install_internal
        fi
}

# @FUNCTION: multilib-xlibs_src_compile_sub
# @USAGE:
# @DESCRIPTION:
multilib-xlibs_src_compile_sub() {
   local myconf
   local OCFLAGS=""
   local OCXXFLAGS=""
   local OCHOST=""
   CC="$(tc-getCC)"
   CXX="$(tc-getCXX)"

   if has_multilib_profile ; then
      OCFLAGS="${CFLAGS}"
      OCXXFLAGS="${CXXFLAGS}"
      OCHOST="${CHOST}"
      if use amd64 || use ppc64 ; then
         case ${ABI} in
            x86)    CHOST="i686-${OCHOST#*-}"
            CFLAGS="${OCFLAGS} -m32"
            CXXFLAGS="${OCXXFLAGS} -m32"
            ;;
            amd64)  CHOST="x86_64-${OCHOST#*-}"
            CFLAGS="${OCFLAGS} -m64"
            CXXFLAGS="${CXXFLAGS} -m64"
            ;;
            ppc)   CHOST="powerpc-${OCHOST#*-}"
            CFLAGS="${OCFLAGS} -m32"
            CXXFLAGS="${OCXXFLAGS} -m32"
            ;;
            ppc64)   CHOST="powerpc64-${OCHOST#*-}"
            CFLAGS="${OCFLAGS} -m64"
            CXXFLAGS="${OCXXFLAGS} -m64"
            ;;
            *)   die "Unknown ABI"
            ;;
         esac
      fi
   fi

   if [[ -n ${MULTILIB_SPLITTREE} ]]; then
           cp -al ${S} ${WORKDIR}/builddir.${ABI}
           cd ${WORKDIR}/builddir.${ABI}
   else
      mkdir "${S}/objdir-${ABI}"
      cd "${S}/objdir-${ABI}"
      ECONF_SOURCE=".."
   fi

   if [[ -n ${XMODULAR_SUPRESS_TESTS} ]]; then
      CONFIGURE_OPTIONS="${CONFIGURE_OPTIONS} --enable-malloc0returnsnull=yes"
   fi

   PKG_CONFIG_PATH="/usr/$(get_libdir)/pkgconfig"

   if [[ -n ${XMODULAR_MULTILIB} ]]; then
      x-modular_src_compile
   else
      multilib-xlibs_src_compile_internal
   fi

   if has_multilib_profile; then
      CFLAGS="${OCFLAGS}"
      CXXFLAGS="${OCXXFLAGS}"
      CHOST="${OCHOST}"
   fi
}

# @FUNCTION: multilib-xlibs_src_compile_internal
# @USAGE: override this function if you arent using x-modules eclass and want to use a custom src_compile.
# @DESCRIPTION:
multilib-xlibs_src_compile_internal() {
   src_compile
}

# @FUNCTION: multilib-xlibs_src_install_internal
# @USAGE: override this function if you arent using x-modules eclass and want to use a custom src_install
# @DESCRIPTION:
multilib-xlibs_src_install_internal() {
   src_install
}

EXPORT_FUNCTIONS src_compile src_install


And the modifications in the ebuilds is very simple. First an example with libX11
Code:

--- /usr/portage/x11-libs/libX11/libX11-1.1.5.ebuild    2008-09-06 02:26:34.000000000 -0430
+++ /var/portage/local/x11-libs/libX11/libX11-1.1.5.ebuild      2008-10-30 22:27:51.000000000 -0430
@@ -5,7 +5,10 @@
 # Must be before x-modular eclass is inherited
 #SNAPSHOT="yes"

-inherit x-modular toolchain-funcs flag-o-matic
+XMODULAR_MULTILIB="yes"
+XMODULAR_SUPRESS_TESTS="yes"
+#EMULTILIB_PKG="true"
+inherit x-modular toolchain-funcs flag-o-matic multilib-xlibs

 DESCRIPTION="X.Org X11 library"


another one with libdrm
Code:

--- /usr/portage/x11-libs/libdrm/libdrm-2.4.0.ebuild    2008-10-19 17:06:06.000000000 -0430
+++ /var/portage/local/x11-libs/libdrm/libdrm-2.4.0.ebuild      2008-10-30 22:29:59.000000000 -0430
@@ -5,7 +5,8 @@
 # Must be before x-modular eclass is inherited
 #SNAPSHOT="yes"

-inherit x-modular
+XMODULAR_MULTILIB="yes"
+inherit x-modular multilib-xlibs

 DESCRIPTION="X.Org libdrm library"
 HOMEPAGE="http://dri.freedesktop.org/"


For the non x-modular ebuilds (like mesa and freetype) the changes are minimal too (only implies a src_compile and src_install rename)

mesa ebuild
Code:

--- /usr/portage/media-libs/mesa/mesa-7.2.ebuild        2008-10-22 11:39:02.000000000 -0430                                 
+++ /var/portage/local/media-libs/mesa/mesa-7.2.ebuild  2008-10-30 22:33:08.000000000 -0430                                 
@@ -8,7 +8,9 @@                                                                                                             
        GIT="git"                                                                                                           
 fi                                                                                                                         
                                                                                                                           
-inherit autotools multilib flag-o-matic ${GIT} portability                                                                 
+EMULTILIB_PKG="true"                                                                                                       
+MULTILIB_SPLITTREE="true"                                                                                                 
+inherit autotools multilib flag-o-matic ${GIT} portability multilib-xlibs                                                 
                                                                                                                           
 OPENGL_DIR="xorg-x11"                                                                                                     
                                                                                                                           
@@ -115,7 +117,7 @@                                                                                                         
        fi                                                                                                                 
 }

-src_compile() {
+multilib-xlibs_src_compile_internal() {
        local myconf

        # This is where we might later change to build xlib/osmesa
@@ -169,7 +171,7 @@
        emake || die
 }

-src_install() {
+multilib-xlibs_src_install_internal() {
        dodir /usr
        emake \
                DESTDIR="${D}" \


freetype ebuild
Code:

--- /usr/portage/media-libs/freetype/freetype-2.3.7.ebuild   2008-08-20 13:06:06.000000000 -0430
+++ /var/portage/local/media-libs/freetype/freetype-2.3.7.ebuild   2008-10-30 22:34:17.000000000 -0430
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-2.3.7.ebuild,v 1.8 2008/08/20 17:26:51 vapier Exp $
 
-inherit eutils flag-o-matic libtool
+inherit eutils flag-o-matic libtool multilib-xlibs
 
 DESCRIPTION="A high-quality and portable font engine"
 HOMEPAGE="http://www.freetype.org/"
@@ -75,7 +75,7 @@
    epunt_cxx
 }
 
-src_compile() {
+multilib-xlibs_src_compile_internal() {
    append-flags -fno-strict-aliasing
 
    type -P gmake &> /dev/null && export GNUMAKE=gmake
@@ -88,7 +88,7 @@
    fi
 }
 
-src_install() {
+multilib-xlibs_src_install_internal() {
    emake DESTDIR="${D}" install || die "emake install failed"
 
    dodoc ChangeLog README


I am happy now :D , no more "unknown chip id " errors and can use 32bits opengl apps with direct rendering using the open source radeon driver.

I hope that this can help you too.

P.S: Yeah, the variable names sucks but at least it compiles and works without errors (i ll try to give more "standarized" names in the next revision :P )

UPDATE: now the eclass uses the lib32 USE flag
_________________
just feel the code...


Last edited by code_raptor on Sat Nov 01, 2008 12:41 am; edited 2 times in total
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Fri Oct 31, 2008 9:41 am    Post subject: Reply with quote

very impressive!

when i come home from work today, i will give it a try.
i think you should contact the gentoo developers and ask them what they think about that, i had a quick conversation with Donnie Berkholz about this topic.
if that works as you say, it should definitely be placed in the x11 overlay at the first place and after a testing phase in the testing tree.
again, very good work!
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Fri Oct 31, 2008 10:43 am    Post subject: Reply with quote

i couldn't wait and played a bit over ssh.
libX11, libXau, libdrm, libxcb emerged fine, but i had to figure out the order myself.
portage-2.2 has a feature to require packages to be installed with certain use-flags enabled, can't remember the name.
that way this could be done automatically, i guess. then all the needed packages should be pulled in as dependencies by portage.
libXext failed, http://xx.vu/~ahuemer/libXext-build.log.
do you have an idea what i should do against that?
thanks.

EDIT: freetype works too, forgot that before.
the complete list of successfully emerged multilib packages is now: freetype-2.3.7, libX11-1.1.5, libXau-1.0.4, libdrm-2.4.0, libxcb-1.1.90.1
not successful:libXext-1.0.4
is anything else needed?
emerging multilib mesa-7.2 fails as expected, because libXext is not available in a suitable (32bit) version.


Last edited by alex.blackbit on Fri Oct 31, 2008 2:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Fri Oct 31, 2008 2:32 pm    Post subject: Reply with quote

alex.blackbit wrote:

libXext failed, http://xx.vu/~ahuemer/libXext-build.log.
do you have an idea what i should do against that?
thanks.

Add XMODULAR_SUPRESS_TESTS="yes" variable before the inherit line so the eclass force the configure step to skip that test (i need a better name like SKIP_MALLOC_TEST or something like that :P )

That configure error was one of my bigger headaches, after the libtool one :/

Btw i was thinking the same about the use flags. Something like converting the emul package xlibs to a meta package, define IUSE=lib32 in the eclass then include all the packages needed in there with a USE flag dependancy like x11-libs/libX11[lib32].

EDIT: changed x86 for lib32 (looks like x86 USE flag is masked somewhere)
_________________
just feel the code...


Last edited by code_raptor on Fri Oct 31, 2008 4:51 pm; edited 1 time in total
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Fri Oct 31, 2008 3:08 pm    Post subject: Reply with quote

8)
now it works.
here is the list of ebuilds that needed modification:
libX11, libXau, libXdamage, libXext, libXfixes, libXxf96vm, libdrm, libxcb, freetype, mesa, libSM, libICE, libXi, libXrender
i guess this is the list of packages that are contained in emul-linux-x86-xlibs, right?
ebuilds that need XMODULAR_SUPRESS_TESTS="yes":
libX11, libXext, libXxf86vm, libXi
mesa emerged normally, resulting in
Code:
% ls -l /usr/lib32/dri
total 8.0M
-rwxr-xr-x 1 root root 2.1M Oct 31 15:56 r200_dri.so
-rwxr-xr-x 1 root root 2.1M Oct 31 15:56 r300_dri.so
-rwxr-xr-x 1 root root 2.1M Oct 31 15:56 radeon_dri.so
-rwxr-xr-x 1 root root 1.9M Oct 31 15:56 swrast_dri.so
%

when i come home i will fire up some 32-bit applications.

EDIT: added libSM libICE, libXi, libXrender. these are not dependencies of mesa, but seem to be necessary for e.g. googleearth.
this list is still incomplete. libXrender fails to compile at the moment, because of an infinite loop
Code:
>>> Compiling source in /var/tmp/portage/x11-libs/libXrender-0.9.4/work/libXrender-0.9.4 ...
 * Building multilib libXrender for ABIs: x86 amd64
mkdir: cannot create directory `/var/tmp/portage/x11-libs/libXrender-0.9.4/work/libXrender-0.9.4/objdir-x86': File exists
mkdir: cannot create directory `/var/tmp/portage/x11-libs/libXrender-0.9.4/work/libXrender-0.9.4/objdir-x86': File exists
mkdir: cannot create directory `/var/tmp/portage/x11-libs/libXrender-0.9.4/work/libXrender-0.9.4/objdir-x86': File exists
mkdir: cannot create directory `/var/tmp/portage/x11-libs/libXrender-0.9.4/work/libXrender-0.9.4/objdir-x86': File exists

code_raptor, does this happen in your environment too?
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Fri Oct 31, 2008 4:07 pm    Post subject: Reply with quote

I think that it happened me once with another package (libXrender compiles fine here) but was before i create the eclass, try wiping /var/tmp/portage contents.

i added libXcomposite, libXinerama, libXt, libXcursor, libXrandr, libXScrnSaver and libXv (needed for skype)

Making a comparation between the libs installed by the emul packge and my actual libs, i am missing those:

Code:

/usr/lib32/libGLw.so
/usr/lib32/libMrm.so
/usr/lib32/libUil.so
/usr/lib32/libXaw.so
/usr/lib32/libXaw6.so
/usr/lib32/libXaw7.so
/usr/lib32/libXdmcp.so
/usr/lib32/libXft.so
/usr/lib32/libXm.so
/usr/lib32/libXmu.so
/usr/lib32/libXmuu.so
/usr/lib32/libXp.so
/usr/lib32/libXpm.so
/usr/lib32/libXtst.so
/usr/lib32/libXvMC.so
/usr/lib32/libXvMCW.so
/usr/lib32/libXxf86dga.so
/usr/lib32/libglut.so
/usr/lib32/libpixman-1.so


I ll check to what packages correspond those in a while.

EDIT: i found them:
Code:

x11-libs/libXaw
x11-libs/libXdmcp                                                                                         
x11-libs/libXft                                                                             
x11-libs/libXmu
x11-libs/libXp
x11-libs/libXpm
x11-libs/libXtst
x11-libs/libXvMC
x11-libs/libXxf86dga
media-libs/freeglut
x11-libs/pixman


But i have no idea from what packages those libs come (or if those are needed for anything)
Code:

/usr/lib32/libXm.so
/usr/lib32/libUil.so
/usr/lib32/libMrm.so
/usr/lib32/libGLw.so


P.S.: you added xproto to multilib too? i had a problem with that in a package, but after i fixed the libtool error i forgot the package and if it was neccesary, tell me if u dont touched it so i can delete it from my overlay.
_________________
just feel the code...
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Fri Oct 31, 2008 6:15 pm    Post subject: Reply with quote

xproto wasn't necessary until now.
my current list:
Code:
libICE
libSM
libX11
libXScrnSaver
libXau
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrender
libXt
libXv
libXxf86dga
libXxf86vm
libdrm
libxcb
libdrm
libxcb
freetype
mesa

i wiped /var/tmp/portage, but libXrender still won't compile. any other ideas?
skype and googleearth depend on this lib, so i can't try them.
doom3 won't start either, but i think this is a different problem.
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Fri Oct 31, 2008 6:38 pm    Post subject: Reply with quote

i found your problem, add XMODULAR_MULTILIB="yes" to the ebuild.

UPDATE: i modified the eclass to use the lib32 USE flag so the multilib build is optional and made a emul-linux-x86-xlibs metapackage who use that use flag.

emul-linux-x86-xlibs-99999999.ebuild
Code:

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="2"

DESCRIPTION="Metapackage to provide 32bit libraries via multilib"
HOMEPAGE="http://www.gentoo.org/"
LICENSE="GPL-2"

KEYWORDS="-* amd64"
SLOT="0"
IUSE="opengl"

DEPEND="opengl? ( app-admin/eselect-opengl )"

RDEPEND=">=app-emulation/emul-linux-x86-baselibs-20071114
   media-libs/fontconfig[lib32]
   media-libs/freetype[lib32]
   opengl? ( media-libs/mesa[lib32]
      media-libs/freeglut[lib32] )
   x11-libs/libdrm[lib32]
   x11-libs/libICE[lib32]
   x11-libs/libSM[lib32]
   x11-libs/libX11[lib32]
   x11-libs/libXau[lib32]
   x11-libs/libXaw[lib32]
   x11-libs/libxcb[lib32]
   x11-libs/libXcomposite[lib32]
   x11-libs/libXcursor[lib32]
   x11-libs/libXdamage[lib32]
   x11-libs/libXdmcp[lib32]
   x11-libs/libXext[lib32]
   x11-libs/libXfixes[lib32]
   x11-libs/libXft[lib32]
   x11-libs/libXi[lib32]
   x11-libs/libXinerama[lib32]
   x11-libs/libXmu[lib32]
   x11-libs/libXp[lib32]
   x11-libs/libXpm[lib32]
   x11-libs/libXrandr[lib32]
   x11-libs/libXrender[lib32]
   x11-libs/libXScrnSaver[lib32]
   x11-libs/libXt[lib32]
   x11-libs/libXtst[lib32]
   x11-libs/libXv[lib32]
   x11-libs/libXvMC[lib32]
   x11-libs/libXxf86dga[lib32]
   x11-libs/libXxf86vm[lib32]
   x11-libs/pixman[lib32]"

pkg_postinst() {
        #update GL symlinks
        use opengl && eselect opengl set --use-old
}


All the packages compiles fine (except freeglut, checking why)

UPDATE: found the problem: mesa dont provides a libGLU.la file so the ebuild uses one from ${FILESDIR}/lib and installs in /usr/lib. And now because the multilib setup it installs in /usr/lib32 too, causing problems with anything who needs that file (like freeglut) because it points to /usr/lib. So the solution is edit that file who resides in media-libs/mesa/files/lib/libGLU.la and change libdir='/usr/lib' to libdir='/usr/${libdir}'.

Sadly this isnt enough to make freeglut compile because it uses an ancient configure script who have problems with multilib so i made a patch:

freeglut-2.4.0-multilib-fix.patch
Code:

--- configure.old    2008-10-31 16:25:39.000000000 -0430
+++ configure        2008-10-31 16:24:39.000000000 -0430
@@ -6526,7 +6526,7 @@
   # Find out which ABI we are using (multilib Linux x86_64 hack).
   libsuff=
   case "$host_cpu" in
-  x86_64*)
+  x86_64* | i*86)
     echo '#line 6525 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -6537,6 +6537,9 @@
       *64-bit*)
         libsuff=64
         ;;
+      *32-bit*)
+        libsuff=32
+        ;;
       esac
     fi
     rm -rf conftest*


After this, freeglut compiles without problems.
P.S.: after this i ended hating .la files and configure scripts (reading a 10.000+ lines configure script isnt fun :twisted:)

UPDATE: adding media-libs/fontconfig to the ebuild list
UPDATE: posted freeglut patch again (personal note: never paste from console again, whitespace are bad)
_________________
just feel the code...


Last edited by code_raptor on Sat Nov 01, 2008 11:47 am; edited 4 times in total
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sat Nov 01, 2008 12:06 am    Post subject: Reply with quote

what changes have you made to media-libs/fontconfig?
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Sat Nov 01, 2008 12:35 am    Post subject: Reply with quote

alex.blackbit wrote:
what changes have you made to media-libs/fontconfig?


I was forgotting that :roll:

Code:

--- /usr/portage/media-libs/fontconfig/fontconfig-2.6.0-r2.ebuild   2008-10-02 12:36:18.000000000 -0430
+++ /var/portage/local/media-libs/fontconfig/fontconfig-2.6.0-r2.ebuild   2008-10-30 23:39:01.000000000 -0430
@@ -4,7 +4,7 @@
 
 WANT_AUTOMAKE=1.9
 
-inherit eutils autotools libtool toolchain-funcs flag-o-matic
+inherit eutils autotools libtool toolchain-funcs flag-o-matic multilib-xlibs
 
 DESCRIPTION="A library for configuring and customizing font access"
 HOMEPAGE="http://fontconfig.org/"
@@ -54,7 +54,7 @@
    elibtoolize
 }
 
-src_compile() {
+multilib-xlibs_src_compile_internal() {
    if tc-is-cross-compiler; then
       myconf="--with-arch=${ARCH}"
       replace-flags -mtune=* -DMTUNE_CENSORED
@@ -70,7 +70,7 @@
    emake || die
 }
 
-src_install() {
+multilib-xlibs_src_install_internal() {
    emake DESTDIR="${D}" install || die
 
    #fc-lang directory contains language coverage datafiles

_________________
just feel the code...
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2396

PostPosted: Sat Nov 01, 2008 7:49 am    Post subject: Reply with quote

skype & googleearth are running :lol:
that's the first time i saw googleearth with a open source driver. it works quite well.
left of the "earth" is a little white rectangle that shouldn't be there, but that's fine.

code_raptor, is it possible that the patch against freeglut you posted is not a diff from the original file?
it does not work for me at the moment.
Code:
# emerge -av1 freeglut

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-libs/freeglut-2.4.0-r1  0 kB [0=>1]

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/portage/local/blackbit

Would you like to merge these packages? [Yes/No]

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) media-libs/freeglut-2.4.0-r1
 * freeglut-2.4.0.tar.gz RMD160 SHA1 SHA256 size ;-) ...                 [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
>>> Unpacking freeglut-2.4.0.tar.gz to /var/tmp/portage/media-libs/freeglut-2.4.0-r1/work
 * Applying freeglut-2.4.0-macos.patch ...                                                                                  [ ok ]
 * Applying freeglut-gcc42.patch ...                                                                                        [ ok ]
 * Applying 2.4.0-cursor.patch ...                                                                                          [ ok ]
 * Applying freeglut-2.4.0-bsd-usb-joystick.patch ...                                                                       [ ok ]
 * Applying freeglut-2.4.0-multilib-fix.patch ...

 * Failed Patch: freeglut-2.4.0-multilib-fix.patch !
 * ( /usr/portage/local/blackbit/media-libs/freeglut/files/freeglut-2.4.0-multilib-fix.patch )
 *
 * Include in your bugreport the contents of:
 *
 * /var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/freeglut-2.4.0-multilib-fix.patch-11062.out

 *
 * ERROR: media-libs/freeglut-2.4.0-r1 failed.
 * Call stack:
 * ebuild.sh, line   49:  Called src_unpack
 * environment, line 2863:  Called epatch '/usr/portage/local/blackbit/media-libs/freeglut/files/freeglut-2.4.0-multilib-fix.patch
'
 * environment, line 1532:  Called die
 * The specific snippet of code:
 * die "Failed Patch: ${patchname}!";
 * The die message:
 * Failed Patch: freeglut-2.4.0-multilib-fix.patch!
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/environment'.
 *

>>> Failed to emerge media-libs/freeglut-2.4.0-r1, Log file:

>>>  '/var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/build.log'

 * Messages for package media-libs/freeglut-2.4.0-r1:

 * Failed Patch: freeglut-2.4.0-multilib-fix.patch !
 * ( /usr/portage/local/blackbit/media-libs/freeglut/files/freeglut-2.4.0-multilib-fix.patch )
 *
 * Include in your bugreport the contents of:
 *
 * /var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/freeglut-2.4.0-multilib-fix.patch-11062.out
 *
 * ERROR: media-libs/freeglut-2.4.0-r1 failed.
 * Call stack:
 * ebuild.sh, line   49:  Called src_unpack
 * environment, line 2863:  Called epatch '/usr/portage/local/blackbit/media-libs/freeglut/files/freeglut-2.4.0-multilib-fix.patch
'
 * environment, line 1532:  Called die
 * The specific snippet of code:
 * die "Failed Patch: ${patchname}!";
 * The die message:
 * Failed Patch: freeglut-2.4.0-multilib-fix.patch!
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/freeglut-2.4.0-r1/temp/environment'.
 *

 * GNU info directory index is up-to-date.
#

http://xx.vu/~ahuemer/freeglut-2.4.0-multilib-fix.patch-11062.out
unfortunately i will not be at home over the weekend. i will hack over ssh, so i will complete creating modified ebuilds in my overlay and emerge them, but of course i cannot try out 3d apps.
code_raptor, what graphics adapter do you have? did you try doom3?
i think freeglut is what keeps it from running on my machine.
Back to top
View user's profile Send private message
code_raptor
n00b
n00b


Joined: 24 Jun 2005
Posts: 47

PostPosted: Sat Nov 01, 2008 11:55 am    Post subject: Reply with quote

Sorry, i looked at the forums from another monitor and the patch was all messed up with lots of whitespaces, anyway my post is fixed now (personal note: never do copy&paste from a terminal to a browser :? ).

My graphics adapter is a ATI Mobility X1400. I gonna try doom3 in a few hours to see how it goes.
_________________
just feel the code...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page 1, 2, 3, 4, 5, 6, 7  Next
Page 1 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum