[buildpkg] mhwd-gpu --setgl mesa needs to be called in multilib #48

Closed
opened 2015-02-01 10:54:34 +00:00 by philm · 24 comments
philm commented 2015-02-01 10:54:34 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: manjaro

As of now mhwd-gpu --setgl gets only called in root chroot. When you try to build any lib32 pkg related on lib32-libgl it will fail. You have to call manjaro-chroot > mhwd-gpu --setgl mesa before you can compile such a package in your user chroot.

*Created by: manjaro* As of now **mhwd-gpu --setgl** gets only called in root chroot. When you try to build any lib32 pkg related on lib32-libgl it will fail. You have to call **manjaro-chroot > mhwd-gpu --setgl mesa** before you can compile such a package in your user chroot.
philm commented 2015-02-02 05:51:53 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Should work with this:
8d8c029

Reopen if required please.

*Created by: udeved* Should work with this: 8d8c029 Reopen if required please.
philm commented 2015-02-27 17:08:51 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

This is still happening. I just tried to build lib32-gtk3:

/usr/bin/ld: warning: libEGL.so.1, needed by /usr/lib32/libcairo.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libGL.so.1, needed by /usr/lib32/libcairo.so, not found (try using -rpath or -rpath-link)
*Created by: philmmanjaro* This is still happening. I just tried to build lib32-gtk3: <pre>/usr/bin/ld: warning: libEGL.so.1, needed by /usr/lib32/libcairo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libGL.so.1, needed by /usr/lib32/libcairo.so, not found (try using -rpath or -rpath-link) </pre>
philm commented 2015-02-27 17:15:03 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Hmm, so I need to to set gl perhaps in the root chroot before it gets rsycnced as user copy.
Atm, it sets gl in user copy.

*Created by: udeved* Hmm, so I need to to set gl perhaps in the root chroot before it gets rsycnced as user copy. Atm, it sets gl in user copy.
philm commented 2015-02-27 17:18:03 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Oops, I realize, I had already chenged it to set gl in the root before the user copy is created.
I'll try with setting gl in user copy.

*Created by: udeved* Oops, I realize, I had already chenged it to set gl in the root before the user copy is created. I'll try with setting gl in user copy.
philm commented 2015-02-27 17:28:30 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

I know what's wrong, naturally, the chroot pulls only the devel and/or multilib-devel packages.
So mhwd is not installed in chroot, thus mhwd-gpu command fails, it is not present.

So how to fix? At mhwd package level, ie adding devel group?

(103/103) installing lib32-libltdl                                    [#######################################] 100%
Generating locales...
  en_US.UTF-8... done
  de_DE.UTF-8... done
Generation complete.
 --> Time chroot_init: 0.55 minutes
==> Start building [lib32-gtk3]
chroot: failed to run command 'mhwd-gpu': No such file or directory
==> Creating clean working copy [devtux]...done
*Created by: udeved* I know what's wrong, naturally, the chroot pulls only the devel and/or multilib-devel packages. So mhwd is not installed in chroot, thus mhwd-gpu command fails, it is not present. So how to fix? At mhwd package level, ie adding devel group? ``` (103/103) installing lib32-libltdl [#######################################] 100% Generating locales... en_US.UTF-8... done de_DE.UTF-8... done Generation complete. --> Time chroot_init: 0.55 minutes ==> Start building [lib32-gtk3] chroot: failed to run command 'mhwd-gpu': No such file or directory ==> Creating clean working copy [devtux]...done ```
philm commented 2015-02-27 17:47:28 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: alexandruianu

Maybe put some mhwd-gpu scripts directly in the tool, with a variable that can set it on or off to work after the multilib build environment is created?

*Created by: alexandruianu* Maybe put some mhwd-gpu scripts directly in the tool, with a variable that can set it on or off to work after the multilib build environment is created?
philm commented 2015-02-27 17:51:01 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Hmm, I had the impression mhwd-gpr scrip is essential part of mhwd.

The easiest would be really to add mhwd to devel group too, not only base group.
It fails because mhwd is not present in chroot, its in my view a mhwd dependency issue.

*Created by: udeved* Hmm, I had the impression mhwd-gpr scrip is essential part of mhwd. The easiest would be really to add mhwd to devel group too, not only base group. It fails because mhwd is not present in chroot, its in my view a mhwd dependency issue.
philm commented 2015-02-27 20:06:33 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Forget about the mhwd devel membership.

( 47/183) installing mhwd-db                                          [#######################################] 100%
( 48/183) installing v86d                                             [#######################################] 100%
( 49/183) installing mhwd                                             [#######################################] 100%
Using default
Default lib32 support: true
libGl and libglx symlinks are invalid!
Falling back to default...
libGl: '/usr/lib/mesa/libGL.so.1.2.0'
libGLESv1: '/usr/lib/mesa/libGLESv1_CM.so.1.1.0'
libGLESv2: '/usr/lib/mesa/libGLESv2.so.2.0.0'
libEGL: '/usr/lib/mesa/libEGL.so.1.0.0'
warning: could not find '/usr/lib/xorg/modules/extensions/libglx.xorg'!
==> use mhwd-gpu to set catalyst as default: 'mhwd-gpu --setgl catalyst'
==> use mhwd-gpu to set mesa as default: 'mhwd-gpu --setgl mesa'
Optional dependencies for mhwd
    lib32-mesa: for 32bit support [pending]
(172/183) installing lib32-mesa                                       [#######################################] 100%
Optional dependencies for lib32-mesa
    opengl-man-pages: for the OpenGL API man pages
    lib32-mesa-vdpau: for accelerated video playback
(173/183) installing lib32-cairo                                      [#######################################] 100%
(174/183) installing lib32-libxft                                     [#######################################] 100%
(175/183) installing lib32-pango                                      [#######################################] 100%
(176/183) installing lib32-libxml2                                    [#######################################] 100%
(177/183) installing lib32-libsoup                                    [#######################################] 100%
(178/183) installing lib32-rest                                       [#######################################] 100%
(179/183) installing lib32-libxcomposite                              [#######################################] 100%
(180/183) installing lib32-libxcursor                                 [#######################################] 100%
(181/183) installing lib32-libxinerama                                [#######################################] 100%
(182/183) installing lib32-libxkbcommon                               [#######################################] 100%
(183/183) installing lib32-libxrandr                                  [#######################################] 100%
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (2) gobject-introspection-1.42.0-1  python2-2.7.9-1

Total Installed Size:  79.49 MiB

The process creates a multilib devel chroot, then it copies with rsyc the root to a user copy.
From there, the PKGBUILD pulls in depends, mhwd is one of the depends.
but, how do we update the gl symlinks, lib32-mesa has not been installed yet, but mhwd has already set the symlinks for x86_64 only.

Should eventually lib32-mesa run mhwd-gpu?

*Created by: udeved* Forget about the mhwd devel membership. ``` ( 47/183) installing mhwd-db [#######################################] 100% ( 48/183) installing v86d [#######################################] 100% ( 49/183) installing mhwd [#######################################] 100% Using default Default lib32 support: true libGl and libglx symlinks are invalid! Falling back to default... libGl: '/usr/lib/mesa/libGL.so.1.2.0' libGLESv1: '/usr/lib/mesa/libGLESv1_CM.so.1.1.0' libGLESv2: '/usr/lib/mesa/libGLESv2.so.2.0.0' libEGL: '/usr/lib/mesa/libEGL.so.1.0.0' warning: could not find '/usr/lib/xorg/modules/extensions/libglx.xorg'! ==> use mhwd-gpu to set catalyst as default: 'mhwd-gpu --setgl catalyst' ==> use mhwd-gpu to set mesa as default: 'mhwd-gpu --setgl mesa' Optional dependencies for mhwd lib32-mesa: for 32bit support [pending] ``` ``` (172/183) installing lib32-mesa [#######################################] 100% Optional dependencies for lib32-mesa opengl-man-pages: for the OpenGL API man pages lib32-mesa-vdpau: for accelerated video playback (173/183) installing lib32-cairo [#######################################] 100% (174/183) installing lib32-libxft [#######################################] 100% (175/183) installing lib32-pango [#######################################] 100% (176/183) installing lib32-libxml2 [#######################################] 100% (177/183) installing lib32-libsoup [#######################################] 100% (178/183) installing lib32-rest [#######################################] 100% (179/183) installing lib32-libxcomposite [#######################################] 100% (180/183) installing lib32-libxcursor [#######################################] 100% (181/183) installing lib32-libxinerama [#######################################] 100% (182/183) installing lib32-libxkbcommon [#######################################] 100% (183/183) installing lib32-libxrandr [#######################################] 100% ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Packages (2) gobject-introspection-1.42.0-1 python2-2.7.9-1 Total Installed Size: 79.49 MiB ``` The process creates a multilib devel chroot, then it copies with rsyc the root to a user copy. From there, the PKGBUILD pulls in depends, mhwd is one of the depends. but, how do we update the gl symlinks, lib32-mesa has not been installed yet, but mhwd has already set the symlinks for x86_64 only. Should eventually lib32-mesa run mhwd-gpu?
philm commented 2015-02-27 20:50:14 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

Hmm, let me check it once again ...

*Created by: philmmanjaro* Hmm, let me check it once again ...
philm commented 2015-02-27 20:54:56 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

lib32-mesa-libgl needs to been installed, as it runs mhwd-gpu --check once again.

*Created by: philmmanjaro* **lib32-mesa-libgl** needs to been installed, as it runs **mhwd-gpu --check** once again.
philm commented 2015-02-27 21:40:55 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

There is no such packages.
I suspect you dropped it in favour of lib32-mesa, which comes from arch.

*Created by: udeved* There is no such packages. I suspect you dropped it in favour of lib32-mesa, which comes from arch.
philm commented 2015-02-27 21:49:25 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

I think thats ugly solution, because it pulls lib32-mesa for every single lib32 packages you want to build.
Better would be to do lib32-mesa ourselves and call mhwd-gpu post_install
For example, I wouldn't need a lib32-mesa initialized chroot for lib32-eudev.

*Created by: udeved* I think thats ugly solution, because it pulls lib32-mesa for every single lib32 packages you want to build. Better would be to do lib32-mesa ourselves and call mhwd-gpu post_install For example, I wouldn't need a lib32-mesa initialized chroot for lib32-eudev.
philm commented 2015-02-27 22:05:34 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Its also no good for depends, since the initial chroot already has lib32-mesa installed.
The initial chroot is supposed to only provide the stuff you need to compile, we circumvent the pkgbuild depends.

*Created by: udeved* Its also no good for depends, since the initial chroot already has lib32-mesa installed. The initial chroot is supposed to only provide the stuff you need to compile, we circumvent the pkgbuild depends.
philm commented 2015-02-27 23:58:23 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

So why don't add mhwd to devel group?

*Created by: udeved* So why don't add mhwd to devel group?
philm commented 2015-02-28 00:06:25 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

Arg, this is bull. We have to add lib32-mesa to fix it or modify that package what I don't like to do ... Hmm.

*Created by: philmmanjaro* Arg, this is bull. We have to add lib32-mesa to fix it or modify that package what I don't like to do ... Hmm.
philm commented 2015-02-28 00:08:00 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Yes, naugty, I think if we want to do it properly without any dirty hacks, we got to maintain lib32-mesa with a modified .install script.

*Created by: udeved* Yes, naugty, I think if we want to do it properly without any dirty hacks, we got to maintain lib32-mesa with a modified .install script.
philm commented 2015-02-28 00:15:33 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

I don't like that ... Hmm.

*Created by: philmmanjaro* I don't like that ... Hmm.
philm commented 2015-02-28 00:20:01 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Well, mhwd would need a mechanism to autoupdate if libgl providers are installed.
There is no way we can hook into the process once pacman pulls the depends, and mhwd comes before the lib32.mesa.

*Created by: udeved* Well, mhwd would need a mechanism to autoupdate if libgl providers are installed. There is no way we can hook into the process once pacman pulls the depends, and mhwd comes before the lib32.mesa.
philm commented 2015-02-28 00:20:42 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

Well, seems we have to repack lib32-mesa after all ...

*Created by: philmmanjaro* Well, seems we have to repack lib32-mesa after all ...
philm commented 2015-02-28 00:21:04 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

I fear yes.

*Created by: udeved* I fear yes.
philm commented 2015-02-28 00:43:30 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

This is fixed with new lib32-mesa package ...

*Created by: philmmanjaro* This is fixed with new [lib32-mesa](https://github.com/manjaro/packages-multilib/commit/19650d98ed9220592994e7500c3bc2d6ff26ffcd) package ...
philm commented 2015-02-28 00:46:44 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Withz the new package, we should not need any mhwd-gpu call in chroot, ie we can likely remove all the workarounds.

*Created by: udeved* Withz the new package, we should not need any mhwd-gpu call in chroot, ie we can likely remove all the workarounds.
philm commented 2015-02-28 00:50:24 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

Check the code. I already did that ...

*Created by: philmmanjaro* Check the code. I already did that ...
philm commented 2015-02-28 00:55:34 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Great!
I already spotted it. :)

*Created by: udeved* Great! I already spotted it. :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tools/manjaro-tools#48
No description provided.