aboutcode-org / aboutcode-org/scancode-toolkit

Build on linux-aarch64 dlopen fail using docker on Mac Apple Silicon

Abierto
#3,301 0 comentarios 1 reacción 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
2.6k
Forks
791
Merge medio
1 d 12 h
PR fusionados (30 d)
5

Descripción

Trying to build scancode master inside docker from sources in a Linux Ubuntun arm64

By defautl, configure fails, due msi and rpm, but steps allow to build:

Steps to reproducexi:

```bash
docker run -it --platform linux/aarch64 --mount type=bind,source=,target=/code/scancode --workdir=/code/scancode --hostname=scancodearm --entrypoint /bin/bash ubuntu:22.04

apt-get update -qq -y && apt-get install python3-dev python3-is-python python3-pip python3-setuptools build-essential git libarchive-dev libmagic-dev autoconf libtool autoheader unzip meson valac bison libgsf-1-dev libgcab-dev libgirepository1.0-de

```
Enter scancode-plugins/builtins/{rpm_inspector_rpm, packagedcode_msitools-linux} and build the respective wheels with -target-name linux_aarch64 and install in venv

Run configure again and scancode is built

But as trying to run, the below log will happens.

```bash
devel@scancodearm:/code/scancode$ ./scancode
Traceback (most recent call last):
File "/code/scancode/venv/lib/python3.10/site-packages/commoncode/command.py", line 229, in load_shared_library
lib = ctypes.CDLL(dll_loc)
File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /code/scancode/venv/lib/python3.10/site-packages/extractcode_libarchive/lib/libarchive.so: cannot open shared object file: No such file or directory

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/code/scancode/venv/bin/scancode", line 33, in
sys.exit(load_entry_point('scancode-toolkit', 'console_scripts', 'scancode')())
File "/code/scancode/venv/bin/scancode", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/code/scancode/src/scancode/cli.py", line 113, in
plugin_classes, plugin_options = PluginManager.load_plugins()
File "/code/scancode/venv/lib/python3.10/site-packages/plugincode/__init__.py", line 196, in load_plugins
mgr_setup = manager.setup()
File "/code/scancode/venv/lib/python3.10/site-packages/plugincode/__init__.py", line 220, in setup
self.manager.load_setuptools_entrypoints(entrypoint)
File "/code/scancode/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 287, in load_setuptools_entrypoints
plugin = ep.load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/code/scancode/src/summarycode/generated.py", line 18, in
import typecode.contenttype
File "/code/scancode/venv/lib/python3.10/site-packages/typecode/__init__.py", line 21, in
from typecode.contenttype import get_type
File "/code/scancode/venv/lib/python3.10/site-packages/typecode/contenttype.py", line 31, in
from typecode import extractible
File "/code/scancode/venv/lib/python3.10/site-packages/typecode/extractible.py", line 65, in
from extractcode.archive import can_extract # NOQA
File "/code/scancode/venv/lib/python3.10/site-packages/extractcode/archive.py", line 29, in
from extractcode import libarchive2
File "/code/scancode/venv/lib/python3.10/site-packages/extractcode/libarchive2.py", line 146, in
libarchive = load_lib()
File "/code/scancode/venv/lib/python3.10/site-packages/extractcode/libarchive2.py", line 132, in load_lib
return command.load_shared_library(dll_loc)
File "/code/scancode/venv/lib/python3.10/site-packages/commoncode/command.py", line 238, in load_shared_library
raise Exception(msgs) from e
Exception: ('ctypes.CDLL("/code/scancode/venv/lib/python3.10/site-packages/extractcode_libarchive/lib/libarchive.so")', "os.environ:\n{'CFLAGS': '-I/opt/python/versions/3.10.10/include/python3.10 '\n '-I/opt/python/versions/3.10.10/include/python3.10 '\n '-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall',\n 'HOME': '/workspace',\n 'HOSTNAME': 'scancodearm',\n 'HTTPS_PROXY': 'http://host.docker.internal:9000',\n 'HTTP_PROXY': 'http://host.docker.internal:9000',\n 'LANG': 'en_US.UTF-8',\n 'LANGUAGE': 'en_US:en',\n 'LC_ALL': 'en_US.UTF-8',\n 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:',\n 'NO_PROXY': '127.0.0.0/8',\n 'OLDPWD': '/code/commoncode',\n 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/python/shims:/opt/python/bin',\n 'PWD': '/code/scancode',\n 'PYENV_ROOT': '/opt/python',\n 'SHLVL': '2',\n 'TERM': 'xterm',\n 'TZ': 'UTC',\n '_': '/code/scancode/venv/bin/scancode',\n 'http_proxy': 'http://host.docker.internal:9000',\n 'https_proxy': 'http://host.docker.internal:9000',\n 'no_proxy': '127.0.0.0/8'}", 'Traceback (most recent call last):\n File "/code/scancode/venv/lib/python3.10/site-packages/commoncode/command.py", line 229, in load_shared_library\n lib = ctypes.CDLL(dll_loc)\n File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__\n self._handle = _dlopen(self._name, mode)\nOSError: /code/scancode/venv/lib/python3.10/site-packages/extractcode_libarchive/lib/libarchive.so: cannot open shared object file: No such file or directory\n')
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.