Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm trying to compile firefox in LFS 8.1, but it stops at configure with the following error:
Code:
js/src> checking for valloc in malloc.h... yes
js/src> checking for valloc in unistd.h... no
js/src> checking for setlocale... yes
js/src> checking for localeconv... (cached) yes
js/src> updating cache /home/lena/Data/tmp/firefox/src/firefox-57.0/firefox-build-dir/config.cache
js/src> creating ./config.data
js/src> Creating config.status
Creating config.status
Traceback (most recent call last):
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/configure.py", line 124, in <module>
sys.exit(main(sys.argv))
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/configure.py", line 34, in main
return config_status(config)
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/configure.py", line 119, in config_status
return config_status(args=[], **encode(sanitized_config, encoding))
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/python/mozbuild/mozbuild/config_status.py", line 136, in config_status
reader = BuildReader(env)
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/python/mozbuild/mozbuild/frontend/reader.py", line 868, in __init__
self._gyp_worker_pool = ProcessPoolExecutor(max_workers=max_workers)
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/third_party/python/futures/concurrent/futures/process.py", line 285, in __init__
EXTRA_QUEUED_CALLS)
File "/usr/lib/python2.7/multiprocessing/__init__.py", line 217, in Queue
from multiprocessing.queues import Queue
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/build/mach_bootstrap.py", line 351, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File "/usr/lib/python2.7/multiprocessing/queues.py", line 48, in <module>
from .synchronize import Lock, BoundedSemaphore, Semaphore, Condition
File "/home/lena/Data/tmp/firefox/src/firefox-57.0/build/mach_bootstrap.py", line 351, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File "/usr/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.
*** Fix above errors and then restart with\
"make -f client.mk build"
make[2]: *** [/home/lena/Data/tmp/firefox/src/firefox-57.0/client.mk:388: configure] Error 1
I have googled, and the problem seems to be with python2. But I didn't find how to solve it.
Not sure if this helps. I upgraded python to the latest version in the book and then compiled firefox 57.0. It took 2 1/2 hrs on a laptop, but no errors. It seems to be working. Screen fonts ok, pulse audio sound ok, geo location works. The start up screen has a different look. No problems so far.
I have i7. AFAIC there's nothing wrong with it. I think it might be something I need to activate in the kernel, something about sem_open or Semaphore, but I can't find it in menuconfig.
root[/]# sysctl -A | grep kernel.sem
kernel.sem = 250 32000 32 128
root[/]# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
root[/]# cat /proc/sys/kernel/sem
250 32000 32 128
Code:
$ grep IPC config
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_IPC_NS=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_SYSVIPC_COMPAT=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_TIPC is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_SND_CMIPCI is not set
FWIW I will post my parameters. I don't know what the differences mean in terms of firefox compilation. As a long time gentoo user, I am used to compiling the kernel manually. As an end user, I have never had to deal with semaphores. The developers handle that.
ipcs -ls
------ Semaphore Limits --------
max number of arrays = 32000
max semaphores per array = 32000
max semaphores system wide = 1024000000
max ops per semop call = 500
semaphore max value = 32767
grep IPC config-4.14.2-lfs-8.1-systemd
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_IPC_NS=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_XFRM_IPCOMP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET6_IPCOMP=m
# CONFIG_TIPC is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_ANDROID_BINDER_IPC is not set
The laptop I am running LFS on is circa 2012. A10 cpu with 4 physical cores. Significantly slower than a dual core i7.
Maybe sr_is_boy is right. Could be a hardware problem.
Last edited by plasmonics; 11-30-2017 at 07:41 AM.
------ Semaphore Limits --------
max number of arrays = 32000
max semaphores per array = 32000
max semaphores system wide = 1024000000
max ops per semop call = 500
semaphore max value = 32767
# zcat /proc/config.gz | grep IPC
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_IPC_NS=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_SYSVIPC_COMPAT=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_TIPC is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_INTEL_PMC_IPC is not set
# CONFIG_INTEL_PUNIT_IPC is not set
I ran those commands at my computer at work, running LFS 7.10 and got the same as you. On my computer at home I got the same in LFS 7.10 as in 8.1, those I wrote above. So it must be something with the hardware.
As a followup, I tried those commands on my desktop which is ASUS M5A97 LE R2.0 mainboard with AMD FX-4170 CPU, 16 GB DDR3 RAM. Obviously, old hardware.
In LFS 8.1, Fedora, and Gentoo, I got the same numbers as in posts #8 and #9.
Looks more and more like a hardware problem. You can also run those commands on your hardware by booting a live CD, e.g., Fedora, Ubuntu, etc. This will eliminate LFS kernel config as the problem.
Last edited by plasmonics; 12-02-2017 at 07:46 AM.
I updated the kernel to 4.14.2 (I don't remember which kernel I was running when I posted the output above.) and now I get this, both from running system (LFS 7.10) and from chroot (LFS 8.1):
Code:
root[/]# sysctl -A | grep kernel.sem
kernel.sem = 32000 1024000000 500 32000
root[/]# cat /proc/sys/kernel/sem
32000 1024000000 500 32000
root[/]# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 32000
max semaphores per array = 32000
max semaphores system wide = 1024000000
max ops per semop call = 500
semaphore max value = 32767
root[/]# zcat /proc/config.gz | grep IPC
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_IPC_NS=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_SYSVIPC_COMPAT=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_TIPC is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_SND_CMIPCI is not set
But I still get the same error. I know I can use the precompiled version from Mozilla, but I think this problem might cause other problems later, so I want to know whats the cause of it and how to fix it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.