devel/uwsgi
Michael Gmelin
freebsd at grem.de
Sat Feb 23 18:36:47 UTC 2013
On Sat, 23 Feb 2013 17:45:48 +0200
Daniel Braniss <danny at cs.huji.ac.il> wrote:
> > On Sat, 23 Feb 2013 15:38:36 +0200
> ===> Building for uwsgi-1.4.5
> /usr/local/bin/python2.7 uwsgiconfig.py --build
> Exception in thread Thread-1:
> Traceback (most recent call last):
> File "/usr/local/lib/python2.7/threading.py", line 551, in
> __bootstrap_inner self.run()
> File "/usr/local/lib/python2.7/threading.py", line 504, in run
> self.__target(*self.__args, **self.__kwargs)
> File "uwsgiconfig.py", line 92, in thread_compiler
> (objfile, cmdline) = compile_queue.get()
> File "/usr/local/lib/python2.7/site-packages/gevent/queue.py", line
> 190, in get
> return waiter.get()
> File "/usr/local/lib/python2.7/site-packages/gevent/hub.py", line
> 321, in get return get_hub().switch()
> File "/usr/local/lib/python2.7/site-packages/gevent/hub.py", line
> 135, in get_hub
> raise NotImplementedError('gevent is only usable from a single
> thread') NotImplementedError: gevent is only usable from a single
> thread
>
I just noticed that you're building 1.4.5, I just updated an older
server 9.0/gcc and tried building it there. I also updated to 1.4.5 on
a 9.1 machine with clang and tried compiling there without any issues.
The compile runs multithreaded just fine, using eight threads in
parallel (the machine has eight cores)., e.g.
*** uWSGI compiling server core ***
[thread 1][clang] core/utils.o
[thread 2][clang] core/protocol.o
[thread 3][clang] core/socket.o
[thread 4][clang] core/logging.o
[thread 5][clang] core/master.o
[thread 6][clang] core/master_utils.o
[thread 7][clang] core/emperor.o
[thread 0][clang] core/notify.o
[thread 0][clang] core/mule.o
[thread 4][clang] core/subscription.o
[thread 6][clang] core/stats.o
So I assume there are two possible reasons:
a) The build doesn't scale up to 16 cores (I don't have a
non-production machine I could test this on right now)
b) There is something wrong with your setup
Could you try setting the limiting the number of cpu cores to 8 and see
if that works. If that still breaks there's definitely a problem with
your setup. In that case I would suggest cleaning your installation
(all python related ports), remove all stored configuration options and
start from scratch, since this might hit you again at a later
point outside of the build process.
(I'm using python27-2.7.3_3 by the way, just in case that makes a
difference for gevent).
Michael
--
Michael Gmelin
More information about the freebsd-ports
mailing list