
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])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.";

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?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.
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.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.

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?Carnildo wrote: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.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.

Just take the output of eselect profile show, or from this eselect profile list, and prepend PORTDIR to it. For your case:hedmo wrote: i did not check the target of /etc/make.profileso 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 *
Code: Select all
$ echo $(portageq portdir)/default/linux/amd64/10.0
/usr/portage/default/linux/amd64/10.0
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 settinghedmo 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])
Code: Select all
MULTILIB_ABI="amd64 x86"Code: Select all
emerge --nodeps -1v {glibc,gcc,<other problematic packages>}Code: Select all
dev-libs/atk multilib_abi_x86Prefix the selected profile with "/usr/portage/profiles/" and you should get the right path to the profile to insert.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.profileso 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 #
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.
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])
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.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 crosscompile support, you need "my" version of portage, since only the overlay version has the needed changes to support cross-compilation internally.about portage.i did not think i needed "your" portage.i am on 9999.
I think this is most likely due to your profile not being set 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)
Code: Select all
/usr/portage/profiles/default/linux/amd64/10.0
/<path_to_overlay>/profiles/base
Which programs would those be?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.
I know there were a couple, can't remember the others but here is the output from ufed when setup like instructions state:Which programs would those be?
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.

Code: Select all
[DEFAULT]
eclass-overrides = gentoo multilib
[multilib]
eclass-overrides = gentoo multilib
Code: Select all
[gentoo]
eclass-overrides = multilib

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

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').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.
