Opened 4 years ago
Last modified 6 months ago
#61606 assigned defect
mozjs60: ERROR: virtualenv is not compatible with this system or executable
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | bigsur monterey | Cc: | |
Port: | mozjs60 |
Description
mozjs60 fails to build on arm64 because the build process uses a python virtualenv which is apparently not compatible with arm64.
Attachments (1)
Change History (9)
comment:1 Changed 4 years ago by codesmythe (Rob Gowin)
comment:2 Changed 3 years ago by cjones051073 (Chris Jones)
This port now fails on intel as well....
`
Oberon ~/Projects/MacPorts/ports > sudo port -v install mozjs60
---> Computing dependencies for mozjs60.
---> Fetching archive for mozjs60
---> mozjs60-60.8.0_0.darwin_21.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified
---> Attempting to fetch mozjs60-60.8.0_0.darwin_21.x86_64.tbz2 from https://packages.macports.org/mozjs60
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 126 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
---> Attempting to fetch mozjs60-60.8.0_0.darwin_21.x86_64.tbz2 from https://mse.uk.packages.macports.org/mozjs60
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 196 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
---> Attempting to fetch mozjs60-60.8.0_0.darwin_21.x86_64.tbz2 from https://ema.uk.packages.macports.org/mozjs60
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 315 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
---> Fetching distfiles for mozjs60 ---> Verifying checksums for mozjs60 ---> Checksumming mozjs-60.8.0.tar.bz2 ---> Extracting mozjs60 ---> Extracting mozjs-60.8.0.tar.bz2 Executing: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work" && /usr/bin/bzip2 -dc '/opt/local/var/macports/distfiles/mozjs60/mozjs-60.8.0.tar.bz2' | /usr/bin/tar -xf - ---> Applying patches to mozjs60 ---> Applying patch-js.pc.in.diff Executing: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0" && /usr/bin/patch -p0 < '/Users/chris/Projects/MacPorts/ports/lang/mozjs60/files/patch-js.pc.in.diff' patching file js/src/build/js.pc.in ---> Applying patch-js-config.in.diff Executing: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0" && /usr/bin/patch -p0 < '/Users/chris/Projects/MacPorts/ports/lang/mozjs60/files/patch-js-config.in.diff' patching file js/src/build/js-config.in ---> Applying patch-virtualenv-arm64-codesign.diff Executing: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0" && /usr/bin/patch -p0 < '/Users/chris/Projects/MacPorts/ports/lang/mozjs60/files/patch-virtualenv-arm64-codesign.diff' patching file third_party/python/virtualenv/virtualenv.py ---> Patching rules.mk: s|@executable_path|/opt/local/lib|g ---> Configuring mozjs60 Executing: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj" && ../configure --prefix=/opt/local --with-system-nspr --disable-readline --host=x86_64-apple-darwin21 --target=x86_64-apple-darwin21 Creating Python environment New python executable in /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj/_virtualenv/bin/python ERROR: The executable /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj/_virtualenv/bin/python is not functioning ERROR: It thinks sys.prefix is u'/opt/local/Library/Frameworks/Python.framework/Versions/2.7' (should be u'/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj/_virtualenv') ERROR: virtualenv is not compatible with this system or executable Traceback (most recent call last):
File "../../../configure.py", line 127, in <module>
sys.exit(main(sys.argv))
File "../../../configure.py", line 29, in main
sandbox.run(os.path.join(os.path.dirname(file), 'moz.configure'))
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 399, in run
self.include_file(path)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 390, in include_file
exec_(code, self)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/util.py", line 59, in exec_
exec(object, globals, locals)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/moz.configure", line 7, in <module>
include('build/moz.configure/init.configure')
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 694, in include_impl
self.include_file(what)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 390, in include_file
exec_(code, self)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/util.py", line 59, in exec_
exec(object, globals, locals)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/build/moz.configure/init.configure", line 207, in <module>
@imports('distutils.sysconfig')
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 677, in decorator
depends = DependsFunction(self, func, dependencies, when=when)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 96, in init
sandbox._value_for(self)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 474, in _value_for
return self._value_for_depends(obj, need_help_dependency)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/util.py", line 944, in method_call
cache[args] = self.func(instance, *args)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 483, in _value_for_depends
return obj.result(need_help_dependency)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/util.py", line 944, in method_call
cache[args] = self.func(instance, *args)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 123, in result
return self._func(*resolved_args)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/configure/init.py", line 1003, in wrapped
return new_func(*args, kwargs)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/build/moz.configure/init.configure", line 255, in virtualenv_python
manager.build(python)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/virtualenv.py", line 439, in build
self.create(python)
File "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/python/mozbuild/mozbuild/virtualenv.py", line 203, in create
'Failed to create virtualenv: %s' % self.virtualenv_root)
Exception: Failed to create virtualenv: /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj/_virtualenv
Command failed: cd "/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj" && ../configure --prefix=/opt/local --with-system-nspr --disable-readline --host=x86_64-apple-darwin21 --target=x86_64-apple-darwin21
Exit code: 1
Error: Failed to configure mozjs60: consult /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/work/mozjs-60.8.0/js/src/obj/config.log
Error: Failed to configure mozjs60: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_Users_chris_Projects_MacPorts_ports_lang_mozjs60/mozjs60/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port mozjs60 failed
`
Changed 3 years ago by cjones051073 (Chris Jones)
comment:3 Changed 3 years ago by jmroot (Joshua Root)
Keywords: | bigsur monterey added; arm64 removed |
---|
comment:6 Changed 3 years ago by someuser12
FWIW, it seems mozjs78 can be built on arm64 (and then policykit also builds), see https://github.com/macports/macports-ports/pull/13652. Maybe it can be a solution to install at least some of the ports which depend on mozjs60?
comment:7 Changed 3 years ago by evanmiller (Evan Miller)
Cc: | evanmiller added |
---|
comment:8 Changed 6 months ago by evanmiller (Evan Miller)
Cc: | evanmiller removed |
---|
This port uses an embedded copy of virtualenv to create a python2.7 virtual environment. On arm64, the created (copied?) python has an invalid code signature and is killed when run. This pull request: https://github.com/macports/macports-ports/pull/9898 adds a patch to ad-hoc code sign the created python executable on arm64.
After this patch, the mozjs60/arm64 fails because the configure environment assumes it is building on iphoneos when it detects an arm machine.