Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Blender 2.66 - seems to be held back by Python 3.3
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
jasn
Guru
Guru


Joined: 05 May 2005
Posts: 439
Location: Maryland, US

PostPosted: Wed Mar 13, 2013 1:22 pm    Post subject: Reply with quote

So for clarity's sake here's what I did in order to emerge media-gfx/blender-2.66. Make sure you have no PYTHON_TARGET lines in your /etc/portage/make.conf and you haven't unmasked any python_target keywords in /etc/portage/profile/use.mask.

First in order to emerge dev-lang/python-3.3 you need to to add;

/etc/portage/package.keywords/[filename]
Code:
=dev-lang/python-3.3.0 **

and then emerge dev-lang/python-3.3.0. Do not set it to be the system wide interpreter. On my system I have eselect python set to 3.2, as I had both 3.2 and 2.7 already installed.

Next you need to unmask media-gfx/blender-2.66 by adding;

/etc/portage/package.unmask/[filename]
Code:
=media-gfx/blender-2.66

Next you need to unmask the python_target keywords for both media-gfx/blender-2.66 and the related python packages that it depends on, for python-3.3, by adding to;

/etc/portage/profile/package.use.mask
Code:
=dev-python/python-exec-0.3.1 -python_targets_python3_3
=dev-python/numpy-1.7.0 -python_targets_python3_3
=dev-python/setuptools-0.6.33 -python_targets_python3_3
=media-gfx/blender-2.66 -python_single_target_python3_3 -python_targets_python3_3

and finally you need to add the python_targets you just keyword unmasked to the specific packages by adding to;

/etc/portage/package.use/[filename]
Code:
=dev-python/python-exec-0.3.1 python_targets_python3_3
=dev-python/numpy-1.7.0 python_targets_python3_3
=dev-python/setuptools-0.6.33 python_targets_python3_3
=media-gfx/blender-2.66 python_single_target_python3_3 python_targets_python3_3

You should then be able to emerge media-gfx/blender-2.66.

I don't know the ramifications for enabling python-3.3 for python-exec, numpy and setuptools, and if this could cause issues for further emerges down the road. It's working for me now, but if anything conflicting crops up in future updates, the only solution may be to remove all of these related config settings and remove blender-2.66 and python-3.3, until python-3.3 it through testing.

Good Luck..
Back to top
View user's profile Send private message
eyoung100
Veteran
Veteran


Joined: 23 Jan 2004
Posts: 1428

PostPosted: Wed Mar 13, 2013 2:13 pm    Post subject: Reply with quote

The approach I took was much like yours, except that I kept /etc/portage/profile/use.mask I left this file because I want to know/remember that I have Python 3.3 installed. Each time I type
Code:
emerge --info
I can "see" that PYTHON_TARGETS and PYTHON_SINGLE_TARGET contain an entry for Python 3.3. I may consider this approach because it is more secure, in that it "hides" values from emerge --info. Either way works, as long as we stick to the approach we took, and use some common sense. Because we have all done this now, I expect some of us to join the CC List for (python-3.3) [TRACKER] Python-3.3 incompatible packages and contribute if we can, as not many users are brave enough to override a hard mask.
_________________
The Birth and Growth of Science is the Death and Atrophy of Art -- Unknown
Registerd Linux User #363735
Adopt a Post | Strip Comments| Emerge Wrapper
Back to top
View user's profile Send private message
jasn
Guru
Guru


Joined: 05 May 2005
Posts: 439
Location: Maryland, US

PostPosted: Wed Mar 13, 2013 4:15 pm    Post subject: Reply with quote

Thanks for your help. Based on your post, I also went ahead and added back;

/etc/portage/profile/use.mask
Code:
-python_targets_python3_3
-python_single_target_python3_3

so I could keep track of the fact that I have python-3.3 installed and in limited use. Which of course makes the entries I suggested to /etc/portage/profile/package.use.mask unnecessary now.

However afterwards, I couldn't see PYTHON_TARGETS and PYTHON_SINGLE_TARGET entries for Python 3.3 in my emerge --info, until I added them back to;

/etc/portage/make.conf
Code:
PYTHON_TARGETS="python2_7 python3_2 python3_3"
PYTHON_SINGLE_TARGET="python2_7"

BTW, I specifically didn't change PYTHON_SINGLE_TARGET from "python2_7" to "python3_3" in my make.conf, because I have several packages installed which have issues with it. They include the following packages who only have a PYTHON_SINGLE_TARGET maximum version of python2_7;
Code:
media-libs/alsa-lib-1.0.26-r1 PYTHON_SINGLE_TARGET="-python2_6 -python2_7*"
dev-libs/gobject-introspection-1.34.2-r1 PYTHON_SINGLE_TARGET="-python2_7*"
app-office/scribus-1.4.2-r2 PYTHON_SINGLE_TARGET="-python2_6 -python2_7*"
media-gfx/graphviz-2.28.0 PYTHON_SINGLE_TARGET="-python2_5 -python2_6 -python2_7*"
net-wireless/bluez-4.101-r5 PYTHON_SINGLE_TARGET="-python2_6 -python2_7*"
net-analyzer/wireshark-1.8.6-r1 PYTHON_SINGLE_TARGET="-python2_5 -python2_6 -python2_7*"

The following package which only have a PYTHON_SINGLE_TARGET maximum version of python3_2;
Code:
kde-base/kate-4.10.1 PYTHON_SINGLE_TARGET="-python2_7* -python3_1 -python3_2"

and the following packages which should re-emerge correctly, but because of this bug, x11-libs/xpyb-1.3.1-r1 can't be emerged with a PYTHON_SINGLE_TARGET version of python3_x;
Code:
x11-proto/xcb-proto-1.8-r1 PYTHON_SINGLE_TARGET="python3_3* -python2_5 -python2_6 -python2_7* -python3_1 -python3_2"
x11-libs/xpyb-1.3.1-r1 PYTHON_SINGLE_TARGET="python3_3* -python2_5 -python2_6 -python2_7* -python3_1 -python3_2"

(setting the PYTHON_SINGLE_TARGET="python2_7" for x11-libs/xpyb-1.3.1-r1 requires that it also be set in turn for x11-proto/xcb-proto-1.8-r1). In fact only these currently installed package re-emerged correctly when I changed PYTHON_SINGLE_TARGET="python3_3"
Code:
app-office/libreoffice-4.0.1.2 PYTHON_SINGLE_TARGET="python3_3* -python2_7*"
x11-libs/libxcb-1.9-r1 PYTHON_SINGLE_TARGET="python3_3* -python2_6 -python2_7* -python3_1 -python3_2"

Anyway now I see the following PYTHON related configuration in my emerge --info;
Code:
PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2 python3_3"

I also noticed that things like equery from gentoolkit stopped working, until I re-emerged gentoolkit. I'm going to go ahead and do a python-updater now, to basically clean things up.

Thanks again..
Back to top
View user's profile Send private message
longshot
Tux's lil' helper
Tux's lil' helper


Joined: 04 Sep 2003
Posts: 90

PostPosted: Sun Mar 17, 2013 7:35 am    Post subject: Reply with quote

Thanks. Worked for me.

After blender had built I set

PYTHON_TARGETS="python2_7 python3_2"
PYTHON_SINGLE_TARGET="python2_7"

That caused emerge -NuD world to rebuild numpy and setuptools, but not python-exec. It also tried to rebuild blender but failed
* ERROR: media-gfx/blender-2.66 failed (setup phase):
* No supported Python implementation in PYTHON_SINGLE_TARGET.

So anyway blender works with python 3.3 installed but (I hope) back to using older pythons for everything else. Don't want things to break ATM.

Looks like python 3.3 and thus blender just waiting on bug 364877 ?
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu Mar 21, 2013 1:30 am    Post subject: Reply with quote

I applied:

Quote:

/etc/portage/profile/use.mask
-python_targets_python3_3
-python_single_target_python3_3

/etc/portage/package.unmask
=media-gfx/blender-2.66

/etc/portage/package.accept_keywords
# required for blender-2.66# 3/19/2013
=media-gfx/blender-2.66 ~amd64
=dev-lang/python-3.3.0 **
=dev-cpp/glog-0.3.2 ~amd64
=dev-cpp/gflags-2.0 ~amd64
=sci-libs/suitesparseconfig-4.0.2 ~amd64
=dev-python/numpy-1.7.0 ~amd64
=sci-libs/ldl-2.1.0 ~amd64
=dev-python/setuptools-0.6.33 ~amd64

/etc/portage/package.use
# don't do this --v
# =media-gfx/blender-2.66 PYTHON_SINGLE_TARGET="python3_3 -python2_7"
# instead do this --v
=media-gfx/blender-2.66 python_single_target_python3_3 python_targets_python3_3

/etc/portage/make.conf
PYTHON_TARGETS="python2_7 python3_2 python3_3"
PYTHON_SINGLE_TARGET="python2_7"


3/19, yesterday, this built blender-2.66 fine from current sync. Didn't need to specify python3_3 as single target in make.conf or temporary prefix on emerge. This somewhat surprised me and probably sounds like crazy talk. Couldn't find the variable being defined on the emerge call in bash history nor did I set to 3_3 in make.conf.

3/20, today, after sync, sys-devel/bc-1.06.95 and sys-devel/gettext-0.18.1.1-r3 appeared to act as prerequisits for a blender rebuild on world update.

The odd part was the attempted re-emerge would always show:
Code:
PYTHON_SINGLE_TARGET="-python3_3*"
I see nothing new on /usr/portage/profiles/base/use.mask or /usr/portage/profiles/package.mask to indicate a problem. :? I was forced to prefix assert that variable to get a non [-python3_3] state on emerge. Which of course will error out early on checks in the build. I looked at the bash history from yesterday to further convince myself and I never defined the single target variable in prefix or globally.

EDIT: 3/31, I'm guessing I had made a mistake in my package.use file. Changed to correct proper target/targets for use. Now works fine, --oneshot emerged to avoid having in world file and needed to update sys-apps/sandbox-2.5 to ~2.6-r1 due to new blocker (<2.6) on emerging python-3.3.0 on an x86 test setup.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.


Last edited by Navar on Mon Apr 01, 2013 4:34 am; edited 1 time in total
Back to top
View user's profile Send private message
snum
n00b
n00b


Joined: 16 Jun 2012
Posts: 43

PostPosted: Thu Mar 21, 2013 9:11 pm    Post subject: Reply with quote

Hi,

Is there a simpler solution? What is the latest stabile version does not masked?
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Fri Mar 22, 2013 6:02 am    Post subject: Reply with quote

Your only options for now are the route in this thread or unmask blender-2.64a, see from /usr/portage/profiles/package.mask:

Quote:

# Julian Ospald <hasufell@gentoo.org> (10 Mar 2013)
# Unsupported and full of bundled libs. Only left
# for people who don't have python-3.3 yet.
# Will be removed once python-3.3 and >=blender-2.66 enter ~arch.
=media-gfx/blender-2.64a


I suspect python-3.3 won't be hardmasked for too much longer.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
snum
n00b
n00b


Joined: 16 Jun 2012
Posts: 43

PostPosted: Fri Mar 22, 2013 8:59 am    Post subject: Reply with quote

I think blender-2.66 is a step forward and I installed this version of the program using jasn's method.
All is ok. The software installed correctly. Thank you for your help.

I does not understand some points and will be very grateful for an explanation(or a link where you can read about this):
1. Python
I have never been "PYTHON_TARGETS" and "PYTHON_SINGLE_TARGET" parameters in make.conf. I use "eselect python set" command to install the version of python. What about now? If python version changes I would run "eselect python" command and edit make.conf? Is this correct?
2. / etc / portage / profile / use.mask
I've never had this configuration file.
What information should I store in this file. what is the difference from the / etc / portage / package.use
Do I need to run the command 'source / etc / profile' after changing the contents of this file?
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Sat Mar 23, 2013 12:39 am    Post subject: Why unmasking hardmasks is generally a very BAD idea Reply with quote

First, thanks again to those who went through the efforts in figuring out how to get this to build currently.

@snum,

The answers for most of what you've asked for are detailed or link referenced earlier in this thread.

Continue using eselect python for setting your python2 and python3 interpreters. This juggles the relevant symbolic links on your system for you so you don't need to worry about it. Until things change your primary system selection should remain 2.7 (seen on eselect python list) and the python2 and python3 should still be set to 2.7 and 3.2 respectively.

The /etc/portage/profile/use.mask is a USE flag profile override versus what the developers have currently hardmasked not being available, usually with strong reasons.

You normally would not do any hardmask overrides, but it is necessary on a temporary basis for this case because blender-2.66 requires python 3.3, which is currently hardmasked. There would be no way for you to emerge the existing ebuild otherwise. If something goes wrong on your end due to this, you're on your own for support. This is why blender-2.64a still exists in the tree. Although the way I remember it, blender was stuck in pre-2.50 bugged limbo, finally killed off in rebuilding properly after updates and removed entirely from the tree for a time after last rites were issued, unfortunately. Either way it is a developer issue on a complex package that offers unrestricted python execution and therefore has remained an ongoing security concern in the past, which to my knowledge, only Gentoo has fought with trying to patch to protect users. It also by default bundles system libraries (something which a sourced base distribution would be a huge fan of [sic]) which the Gentoo devs have had to patch to fight around. More info for the curious on current problems. Blender supports building via SCons (which actually uses python) or CMake instead of one standardized method, which most likely just causes further headaches for many distributions. I presume this was intended to support even more cross platform availability rather than the blender developers just 'enjoying' further complexity.

Regardless, because of the steps explained and followed in this thread, you need to understand that blender-2.66 is not generally available, being hardmasked out with hardmasked dependencies and your full acceptance of the risks when you ignore the road blocks.

You should refer to this thread in the future when the situation on blender-2.66 and python3.3 changes (to at least ~ testing or stable status) along with useful #comments to yourself in the files listed that we (and you) changed manually to make this work. That way you can revert the changes when they are no longer needed.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
snum
n00b
n00b


Joined: 16 Jun 2012
Posts: 43

PostPosted: Sat Mar 23, 2013 10:42 am    Post subject: Re: Why unmasking hardmasks is generally a very BAD idea Reply with quote

Many thanks for the clarification!

Navar wrote:
First, thanks again to those who went through the efforts in figuring out how to get this to build currently.

@snum,

The answers for most of what you've asked for are detailed or link referenced earlier in this thread.

Continue using eselect python for setting your python2 and python3 interpreters. This juggles the relevant symbolic links on your system for you so you don't need to worry about it. Until things change your primary system selection should remain 2.7 (seen on eselect python list) and the python2 and python3 should still be set to 2.7 and 3.2 respectively.

The /etc/portage/profile/use.mask is a USE flag profile override versus what the developers have currently hardmasked not being available, usually with strong reasons.

You normally would not do any hardmask overrides, but it is necessary on a temporary basis for this case because blender-2.66 requires python 3.3, which is currently hardmasked. There would be no way for you to emerge the existing ebuild otherwise. If something goes wrong on your end due to this, you're on your own for support. This is why blender-2.64a still exists in the tree. Although the way I remember it, blender was stuck in pre-2.50 bugged limbo, finally killed off in rebuilding properly after updates and removed entirely from the tree for a time after last rites were issued, unfortunately. Either way it is a developer issue on a complex package that offers unrestricted python execution and therefore has remained an ongoing security concern in the past, which to my knowledge, only Gentoo has fought with trying to patch to protect users. It also by default bundles system libraries (something which a sourced base distribution would be a huge fan of [sic]) which the Gentoo devs have had to patch to fight around. More info for the curious on current problems. Blender supports building via SCons (which actually uses python) or CMake instead of one standardized method, which most likely just causes further headaches for many distributions. I presume this was intended to support even more cross platform availability rather than the blender developers just 'enjoying' further complexity.

Regardless, because of the steps explained and followed in this thread, you need to understand that blender-2.66 is not generally available, being hardmasked out with hardmasked dependencies and your full acceptance of the risks when you ignore the road blocks.

You should refer to this thread in the future when the situation on blender-2.66 and python3.3 changes (to at least ~ testing or stable status) along with useful #comments to yourself in the files listed that we (and you) changed manually to make this work. That way you can revert the changes when they are no longer needed.
Back to top
View user's profile Send private message
dasPaul
Apprentice
Apprentice


Joined: 14 Feb 2012
Posts: 243
Location: Dresden

PostPosted: Sat May 04, 2013 10:23 am    Post subject: Reply with quote

Can you please help me? I tried to emerge blender but now I stuck at:

Quote:

itsAgentoo mega # emerge blender
Calculating dependencies... done!
[ebuild NS *] dev-lang/python-3.3.1 [2.7.3-r3, 3.2.3-r2] USE="gdbm ncurses readline ssl threads xml -build -doc -examples -hardened -ipv6 -sqlite -tk -wininst"
[ebuild N #] media-gfx/blender-2.66 USE="boost bullet collada cycles dds elbeem ffmpeg fftw game-engine jpeg2k nls openexr openmp player redcode sdl sse tiff -colorio -debug -doc -jack -ndof -openal -sndfile" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="-python3_3"
[blocks B ] <sys-apps/sandbox-2.6-r1 ("<sys-apps/sandbox-2.6-r1" is hard blocking dev-lang/python-3.3.1)

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(sys-apps/sandbox-2.5::gentoo, installed) pulled in by
>=sys-apps/sandbox-2.2 required by (sys-apps/portage-2.1.11.62::gentoo, installed)

(dev-lang/python-3.3.1::gentoo, ebuild scheduled for merge) pulled in by
>=dev-lang/python-2.7 required by (sys-apps/portage-2.1.11.62::gentoo, installed)
dev-lang/python:3.3 required by (media-gfx/blender-2.66::gentoo, ebuild scheduled for merge)
dev-lang/python required by (app-admin/python-updater-0.10::gentoo, installed)
dev-lang/python[xml] required by (app-portage/gentoolkit-0.3.0.7::gentoo, installed)
dev-lang/python required by (app-portage/gentoolkit-0.3.0.7::gentoo, installed)
>=dev-lang/python-2.7[ssl] required by (sys-apps/portage-2.1.11.62::gentoo, installed)
>=dev-lang/python-2.6[xml] required by (app-portage/gentoolkit-0.3.0.7::gentoo, installed)


itsAgentoo mega # equery d sandbox
* These packages depend on sandbox:
sys-apps/portage-2.1.11.62 (elibc_glibc ? >=sys-apps/sandbox-2.2)
(elibc_uclibc ? >=sys-apps/sandbox-2.2)




I guess sandbox blocks python3.3 but is required by portage? How can I solve this?
Back to top
View user's profile Send private message
_______0
Guru
Guru


Joined: 15 Oct 2012
Posts: 521

PostPosted: Sat May 04, 2013 1:10 pm    Post subject: Reply with quote

gentoo lacking a proper Blender ebuild is a fail of epic proportions and brand tarnishing.

just sayin'

:(
Back to top
View user's profile Send private message
eyoung100
Veteran
Veteran


Joined: 23 Jan 2004
Posts: 1428

PostPosted: Sat May 04, 2013 6:48 pm    Post subject: Reply with quote

Quote:
I guess sandbox blocks python3.3 but is required by portage? How can I solve this?

First
Code:
emerge -pv sandbox
If the version is 2.6 add the folling to package.mask

Code:
>sys-apps/sandbox-2.6
or better yet, remove sys-apps/sandbox from package.keywords if it exists.


_______0 wrote:
gentoo lacking a proper Blender ebuild is a fail of epic proportions and brand tarnishing.

just sayin'


This is because Portage is built on Python, and for most users, who dont need anything but emerge working(which doesn't work mind you, if eselect python is set to 3.3, not because emerge won't work, but all the python modules aren't ready for 3.3) this task isn't trivial. If you'd like the ebuild unmasked, kindly look at the blocker bug I referred to earlier, and work with those upstream mantainers to get their source up to 3.3.
_________________
The Birth and Growth of Science is the Death and Atrophy of Art -- Unknown
Registerd Linux User #363735
Adopt a Post | Strip Comments| Emerge Wrapper
Back to top
View user's profile Send private message
dasPaul
Apprentice
Apprentice


Joined: 14 Feb 2012
Posts: 243
Location: Dresden

PostPosted: Sun May 05, 2013 7:17 am    Post subject: Reply with quote

I magically somehow solved it by:

adding to portage.keywords
Code:

...
sys-apps/sandbox ~amd64
...


explicitly adding python targets in portage.use
Code:

...
media-gfx/blender python_single_target_python3_3 python_targets_python3_3
>=dev-python/numpy-1.7.1 python_targets_python3_3
=dev-python/setuptools-0.6.33 python_targets_python3_3
...


... and emerge blender successfully finished
Back to top
View user's profile Send private message
jesseakc
n00b
n00b


Joined: 05 May 2013
Posts: 2

PostPosted: Sun May 05, 2013 7:36 pm    Post subject: Reply with quote

eyoung100 wrote:
First
Code:
emerge -pv sandbox
If the version is 2.6 add the folling to package.mask

Code:
>sys-apps/sandbox-2.6
or better yet, remove sys-apps/sandbox from package.keywords if it exists.



Still no love from python... What is sandbox? Do I need it?

Code:
[ebuild  NS   *] dev-lang/python-3.3.0 [2.7.3-r3, 3.2.3-r2] USE="gdbm ipv6 ncurses readline ssl threads xml -build -doc -examples -hardened -sqlite -tk -wininst"
[blocks B      ] <sys-apps/sandbox-2.6-r1 ("<sys-apps/sandbox-2.6-r1" is blocking dev-lang/python-3.3.0)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-lang/python-3.3.0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-lang/python-2.7 required by (sys-apps/portage-2.1.11.55::gentoo, installed)
    dev-lang/python
    >=dev-lang/python-2.7[ssl] required by (sys-apps/portage-2.1.11.55::gentoo, installed)
    dev-lang/python required by (app-admin/python-updater-0.10::gentoo, installed)

  (sys-apps/sandbox-2.5::gentoo, installed) pulled in by
    >=sys-apps/sandbox-2.2 required by (sys-apps/portage-2.1.11.55::gentoo, installed)


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked
Back to top
View user's profile Send private message
eyoung100
Veteran
Veteran


Joined: 23 Jan 2004
Posts: 1428

PostPosted: Mon May 06, 2013 10:01 pm    Post subject: Reply with quote

my mistake try:
Code:
<sys-apps/sandbox-2.6

_________________
The Birth and Growth of Science is the Death and Atrophy of Art -- Unknown
Registerd Linux User #363735
Adopt a Post | Strip Comments| Emerge Wrapper
Back to top
View user's profile Send private message
jesseakc
n00b
n00b


Joined: 05 May 2013
Posts: 2

PostPosted: Tue May 07, 2013 2:34 am    Post subject: Reply with quote

eyoung100 wrote:

Code:
<sys-apps/sandbox-2.6


Yup, that did it. THANKS!
Back to top
View user's profile Send private message
_______0
Guru
Guru


Joined: 15 Oct 2012
Posts: 521

PostPosted: Tue May 07, 2013 2:31 pm    Post subject: Reply with quote

eyoung100 wrote:

This is because Portage is built on Python, and for most users, who dont need anything but emerge working(which doesn't work mind you, if eselect python is set to 3.3, not because emerge won't work, but all the python modules aren't ready for 3.3) this task isn't trivial. If you'd like the ebuild unmasked, kindly look at the blocker bug I referred to earlier, and work with those upstream mantainers to get their source up to 3.3.


Upstream maintainers of what? Python? Blender? Gentoo Ebuilds?

In the end what's the complete solution? Can someone post ALL the steps together to follow?

thanks
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu May 09, 2013 2:32 am    Post subject: Reply with quote

dasPaul wrote:
I magically somehow solved it by:

adding to portage.keywords
Code:

...
sys-apps/sandbox ~amd64
...


explicitly adding python targets in portage.use


No magic. You just resolved the RDEPEND blocker requirement (!!<sys-apps/sandbox-2.6-r1) of =sys-apps/sandbox-2.6-r1 ~amd64 in a more broad fashion (for all sys-apps/sandbox versions...) You can always change it to that specific =sys-apps/sandbox-2.6-r1 ~amd64 in your keywords file to avoid further ~amd64 revisions of the same that may not be necessary.

Although my ebuild syntax isn't yet up on !! versus ! use.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu May 09, 2013 2:42 am    Post subject: Reply with quote

_______0 wrote:
Upstream maintainers of what? Python? Blender? Gentoo Ebuilds?
In the end what's the complete solution? Can someone post ALL the steps together to follow?


Caveat lector:
  • There are about 5 blockers remaining on python3.3. Blockers in this case are other packages upstream (meaning not Gentoo, but the original authors) that are broken in some manner with python3.3 that other packages are dependent upon. Left as an exercise to the more curious readers on, again, what and why, here: https://bugs.gentoo.org/437322 .

  • Python3.3 currently hardmasked is not the only issue affecting Blender in Gentoo. Again, see http://blog.flameeyes.eu/tag/blender left as an exercise to readers who find this trival.

  • Regarding sandbox functionality and why you shouldn't obliterate it: https://forums.gentoo.org/viewtopic-t-613649-start-0.html This is on by default in your FEATURES and at least used to be considered a bug if a particular ebuild required it off. Resolving this as a blocker on python3.3 you can either stay with your older non-sync upgraded portage 2.1.11.55 following eyoung100's suggestions, or following mine below.

Yet another summary installation HOWTO as of 5/8/2013, you're otherwise completely on your own, any pieces broken and all:

Pre-requirements: basic Gentoo knowledge and your portage tree sync'ed to at least 5/7/2013.
Append respective lines into the files in bold,
Quote:

/etc/portage/profile/use.mask
-python_targets_python3_3
-python_single_target_python3_3

/etc/portage/package.unmask
=media-gfx/blender-2.66

/etc/portage/package.accept_keywords change amd64 to x86 as appropriate
# required for blender-2.66# 3/19/2013
=media-gfx/blender-2.66 ~amd64
=dev-lang/python-3.3.0 **
=dev-cpp/glog-0.3.2 ~amd64
=dev-cpp/gflags-2.0 ~amd64
=sci-libs/suitesparseconfig-4.0.2 ~amd64
=dev-python/numpy-1.7.0 ~amd64
=sci-libs/ldl-2.1.0 ~amd64
=dev-python/setuptools-0.6.33 ~amd64
# RDEP for python-3.3.0 3/31/2013
=sys-apps/sandbox-2.6-r1 ~amd64

/etc/portage/package.use
# required by =media-gfx/blender-2.66
=dev-cpp/glog-0.3.2 gflags
=media-gfx/blender-2.66 python_single_target_python3_3 python_targets_python3_3

/etc/portage/make.conf or /etc/make.conf, wherever your one copy resides
PYTHON_TARGETS="python2_7 python3_2 python3_3"
PYTHON_SINGLE_TARGET="python2_7"


Code:

root # emerge -1av =sys-apps/sandbox-2.6-r1
root # emerge -1av =portage
root # emerge -1av =media-gfx/blender-2.66


(Actually, that's not entirely true in my particular case for this test, I had to
Code:
emerge -1av =media-gfx/blender-2.66::x-portage
(my own overlay revised copy) due to sse2 build issues with an older non-sse2 capable CPU. See my followup post for details if interested.)

This will bring in python-3.3 and portage version 2.1.11.62 if not already installed (available since 4/12) while not adding blender-2.66 to the world file for further updates because I don't want to break it or deal with breakages for some time until it's back in a more stable form.

Success, even on an older x86 system with distcc cross compiling from amd64 I've been lazy about updating lately. YMMV.

Your python setup should still look like this:
Code:

# eselect python list
Available Python interpreters:
  [1]   python2.7 *
  [2]   python3.2
  [3]   python3.3
# eselect python list --python2
Available Python 2 interpreters:
  [1]   python2.7 *
# eselect python list --python3
Available Python 3 interpreters:
  [1]   python3.2 *
  [2]   python3.3

_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu May 09, 2013 3:02 am    Post subject: sse without sse2 build option for older hardware Reply with quote

Filed bug report for the issue.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.


Last edited by Navar on Wed Jul 03, 2013 2:51 am; edited 1 time in total
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Fri Jun 21, 2013 3:28 pm    Post subject: Reply with quote

should be fixed (in a different way)
Back to top
View user's profile Send private message
lindegur
Apprentice
Apprentice


Joined: 14 Aug 2004
Posts: 292
Location: Swiss mountains

PostPosted: Fri Jul 19, 2013 9:52 am    Post subject: Reply with quote

Occasionally I work with blender and now I tried to emerge it and it failed.
I struggled with fixing it, I got confused and I was worried to break my gentoo installation.
But actually my priorities are working with blender and not fixing its ebuild. :?

Since this is not the first time that I run into such a situation I looked for an ebuild that installs a binary version of blender. :wink:
However I could not find anything, so I planed to write myself an ebuild. :cry:

Therefore I downloaded blender from www.blender.org and read what I have to do to install it. As a surprise I found that all I have to do is un-tar.bz2 it into my home directory or somewhere else and just run it, there is no installation. 8O

Now I have blender 2.67b running well, I'm happy and I'm doing my blender work. :roll:
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Fri Jul 19, 2013 1:56 pm    Post subject: Reply with quote

lindegur wrote:
Occasionally I work with blender and now I tried to emerge it and it failed.

That does not help me or other users.

File a bug https://bugs.gentoo.org/ and describe your problem, otherwise it will never be fixed.

Also: binary packages suck and are not really gentoo.
Back to top
View user's profile Send private message
Illiander
Apprentice
Apprentice


Joined: 22 Feb 2011
Posts: 250

PostPosted: Sun Sep 14, 2014 2:46 pm    Post subject: Reply with quote

And now we have all this trouble again, but with python 3.4

Code:
~ # eselect python list
Available Python interpreters:
  [1]   python2.6
  [2]   python2.7 *
  [3]   python3.2
  [4]   python3.3


Code:
~ # emerge =media-gfx/blender-2.69 libreoffice
Calculating dependencies /

!!! Problem resolving dependencies for =media-gfx/blender-2.69
... done!

!!! The ebuild selected to satisfy "=media-gfx/blender-2.69" has unmet requirements.
- media-gfx/blender-2.69::gentoo USE="boost bullet dds elbeem ffmpeg game-engine jpeg2k nls openal openexr openmp sdl sse sse2 tiff -collada -colorio -cycles -debug -doc -fftw -jack -ndof -player -redcode -sndfile" ABI_X86="64" PYTHON_SINGLE_TARGET="-python3_3" PYTHON_TARGETS="python3_3"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python_single_target_python3_3

  The above constraints are a subset of the following complete expression:
    python_single_target_python3_3? ( python_targets_python3_3 ) exactly-one-of ( python_single_target_python3_3 ) player? ( game-engine ) redcode? ( jpeg2k ffmpeg ) cycles? ( boost openexr tiff ) nls? ( boost ) game-engine? ( boost )


So, I have Python3.3 installed, I'm installing a version of Blender that wants Python3.3 (Because Python3.4 is masked), and it's complaining that I don't have Python3.3?

Seriously, this needs fixing in portage. How are any of these ebuilds live when they don't work?

(And why doesn't portage detect that the latest unmasked Blender requires a masked Python, and go find one that it *can* install?)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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