Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sem_open implementation on chromium install
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
jhon987
Guru
Guru


Joined: 18 Nov 2013
Posts: 302

PostPosted: Tue Nov 19, 2013 1:14 am    Post subject: sem_open implementation on chromium install Reply with quote

hi, I'm trying to emerge chromium 32.0.1700.14 but am stuck at this:

Code:
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.


since the line before I see: File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 59
I'm guessing it has something to do with python!? although google lead me to set my /dev/shm in fstab - that didn't work for me (perhaps I did it wrong) :?:
I use gnome 3.8 with systemd if it helps.

thanks for helping in advance
Back to top
View user's profile Send private message
eyoung100
Veteran
Veteran


Joined: 23 Jan 2004
Posts: 1428

PostPosted: Tue Nov 19, 2013 5:43 pm    Post subject: Reply with quote

Code:
eselect python list

_________________
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
jhon987
Guru
Guru


Joined: 18 Nov 2013
Posts: 302

PostPosted: Tue Nov 19, 2013 5:54 pm    Post subject: Reply with quote

eyoung100 wrote:
Code:
eselect python list


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


make.conf:
Code:
PYTHON_TARGETS="python2_7 python3_2 python3_3"
PYTHON_SINGLE_TARGET="python2_7"
USE_PYTHON='2.7 3.2 3.3'


any idea?
Back to top
View user's profile Send private message
eyoung100
Veteran
Veteran


Joined: 23 Jan 2004
Posts: 1428

PostPosted: Tue Nov 19, 2013 5:57 pm    Post subject: Reply with quote

Code:
emerge -av chromium
Answer N

_________________
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
jhon987
Guru
Guru


Joined: 18 Nov 2013
Posts: 302

PostPosted: Tue Nov 19, 2013 6:09 pm    Post subject: Reply with quote

eyoung100 wrote:
Code:
emerge -av chromium
Answer N


Code:
  from .queues import SimpleQueue
  File "/usr/lib64/python2.7/multiprocessing/queues.py", line 48, in <module>
    from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition
  File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 59, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
 * ERROR: www-client/chromium-32.0.1700.14::gentoo failed (configure phase):
 *   (no error message)


perhaps this might shed more light on the matter?
Back to top
View user's profile Send private message
snkmoorthy
Guru
Guru


Joined: 19 Nov 2002
Posts: 376

PostPosted: Thu Dec 05, 2013 1:35 am    Post subject: Reply with quote

I downgraded to 2.7.5-r3 till a fix is found.
Back to top
View user's profile Send private message
elmicz1
n00b
n00b


Joined: 15 Mar 2013
Posts: 5

PostPosted: Sat Dec 14, 2013 7:43 am    Post subject: Reply with quote

I was stuck with the same error but here is what did the trick for me:

Following this post http://stackoverflow.com/questions/9015010/python-sem-open-error it seems that during the upgrade to Gnome3.8 and Systemd /dev/shm was not mounted. (I did a full rebuild of @world since I wasn't able to get systemd started first).

Quote:

1. Add this line to /etc/fstab EDITED: When using OpenRC, otherwise comment it out
Code:
tmpfs   /dev/shm    tmpfs   defaults        0   0

2. Mount /dev/shm EDITED: When running OpenRC
Code:
mount /dev/shm

3. Rebuild Python
Code:
emerge -qa python:2.7 python

4. Rebulid all Python stuff
Code:
python-updater

5. (optional)
Code:
emerge @preserved-rebuild && revdep-rebuild -q

6. Install chromium/update world
Code:
emerge -DuNq @world



I hope this works for others as well.


Last edited by elmicz1 on Thu Dec 19, 2013 8:43 pm; edited 1 time in total
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Dec 16, 2013 5:27 am    Post subject: Reply with quote

Interesting, elmicz1. I've had this in /etc/fstab for ages:
Code:
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

ISTR some daemon mounts things early nowadays, but I've always kept that line in fstab, and never had the /dev one (which is handled by CONFIG_DEVTMPFS_MOUNT, and checked by some script.) Sorry for vague, bit tired.
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Mon Dec 16, 2013 6:29 am    Post subject: Reply with quote

The /dev/shm /etc/fstab redundancy was discussed back in this thread due to udev/devtmpfs. However far back the glibc-2.2 shared memory requirement started. My install here only dates back to 2008. The comment line telling the user to do this in /etc/fstab stuck in however many released stage 3s for a time (prior to May 2013 udev changes). My amd64 system installed in Nov 2012 still had the reference.

See also.

Elmicz1, you shouldn't need the tmpfs /dev/shm line in your /etc/fstab since udev embedded into the systemd is supposed to handle it for you.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Dec 16, 2013 7:30 pm    Post subject: Reply with quote

Yes I read that a while ago, but to me it's similar to CONFIG_DEVTMPFS_MOUNT, which is technically redundant in the same manner.
However it does not hurt, and means that things are working should a userland-component fail. After all, there is no situation where I do not want shared-memory working, so I'd rather get it out of the way and done, robustly. Though I guess I need a relatime option in fstab.

Personally I prefer to think of udev as being redundant in this situation, since it's unnecessary, but I'm all for the initscript ensuring the mount has happened. Nor is there anything wrong with ideas being prototyped in userland, and then moved back into the kernel, of which devtmpfs is an example. I just wish it were acknowledged that that is what is happening. Of course no-one would develop software like that if they had any sense: they'd prototype and then feed it back in based on testing, before pushing it to end-users for acceptance testing.

Oh and that they'd swallow their pride and admit they messed up network naming big time, and move that into the kernel for admins who actually need it, and forget about trying to do that on a desktop or laptop, or smaller, where it simply is a waste of time. Just the latter will do, since they're unlikely ever to admit a mistake (just draw attention to it 4 years later, as justification for the next dumbass idea.)
Back to top
View user's profile Send private message
elmicz1
n00b
n00b


Joined: 15 Mar 2013
Posts: 5

PostPosted: Thu Dec 19, 2013 8:42 pm    Post subject: Reply with quote

Navar wrote:
Elmicz1, you shouldn't need the tmpfs /dev/shm line in your /etc/fstab since udev embedded into the systemd is supposed to handle it for you.


Thanks for pointing that out, Navar. I removed that line from /etc/fstab, rebooted, rebuild python and then build chromium. I guess the problem was that the line was missing when I rebuild python on openrc while trying to install systemd.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Fri Dec 20, 2013 12:35 am    Post subject: Reply with quote

My bad, udev is not redundant when it's starting in initramfs, and there's no /etc/fstab.

For those of us running without an initramfs, the line is still useful. There's an argument for having it as a kernel-option, same as devtmpfs mount, but I guess even an embedded system has initscripts.
Back to top
View user's profile Send private message
lost-distance
n00b
n00b


Joined: 10 Apr 2003
Posts: 73

PostPosted: Mon Dec 23, 2013 4:40 pm    Post subject: Reply with quote

I encountered the same sem_open failure when trying to build www-client/chromium-32.0.1700.68.

My solution was to re-emerge dev-lang/python-2.7.5-r3.
Back to top
View user's profile Send private message
Angrychile
Apprentice
Apprentice


Joined: 27 Oct 2009
Posts: 235

PostPosted: Fri Jan 10, 2014 3:15 am    Post subject: Reply with quote

Not to cause some forum necromancy, but I have a theory. This error showed up for both python2.7 and 3.3 on my machine--to trigger, I did something like
Code:
python2 -c 'import multiprocessing.synchronize'
. I made no changes to fstab (I'm using openrc), but simply re-emerging both fixed this.

Not sure, but I believe this is the first time I emerged either python since I installed a month ago, ie., it may be the pythons I had before the re-emerge installed were from the stage3 tarball I used to install. Could that have anything to do with this?
_________________
hola
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu Feb 06, 2014 1:49 am    Post subject: Reply with quote

steveL wrote:
My bad, udev is not redundant when it's starting in initramfs, and there's no /etc/fstab.

For those of us running without an initramfs, the line is still useful. There's an argument for having it as a kernel-option, same as devtmpfs mount, but I guess even an embedded system has initscripts.

Sorry, I don't follow. Would you care to elaborate further? Was there something Ssuominen wasn't saying or some other situation I'm missing? I am on OpenRC, no initramfs for 5+ years and the old shm /dev/shm tmpfs etc. line is removed/commented out per the past threads mentioned. My limited understanding was either the kernel (configured with support) already provided the respective dev node for same and/or udev functionality, via leveraged kernel support, provided sometime after version ~170ish. Mount showed respective (dev)tmpfs still being mounted since. So I didn't spend further time investigating the details and went about my merry way. If I switch to eudev or some such am I going to need such setups back in fstab given a kernel >3.4?
_________________
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 Feb 06, 2014 1:52 am    Post subject: Reply with quote

@Angrychile, no idea. Maybe an issue of not running python-updater. I did not run into these issues with my build (amd64) of chromium-32.0.1700.102, but maybe I will during today's update. 8O Python-2.7.5-r3 is what is installed. I think the same is true for my x86 setups but I haven't checked.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Fri Feb 07, 2014 7:55 am    Post subject: Reply with quote

Navar wrote:
Sorry, I don't follow. Would you care to elaborate further?

Firstly, don't worry about your system: it's mounted automatically.

The point I was making was only that it's redundant in the same way as CONFIG_DEVTMPFS_MOUNT is, in that both are handled by a service during startup, so there's no need for the alternative. However, if your services aren't starting for some reason, you still want libc operational. Not that things would fall over that badly, but I don't know the ins and outs, and I'd rather just mount it from fstab and let the service say it's already mounted. The latter doesn't bother me any, in fact it reassures me.

Assuming that isn't all outdated and it's now done differently to how I remember. In any event, if it's that important I don't think it should be down to initscripts to sort out. Either that, or we stop pretending anything implemented in shell must be the devil's work ;)

I don't like the idea of a system that won't operate without udev either, if I'm honest, let alone dbus. The whole thing just feels icky.
Back to top
View user's profile Send private message
diablo465
Apprentice
Apprentice


Joined: 10 Sep 2013
Posts: 194

PostPosted: Fri Feb 21, 2014 1:27 pm    Post subject: Reply with quote

same problem here, no solution so far.
Back to top
View user's profile Send private message
AgBr
Apprentice
Apprentice


Joined: 06 Nov 2010
Posts: 195

PostPosted: Sat Feb 22, 2014 11:48 am    Post subject: Reply with quote

lost-distance wrote:
I encountered the same sem_open failure when trying to build www-client/chromium-32.0.1700.68.

My solution was to re-emerge dev-lang/python-2.7.5-r3.


Excuse my ignorance. But how can I reemerge a certain version of a package? I have 2.7 and 3.3 installed while having 2.7 active.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Sat Feb 22, 2014 12:06 pm    Post subject: Reply with quote

AgBr wrote:
Excuse my ignorance. But how can I reemerge a certain version of a package? I have 2.7 and 3.3 installed while having 2.7 active.

AgBr ... you can use the slot designation like so:

Code:
# emerge --oneshot python:2.7

... similarly for python:3.3

You might also explicitly stipulate the package version required ...

Code:
# emerge --oneshot =dev-lang/python-2.7.5-r3

HTH & best ... khay
Back to top
View user's profile Send private message
AgBr
Apprentice
Apprentice


Joined: 06 Nov 2010
Posts: 195

PostPosted: Sat Feb 22, 2014 1:43 pm    Post subject: Reply with quote

khayyam wrote:
AgBr wrote:
Excuse my ignorance. But how can I reemerge a certain version of a package? I have 2.7 and 3.3 installed while having 2.7 active.

AgBr ... you can use the slot designation like so:

Code:
# emerge --oneshot python:2.7

... similarly for python:3.3

You might also explicitly stipulate the package version required ...

Code:
# emerge --oneshot =dev-lang/python-2.7.5-r3

HTH & best ... khay


Thank you. It's running right now. I hope this will help to solve the problem with chromium.
Back to top
View user's profile Send private message
marciocarmona
n00b
n00b


Joined: 08 Mar 2014
Posts: 1

PostPosted: Sat Mar 08, 2014 10:18 pm    Post subject: Reply with quote

lost-distance wrote:
I encountered the same sem_open failure when trying to build www-client/chromium-32.0.1700.68.

My solution was to re-emerge dev-lang/python-2.7.5-r3.


Worked like a charm! Thx dude! :D
Back to top
View user's profile Send private message
burzmali
Apprentice
Apprentice


Joined: 18 Apr 2002
Posts: 238
Location: ca

PostPosted: Thu Jul 03, 2014 9:15 pm    Post subject: Reply with quote

I ran into this issue with a new install running meld and rebuilding python fixed it for me.

Probably we should file a bug...
_________________
burzmali
www.burzmali.net
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
Page 1 of 1

 
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