Summary: | www/chromium fails configure steps | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Sean Bruno <sbruno> |
Component: | Individual Port(s) | Assignee: | freebsd-chromium (Nobody) <chromium> |
Status: | Closed Works As Intended | ||
Severity: | Affects Only Me | CC: | arved, cjpm, koobs, python, rene, shurd |
Priority: | --- | ||
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Sean Bruno
2014-07-20 19:44:30 UTC
Somehow chromium thinks that your FreeBSD-11 Python is not multi-threaded. Maybe someone from python@ can shed a light? I can confirm that my Python2.7 on 10.0-RELEASE-p7 appears to not support queues: root@portable:/usr/ports/www/chromium # python Python 2.7.8 (default, Jul 18 2014, 02:59:47) [GCC 4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE_33/final 183502)] on freebsd10 Type "help", "copyright", "credits" or "license" for more information. >>> import multiprocessing >>> from multiprocessing import queues Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/multiprocessing/queues.py", line 48, in <module> from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition File "/usr/local/lib/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. Adding the promising-looking --no-parallel to the gyp command-line does not seem to help though. Nor does adding no_parallel=1 or parallel=0 to the defines. Python 3.3.5 on the same system does seem to have working queues though: root@portable:/usr/ports/www/chromium # python3 Python 3.3.5 (default, Apr 20 2014, 15:47:23) [GCC 4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE_33/final 183502)] on freebsd10 Type "help", "copyright", "credits" or "license" for more information. >>> import multiprocessing >>> from multiprocessing import queues >>> But I apparently can't use it to run gyp: root@portable:/usr/ports/www/chromium # setenv PYTHON_VERSION python3.3 root@portable:/usr/ports/www/chromium # make configure ===> chromium-35.0.1916.153_1 needs Python 2.7 at most. But you specified 3.3. *** Error code 1 Stop. make: stopped in /usr/ports/www/chromium While building python 2.7 with the (non-default) PTH option looks like it would work, that seems unsatisfactory as a requirement to build Chromium. To avoid this error you should rebuild lang/python27 with SEM enabled. Ah, my options set appears to predate SEM being default. Do I need to rebuild all dependent ports as well with this? (In reply to Stephen Hurd from comment #4) > Ah, my options set appears to predate SEM being default. > > Do I need to rebuild all dependent ports as well with this? There isn't any entry related in /usr/ports/UPDATING, so I think is not obligatory but recommended in any case. Carlos is correct, the SEM option was made the default in r361735 [1] for the following reasons: - POSIX semaphores are now supported and working in all supported FreeBSD (GENERIC) releases. - They are expected and part of a default upstream Python build (unless not supported by the system, or broken) - While 'technically' optional in that one *can* disable them with the appropriate configure argument, it is not exposed in ./configure --help or otherwise documented as a user-configurable knob. - To address issues just like this for binary packages (see special note in commit log below) [1] https://svnweb.freebsd.org/ports?view=revision&revision=361735 |