Skip to content

dev-lang/python: AssertionError: Filename .../lib-dynload/zlib.so does not start with any of ... #5

@MagicalTux

Description

@MagicalTux

For example attempting to compile dev-lang/spidermonkey-68.4.2 crashes as follow:

Extracting mozjs-68.4.2.tar.bz2 ...
Creating Python environment
Traceback (most recent call last):
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 2349, in <module>
    main()
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 712, in main
    symlink=options.symlink)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 927, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 1140, in install_python
    copy_required_modules(home_dir, symlink)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 1070, in copy_required_modules
    dst_filename = change_prefix(filename, dst_prefix)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/third_party/python/virtualenv/virtualenv.py", line 1044, in change_prefix
    (filename, prefixes)
AssertionError: Filename /pkg/main/dev-lang.python.core.2.7.17.linux.amd64/lib/python2.7/lib-dynload/zlib.so does not start with any of these prefixes: ['/pkg/main/dev-lang.python-modules.core.2.7.17']
Traceback (most recent call last):
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/js/src/../../configure.py", line 132, in <module>
    sys.exit(main(sys.argv))
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/js/src/../../configure.py", line 38, in main
    sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 431, in run
    self.include_file(path)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 422, in include_file
    exec_(code, self)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/moz.configure", line 7, in <module>
    include('build/moz.configure/init.configure')
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 745, in include_impl
    self.include_file(what)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 422, in include_file
    exec_(code, self)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/build/moz.configure/init.configure", line 212, in <module>
    @imports('distutils.sysconfig')
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 728, in decorator
    depends = DependsFunction(self, func, dependencies, when=when)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 125, in __init__
    sandbox._value_for(self)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 525, in _value_for
    return self._value_for_depends(obj)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/util.py", line 947, in method_call
    cache[args] = self.func(instance, *args)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 534, in _value_for_depends
    value = obj.result()
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/util.py", line 947, in method_call
    cache[args] = self.func(instance, *args)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 151, in result
    return self._func(*resolved_args)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/configure/__init__.py", line 1097, in wrapped
    return new_func(*args, **kwargs)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/build/moz.configure/init.configure", line 261, in virtualenv_python
    manager.build(python)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/virtualenv.py", line 473, in build
    self.create(python)
  File "/build/dev-lang.spidermonkey/68.4.2.linux.amd64/work/mozjs-68.4.2/python/mozbuild/mozbuild/virtualenv.py", line 212, in create
    'Failed to create virtualenv: %s' % self.virtualenv_root)
Exception: Failed to create virtualenv: /build/dev-lang.spidermonkey/68.4.2.linux.amd64/temp/_virtualenvs/init

This issue is linked to the way extensions are loaded with python, and symlinks.

  • Investigate if we should copy libs to dev-lang.python-modules rather than symlink?
  • Ways to give python a list of valid prefixes?

Having someone familiar with python's internals might help fix this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions