Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

Multilib-overlay dead?

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
49 posts
  • 1
  • 2
  • Next
Author
Message
Carnildo
Guru
Guru
Posts: 595
Joined: Thu Jun 17, 2004 6:27 am

Multilib-overlay dead?

  • Quote

Post by Carnildo » Tue May 31, 2011 9:41 pm

Does anyone know if the multilib overlay is still being supported? It doesn't seem to have been updated in months: I'm seeing a number of conflicts where one ebuild requires a multilib version of a package, while another requires a newer version than multilib-overlay offers.
Top
alex.blackbit
Advocate
Advocate
Posts: 2397
Joined: Tue Jul 26, 2005 8:04 pm

  • Quote

Post by alex.blackbit » Thu Jun 02, 2011 6:57 am

Carnildo,

what branch of the multilib overlay are you using ? i assume the main branch.
you are right, it hasn't been updated in quite a while.
please try out the portage-multilib branch, it does not suffer from the same problems.
Top
Tommy[D]
Retired Dev
Retired Dev
Posts: 66
Joined: Sun Feb 13, 2005 1:33 am

  • Quote

Post by Tommy[D] » Thu Jun 02, 2011 8:38 am

I will just extend the answer of alex.blackbit a bit, also he has said the main point. The multilib overlay has 2 branches. The master branch, which is the first created branch, contains modified ebuilds and an additional eclass to support installation for x86. That branch is mostly not maintained nor supported, but is the only way, how users of other package managers like pkgcore or paludis could use this overlay.

The second branch is the portage-multilib branch. It contains a modified portage, which adds crosscompile support internally, so needs no modified ebuilds or eclasses. The branch and modified portage is still maintained and supported by me and still works fine. Most issues you get here are from build system not respecting CFLAGS, LDFLAGS or other environment parts.

For quicker communication, you can also join #gentoo-multilib-overlay on irc.freenode.net to talk with some users of this overlay (and me, if i am around).

A quick guide to switch to multilib-portage is in the topic there, it is this: http://github.com/sjnewbury/multilib-ov ... ltilib/doc
The initial switch may be a bit harder, since you have to work around circular deps (like in every case, where you create a system from scratch), but afterwords works pretty fine.
Top
Carnildo
Guru
Guru
Posts: 595
Joined: Thu Jun 17, 2004 6:27 am

  • Quote

Post by Carnildo » Fri Jun 03, 2011 8:24 am

I just tried switching branches, and it's not working. If I try "emerge --pretend --emptytree world", I get the following:

Code: Select all

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

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "sci-misc/qcad-parts".
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

emerge: there are no ebuilds to satisfy "app-cdr/kiso".
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

emerge: there are no ebuilds to satisfy "www-plugins/mplayerplug-in".
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

emerge: there are no ebuilds built with USE flags to satisfy ">=sys-apps/util-linux-2.16[lib32,multilib_abi_amd64,multilib_abi_x86?]".
!!! One of the following packages is required to complete your request:
- sys-apps/util-linux-2.19.1 (Missing IUSE: lib32)
- sys-apps/util-linux-2.18-r1 (Missing IUSE: lib32)
- sys-apps/util-linux-2.17.2 (Missing IUSE: lib32)
(dependency required by "x11-libs/libSM-1.2.0" [installed])
(dependency required by "x11-libs/libXt-1.1.1" [ebuild])
(dependency required by "x11-libs/libXmu-1.1.0" [ebuild])
(dependency required by "x11-apps/xmag-1.0.4" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
If I try emerging a single package (say, zlib), I get the following after the package has been installed:

Code: Select all

 * ERROR: sys-libs/zlib-1.2.5-r2 failed (postrm phase):
 *   Could not determine your profile ABI(s).  Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package or your profile does not set DEFAULT_ABI.
 * 
 * Call stack:
 *     ebuild.sh, line 2594:  Called ebuild_main
 *     ebuild.sh, line 2370:  Called get_abi_order
 *   environment, line 1855:  Called die
 * The specific snippet of code:
 *           die "Could not determine your profile ABI(s).  Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package or your profile does not set DEFAULT_ABI.";
Any ideas?
Top
ohnobinki
n00b
n00b
User avatar
Posts: 9
Joined: Thu Nov 04, 2004 10:16 pm
Location: Michigan, United States
Contact:
Contact ohnobinki
Website

  • Quote

Post by ohnobinki » Fri Jun 03, 2011 7:08 pm

For the first error message and to ease the pain of moving from the eclass implementation to portage-multilib, I think you should try running the script layman/multilib/bin/switch_lib32_to_multilib_abi (found in the overlay). This will avoid portage-multilib trying to recompile every single ebuild for which you already have a 32-bit version installed, avoiding some of the circular-dep mess.

I think that the postrm failure is supposed to be harmless. I don't remember exactly why it happens, but I get it occasionally too for packages which have not yet been upgraded since portage-multilib switched from using `lib32' to `multilib_abi_x86' to request a 32-bit build.
Top
Carnildo
Guru
Guru
Posts: 595
Joined: Thu Jun 17, 2004 6:27 am

  • Quote

Post by Carnildo » Fri Jun 03, 2011 8:28 pm

ohnobinki wrote:For the first error message and to ease the pain of moving from the eclass implementation to portage-multilib, I think you should try running the script layman/multilib/bin/switch_lib32_to_multilib_abi (found in the overlay). This will avoid portage-multilib trying to recompile every single ebuild for which you already have a 32-bit version installed, avoiding some of the circular-dep mess.
I ran the script, but I'm still getting the error message. In this particular case, re-emerging libSM got rid of the error message, but I'm now seeing a similar one for libxcb required by libXau. Isn't "--emptytree" supposed to pretend I don't have any software installed whatsoever, or is there a "--reallyemptytree" parameter that I'm missing?
I think that the postrm failure is supposed to be harmless. I don't remember exactly why it happens, but I get it occasionally too for packages which have not yet been upgraded since portage-multilib switched from using `lib32' to `multilib_abi_x86' to request a 32-bit build.
It may be harmless, but so far I'm four for four on seeing that. Having to issue an "emerge --resume" after every singe one of the lib32 packages I've got installed is going to take a very long time.
Top
ohnobinki
n00b
n00b
User avatar
Posts: 9
Joined: Thu Nov 04, 2004 10:16 pm
Location: Michigan, United States
Contact:
Contact ohnobinki
Website

  • Quote

Post by ohnobinki » Sat Jun 04, 2011 4:22 pm

Carnildo wrote:
ohnobinki wrote:I think that the postrm failure is supposed to be harmless. I don't remember exactly why it happens, but I get it occasionally too for packages which have not yet been upgraded since portage-multilib switched from using `lib32' to `multilib_abi_x86' to request a 32-bit build.
It may be harmless, but so far I'm four for four on seeing that. Having to issue an "emerge --resume" after every singe one of the lib32 packages I've got installed is going to take a very long time.
Well, I looked into why this was happening for certain packages on my system. It turns out that the bin/switch_lib32_to_multilib_abi and bin/add_multilib_abi were touching the USE and IUSE database keys which portage uses for dependency calculation but didn't edit the USE and IUSE envvars stored in environment*.bz2 files which ebuilds source before running pkg_postrm(). I tested that the following referenced script works on my system, could you try it out and see if this fixes the issue on your system?

Be sure to backup your /var/db/pkg first, but then just grab http://ohnopub.net/~ohnobinki/gentoo/po ... lib_abi-r1 and then run it as root. After that these pkg_postrm() dies should hopefully stop... ;-). If this script works for you, then maybe the existing bin/add_multilib_abi and bin/switch_lib32_to_multilib_abi can be replaced with it.
Top
Carnildo
Guru
Guru
Posts: 595
Joined: Thu Jun 17, 2004 6:27 am

  • Quote

Post by Carnildo » Sun Jun 05, 2011 1:43 am

The new script appears to have fixed both the pkg_postrm errors and the emerge --emptytree problem.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Sun Jun 05, 2011 7:12 am

hi guys

i am on this to.my problem starts at

rm /etc/make.profile


i did not check the target of /etc/make.profile :oops: so where is it :?:

next

echo /path/to/current/profile >> /etc/make.profile/parent

i dont know /path/to/current/profile .the only thing i know about profile is at the install of gentoo you "can" set a profile
via eselect profile

mybox multilib # eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/10.0 *
[2] default/linux/amd64/10.0/desktop
[3] default/linux/amd64/10.0/desktop/gnome
[4] default/linux/amd64/10.0/desktop/kde
[5] default/linux/amd64/10.0/developer
[6] default/linux/amd64/10.0/no-multilib
[7] default/linux/amd64/10.0/server
[8] hardened/linux/amd64
[9] hardened/linux/amd64/selinux
[10] hardened/linux/amd64/no-multilib
[11] hardened/linux/amd64/no-multilib/selinux
[12] selinux/2007.0/amd64
[13] selinux/2007.0/amd64/hardened
[14] selinux/v2refpolicy/amd64
[15] selinux/v2refpolicy/amd64/desktop
[16] selinux/v2refpolicy/amd64/developer
[17] selinux/v2refpolicy/amd64/hardened
[18] selinux/v2refpolicy/amd64/server
mybox multilib #


the problems so far is :


emerge: there are no ebuilds built with USE flags to satisfy "dev-libs/atk[multilib_abi_x86]".
!!! One of the following packages is required to complete your request:
- dev-libs/atk-1.32.0-r1 (Missing IUSE: multilib_abi_x86)
- dev-libs/atk-1.32.0 (Missing IUSE: multilib_abi_x86)
(dependency required by "app-emulation/emul-linux-x86-gtklibs-99999999[-nodep]" [ebuild])
(dependency required by "@preserved-rebuild" [argument])
Top
ohnobinki
n00b
n00b
User avatar
Posts: 9
Joined: Thu Nov 04, 2004 10:16 pm
Location: Michigan, United States
Contact:
Contact ohnobinki
Website

  • Quote

Post by ohnobinki » Sun Jun 05, 2011 6:53 pm

hedmo wrote: i did not check the target of /etc/make.profile :oops: so where is it :?:

next

echo /path/to/current/profile >> /etc/make.profile/parent

i dont know /path/to/current/profile .the only thing i know about profile is at the install of gentoo you "can" set a profile
via eselect profile

mybox multilib # eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/10.0 *
Just take the output of eselect profile show, or from this eselect profile list, and prepend PORTDIR to it. For your case:

Code: Select all

$ echo $(portageq portdir)/default/linux/amd64/10.0
/usr/portage/default/linux/amd64/10.0
hedmo wrote: emerge: there are no ebuilds built with USE flags to satisfy "dev-libs/atk[multilib_abi_x86]".
!!! One of the following packages is required to complete your request:
- dev-libs/atk-1.32.0-r1 (Missing IUSE: multilib_abi_x86)
- dev-libs/atk-1.32.0 (Missing IUSE: multilib_abi_x86)
(dependency required by "app-emulation/emul-linux-x86-gtklibs-99999999[-nodep]" [ebuild])
(dependency required by "@preserved-rebuild" [argument])
You must choose one of two methods to fix this problem. The first method (which I use) is to globally enable the x86 ABI by setting

Code: Select all

MULTILIB_ABI="amd64 x86"
in make.conf. This will fix this portage error but throw you into the situation of having many, many dependency loops to fix, which is done with just playing around with USE a little bit and some

Code: Select all

emerge --nodeps -1v {glibc,gcc,<other problematic packages>}
.

The other option is to only enable the x86 ABI for the required libs. In this case to fix this error, you would need to add the line

Code: Select all

dev-libs/atk multilib_abi_x86
to /etc/portage/package.use. After doing this, you will end up in turn needing to enable the multilib_abi_x86 useflag (to request 32-bit installation) for other packages too. This can be automated in a traditional way using the autounmask package (or perhaps emerge's --autounmask-write option?). I don't have much experience with this method, so you'll need to[/code] research into these automated useflag-enabling methods yourself ;-).
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Sun Jun 05, 2011 9:35 pm

ohnobinki wrote:

For your case: ......




mybox ~ # ls /usr/portage/default/
ls: cannot access /usr/portage/default/: No such file or directory
mybox ~ #
Top
Tommy[D]
Retired Dev
Retired Dev
Posts: 66
Joined: Sun Feb 13, 2005 1:33 am

  • Quote

Post by Tommy[D] » Sun Jun 05, 2011 11:17 pm

hedmo wrote:hi guys

i am on this to.my problem starts at

rm /etc/make.profile


i did not check the target of /etc/make.profile :oops: so where is it :?:

next

echo /path/to/current/profile >> /etc/make.profile/parent

i dont know /path/to/current/profile .the only thing i know about profile is at the install of gentoo you "can" set a profile
via eselect profile

mybox multilib # eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/10.0 *
[2] default/linux/amd64/10.0/desktop
[3] default/linux/amd64/10.0/desktop/gnome
[4] default/linux/amd64/10.0/desktop/kde
[5] default/linux/amd64/10.0/developer
[6] default/linux/amd64/10.0/no-multilib
[7] default/linux/amd64/10.0/server
[8] hardened/linux/amd64
[9] hardened/linux/amd64/selinux
[10] hardened/linux/amd64/no-multilib
[11] hardened/linux/amd64/no-multilib/selinux
[12] selinux/2007.0/amd64
[13] selinux/2007.0/amd64/hardened
[14] selinux/v2refpolicy/amd64
[15] selinux/v2refpolicy/amd64/desktop
[16] selinux/v2refpolicy/amd64/developer
[17] selinux/v2refpolicy/amd64/hardened
[18] selinux/v2refpolicy/amd64/server
mybox multilib #
Prefix the selected profile with "/usr/portage/profiles/" and you should get the right path to the profile to insert.


the problems so far is :


emerge: there are no ebuilds built with USE flags to satisfy "dev-libs/atk[multilib_abi_x86]".
!!! One of the following packages is required to complete your request:
- dev-libs/atk-1.32.0-r1 (Missing IUSE: multilib_abi_x86)
- dev-libs/atk-1.32.0 (Missing IUSE: multilib_abi_x86)
(dependency required by "app-emulation/emul-linux-x86-gtklibs-99999999[-nodep]" [ebuild])
(dependency required by "@preserved-rebuild" [argument])
This means, that you did not first rebuild or install portage-2.2* from the overlay. So after fixing the profile part, switch to the portage version from the overlay, then start with (re)building things.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Mon Jun 06, 2011 8:00 am

Tommy[D]


about the profile problem.i still dont understan the path to profile nor Prefix the selected profile with "/usr/portage/profiles/" .

about portage.i did not think i needed "your" portage.i am on 9999.


sorry guys,dumb as swe :oops:
Top
Tommy[D]
Retired Dev
Retired Dev
Posts: 66
Joined: Sun Feb 13, 2005 1:33 am

  • Quote

Post by Tommy[D] » Mon Jun 06, 2011 10:54 am

hedmo wrote:Tommy[D]


about the profile problem.i still dont understan the path to profile nor Prefix the selected profile with "/usr/portage/profiles/" .
If you want to use the profile "default/amd64/10.0" (as an example), then the path to your profile is "/usr/portage/profiles/default/amd64/10.0". You append the profile to "/usr/portage/profiles/" and get the path to your profile.
about portage.i did not think i needed "your" portage.i am on 9999.
If you want crosscompile support, you need "my" version of portage, since only the overlay version has the needed changes to support cross-compilation internally.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Mon Jun 06, 2011 8:14 pm

mybox 10.0 # emerge -avO =sys-apps/portage-2.2.0_alpha37-r1

* IMPORTANT: 4 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.


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


!!! All ebuilds that could satisfy "=sys-apps/portage-2.2.0_alpha37-r1" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/portage-2.2.0_alpha37-r1::multilib (masked by: invalid: PDEPEND: USE flag 'userland_GNU' referenced in conditional 'userland_GNU?' is not in IUSE, invalid: RDEPEND: USE flag 'elibc_FreeBSD' referenced in conditional 'elibc_FreeBSD?' is not in IUSE)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.


* IMPORTANT: 4 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

mybox 10.0 # emerge -ave-world

* IMPORTANT: 4 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Calculating dependencies... done!
Traceback (most recent call last):
File "/usr/bin/emerge", line 43, in <module>
retval = emerge_main()
File "/usr/lib64/portage/pym/_emerge/main.py", line 1910, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/actions.py", line 295, in action_build
settings, trees, myopts, myparams, myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 6627, in backtrack_depgraph
myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 6650, in _backtrack_depgraph
success, favorites = mydepgraph.select_files(myfiles)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 2173, in select_files
return self._resolve(myfavorites)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 2288, in _resolve
if not self._create_graph():
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 805, in _create_graph
allow_unsatisfied=allow_unsatisfied):
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 1412, in _add_pkg_deps
allow_unsatisfied):
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 1428, in _add_pkg_dep_string
allow_unsatisfied)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 1451, in _wrapped_add_pkg_dep_string
strict=strict, priority=dep_priority)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 2493, in _select_atoms_highest_available
myroot=root, trees=trees)
File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
return result(*args, **kwargs)
File "/usr/lib64/portage/pym/portage/dep/dep_check.py", line 629, in dep_check
use_binaries=use_binaries, myroot=myroot, trees=trees)
File "/usr/lib64/portage/pym/portage/dep/dep_check.py", line 73, in _expand_new_virtuals
for multilib_abis in mysettings.get("MULTILIB_ABIS", []).split(' '):
AttributeError: 'list' object has no attribute 'split'
mybox 10.0 #



mybox 10.0 # eselect profile list
!!! Warning: Both /etc/make.profile and /etc/portage/make.profile exist.
!!! Warning: Using /etc/make.profile for now.
Top
rh1
Guru
Guru
User avatar
Posts: 501
Joined: Sat Apr 10, 2010 8:22 am

  • Quote

Post by rh1 » Mon Jun 06, 2011 8:51 pm

First, you definately don't want to use the "-O" option as multilib portage pulls in abi-wrapper and lafilefixer which it needs to function correctly
!!! All ebuilds that could satisfy "=sys-apps/portage-2.2.0_alpha37-r1" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/portage-2.2.0_alpha37-r1::multilib (masked by: invalid: PDEPEND: USE flag 'userland_GNU' referenced in conditional 'userland_GNU?' is not in IUSE, invalid: RDEPEND: USE flag 'elibc_FreeBSD' referenced in conditional 'elibc_FreeBSD?' is not in IUSE)
I think this is most likely due to your profile not being set correctly.
If you followed the instructions /etc/make.profile should be a directory with a parent file which contains 2 lines:

Code: Select all

/usr/portage/profiles/default/linux/amd64/10.0
/<path_to_overlay>/profiles/base
Though per the instructions, you should have emerge multilib portage before setting up /etc/make.profile, it should hurt anything to do it first.

As a side note, I personally find it easier to just add "/<path_to_overlay>/profiles/base" to the end of "/usr/portage/profiles/default/linux/amd64/10.0/parent" and then add PORTAGE_RSYNC_EXTRA_OPTS="--exclude=/profiles/default/linux/amd64/10.0/parent" to /etc/make.conf as changing /etc/make.profile to a directory causes issues with certain programs that expect it to be a link.

Edit: Fixed typo in paths
Top
Carnildo
Guru
Guru
Posts: 595
Joined: Thu Jun 17, 2004 6:27 am

  • Quote

Post by Carnildo » Tue Jun 07, 2011 4:33 am

rh1 wrote:As a side note, I personally find it easier to just add "/<path_to_overlay>/profiles/base" to the end of "/usr/portage/profiles/default/linux/amd64/10.0/parent" and then add PORTAGE_RSYNC_EXTRA_OPTS="--exclude=/profiles/default/linux/amd64/10.0/parent" to /etc/make.conf as changing /etc/make.profile to a directory causes issues with certain programs that expect it to be a link.
Which programs would those be?
Top
rh1
Guru
Guru
User avatar
Posts: 501
Joined: Sat Apr 10, 2010 8:22 am

  • Quote

Post by rh1 » Tue Jun 07, 2011 10:23 am

Which programs would those be?
I know there were a couple, can't remember the others but here is the output from ufed when setup like instructions state:

Code: Select all

Multilib etc # ufed
/etc/make.profile is not a symlink
Compilation failed in require at /usr/sbin/ufed line 9.
BEGIN failed--compilation aborted at /usr/sbin/ufed line 9.
Top
xaviermiller
Bodhisattva
Bodhisattva
User avatar
Posts: 8738
Joined: Fri Jul 23, 2004 6:49 pm
Location: ~Brussels - Belgique
Contact:
Contact xaviermiller
Website

  • Quote

Post by xaviermiller » Tue Jun 07, 2011 6:58 pm

Hello,

I have some questions : I've read the doc, but I don't know what to do exactly with multilib_abi_x86 :
- is it suffisient to set multilib_abi_x86 in package.use on required packages ?
- what do I set in /etc/make.conf ? I'm a bit confused, because portage-multilib and multilib are completely different, but there is no straightforward complete HOWTO
- I also have circular dependencies between gcc and glibc. I tried to emerge --nodeps gcc and/or glibc but both fail (BTW I don't want to emerge -e world if it is not needed)
- Is it possible to set the x86 CHOST ? I'd like to replace "pc" by "gentoo", as I do for x86_64-gentoo-linux-gnu ;)
- one more question : I have crossdev for i686-gentoo-linux-gnu target. Will it conflict with x86 multilib ABI ?

Thanks in advance !
Kind regards,
Xavier Miller
Top
rh1
Guru
Guru
User avatar
Posts: 501
Joined: Sat Apr 10, 2010 8:22 am

  • Quote

Post by rh1 » Tue Jun 07, 2011 8:13 pm

You can set multilib_abi_x86 on a per package basis in package.use but it's going to force you to set it for a ton of packages.
I find it easiest to set MULTILIB_ABI="amd64 x86" in /etc/make.conf and then just set "-multilib_abi_x86" on a per package basis for the packages that i either don't want multilib or fail when using it. Of course your going to be rebuilding most of your packages that way and since you mentioned not wanting to do "emerge -e world" you might want to use the per package method.

You should be able to do "emerge --nodeps glibc" if you were already using a mutilib profile. For some packages, your going to have to look at what it fails for , usually missing 32 bit libs and use "emerge --nodeps" to install the libraries before installing the package.

It can be a real PITA to get this installed at first but i find it well worth the effort especially if your into gaming and want to use wine. Plus I always thought there was something wrong with having to use the prebuilt emul-linux packages on a distro that prides itself on being mostly built from source code.

I don't know if you can set a different CHOST and i'm not familair with crossdev so i can't answer that for you either.

Some misc stuff i've been meaning to post about:

If you leave both amd64 and x86 flags on for certain proprietary packages like icaclient and adobe reader it will get stuck in a circular build loop that will never end. I haven't got around to investigating it yet.

Certain packages fail with unrecognized EPYTHON variable for x86. I think this has to do with the eclass.

gst-plugins fail unless you use this patch from bug #300256. for the gst-plugins-base eclass. I added it locally to the overlay.Also the instuctions in the multilib-overlay for overiding elasses state to add this to /etc/portage/repos.conf:

Code: Select all

[DEFAULT]
eclass-overrides = gentoo multilib

[multilib]
eclass-overrides = gentoo multilib
But that method appear broken, at least on my system it doesn't work, adding this instead works fine:

Code: Select all

[gentoo]
eclass-overrides = multilib
Some packages try to use python-config directly as a python script, ( for instance sys-libs/talloc if you have the python use flag set) and fail because it's linked to the abi-wrapper which isn't written in python. For those i have a small script that i use to temporarly switch it to point at the actual python-config script. Other packages fail if it's not pointed at the abi-wrapper so script also switches it back. I'll post it later when i have a chance.
Top
xaviermiller
Bodhisattva
Bodhisattva
User avatar
Posts: 8738
Joined: Fri Jul 23, 2004 6:49 pm
Location: ~Brussels - Belgique
Contact:
Contact xaviermiller
Website

  • Quote

Post by xaviermiller » Tue Jun 07, 2011 8:48 pm

OK Thanks, I will try your override.

I found how to set multiple CHOSTS, by using ACCEPT_CHOSTS (man emerge).

I'm not a gamer, but a musician, and some pro-audio applications are using old audio libs. And I don't like BLOBS :)
Kind regards,
Xavier Miller
Top
rh1
Guru
Guru
User avatar
Posts: 501
Joined: Sat Apr 10, 2010 8:22 am

  • Quote

Post by rh1 » Wed Jun 08, 2011 2:35 am

Here's my really simple script to switch python-config back and forth. Of course, adjust python versions to match what is installed:

Code: Select all

#!/bin/bash

# Python 3 version
P3="3.2"
# Python 2 version
P2="2.7"

if [[ "${1}" == "--wrapper" ]] ; then
	cd /usr/bin
	rm /usr/bin/python-config-${P3}
	ln -svf ./abi-wrapper python-config-${P3}
	rm /usr/bin/python-config-${P2}
	ln -svf ./abi-wrapper python-config-${P2}

elif [[ "${1}" == "--python" ]] ; then
	cd /usr/bin
	rm /usr/bin/python-config-${P3}
	ln -svf ./python-config-${P3}-amd64 python-config-${P3}
	rm /usr/bin/python-config-${P2}
	ln -svf ./python-config-${P2}-amd64 python-config-${P2}

else
	echo "Usage: ${0} --wrapper || --python"
fi

Top
ohnobinki
n00b
n00b
User avatar
Posts: 9
Joined: Thu Nov 04, 2004 10:16 pm
Location: Michigan, United States
Contact:
Contact ohnobinki
Website

waf, python, portage-multilib

  • Quote

Post by ohnobinki » Wed Jun 08, 2011 5:13 am

rh1 wrote: Some packages try to use python-config directly as a python script, ( for instance sys-libs/talloc if you have the python use flag set) and fail because it's linked to the abi-wrapper which isn't written in python. For those i have a small script that i use to temporarly switch it to point at the actual python-config script. Other packages fail if it's not pointed at the abi-wrapper so script also switches it back. I'll post it later when i have a chance.
This is fixed in WAF#951 and this script to switch in/out the python-configs is a more ugly way to fix it :-p. Anything using waf-1.6.5p1 or newer should not have this problem. Unfortunately, there is no way to patch waf buildsystems in ebuilds (bug #367291). Same problem for pycairo (bug #367293), but I have a hacky fix for that committed to my overlay (pycairo-1.10.0-r1.ebuild) and have just pushed the same fix for talloc (my overlay is called `ohnobinki').

So, supposedly we have to wait for waf people to release a stable version of waf and then for all waf-using packages to upgrade to that and make releases with the newer waf. Which will take forever ;-).
[/url]
Top
rh1
Guru
Guru
User avatar
Posts: 501
Joined: Sat Apr 10, 2010 8:22 am

  • Quote

Post by rh1 » Wed Jun 08, 2011 10:00 am

Yep, I know script is ugly, it wasn't meant as fix, just a work around to install a couple of packages that refused to. Haven't observed any ill effects yet or i wouldn't of posted it. I will checkout you overlay then, thanks :)
Top
xaviermiller
Bodhisattva
Bodhisattva
User avatar
Posts: 8738
Joined: Fri Jul 23, 2004 6:49 pm
Location: ~Brussels - Belgique
Contact:
Contact xaviermiller
Website

  • Quote

Post by xaviermiller » Wed Jun 08, 2011 2:13 pm

Hello,

I changed the CHOST to a more standard "xxx-pc-linux-gnu" and the toolchain is compiled 8)
Now the system is rebuilding.
I think I will regenerate a stage1 to build a fresh "no-blob multilib" installation :)

Thank you for the support, I was almost to abandon the switch!
Kind regards,
Xavier Miller
Top
Post Reply

49 posts
  • 1
  • 2
  • Next

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy