eclipse / kuksa.val.feeders

kuksa.val.feeders
Apache License 2.0
8 stars 22 forks source link

[dbc2val] Container image build fails #86

Closed sophokles73 closed 1 year ago

sophokles73 commented 1 year ago

Trying to build the container image using the Dockerfile yields the following error:

=> ERROR [builder 10/14] RUN staticx --debug dbcfeeder dbcfeeder-exe                                                                                               1.3s 
------                                                                                                                                                                   
 > [builder 10/14] RUN staticx --debug dbcfeeder dbcfeeder-exe:                                                                                                          
#0 0.792 INFO:root:Running StaticX version 0.13.8                                                                                                                        
#0 0.792 INFO:root:Libraries:                                                                                                                                            
#0 0.793 INFO:root:  elftools: 0.29                                                                                                                                      
#0 0.793 DEBUG:root:External tools:                                                                                                                                      
#0 0.797 INFO:root:  ldd: /usr/bin/ldd: ldd (Debian GLIBC 2.31-13+deb11u5) 2.31
#0 0.801 INFO:root:  objcopy: /usr/bin/objcopy: GNU objcopy (GNU Binutils for Debian) 2.35.2
#0 0.803 INFO:root:  strip: /usr/bin/strip: GNU strip (GNU Binutils for Debian) 2.35.2
#0 0.805 INFO:root:  patchelf: /opt/venv/bin/patchelf: patchelf 0.17.0
#0 0.805 DEBUG:root:Arguments:
#0 0.806 DEBUG:root:  prog:      'dbcfeeder'
#0 0.806 DEBUG:root:  output:    'dbcfeeder-exe'
#0 0.806 DEBUG:root:  libs:      None
#0 0.806 DEBUG:root:  strip:     False
#0 0.806 DEBUG:root:  compress:  True
#0 0.806 DEBUG:root:  debug:     True
#0 0.807 INFO:root:Using XZ BCJ filter FILTER_X86
#0 0.828 DEBUG:root:Bootloader: bootloader version 0.13.8 compiled Aug  7 2022 at 04:42:01 by musl-gcc version 10.2.1 20210110
#0 0.830 INFO:root:Program interpreter: /lib64/ld-linux-x86-64.so.2
#0 0.864 DEBUG:root:Running ['patchelf', '--remove-rpath', '/tmp/staticx-prog-nd9zcje8']
#0 0.893 DEBUG:root:Running ['patchelf', '--set-interpreter', 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii', '--set-rpath', 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr', '--force-rpath', '/tmp/staticx-prog-nd9zcje8']
#0 1.043 DEBUG:root:Running ['patchelf', '--no-default-lib', '/tmp/staticx-prog-nd9zcje8']
#0 1.206 INFO:root:Opened PyInstaller archive!
#0 1.219 Traceback (most recent call last):
#0 1.219   File "/opt/venv/bin/staticx", line 8, in <module>
#0 1.219     sys.exit(main())
#0 1.219   File "/opt/venv/lib/python3.9/site-packages/staticx/__main__.py", line 49, in main
#0 1.219     generate(args.prog, args.output,
#0 1.219   File "/opt/venv/lib/python3.9/site-packages/staticx/api.py", line 328, in generate
#0 1.219     gen.generate(output=output)
#0 1.219   File "/opt/venv/lib/python3.9/site-packages/staticx/api.py", line 134, in generate
#0 1.219     run_hooks(self)
#0 1.219   File "/opt/venv/lib/python3.9/site-packages/staticx/hooks/__init__.py", line 12, in run_hooks
#0 1.219     hook(sx)
#0 1.219   File "/opt/venv/lib/python3.9/site-packages/staticx/hooks/pyinstaller.py", line 27, in process_pyinstaller_archive
#0 1.220     h.process()
#0 1.220   File "/opt/venv/lib/python3.9/site-packages/staticx/hooks/pyinstaller.py", line 47, in process
#0 1.220     binaries = self._extract_binaries()
#0 1.220   File "/opt/venv/lib/python3.9/site-packages/staticx/hooks/pyinstaller.py", line 63, in _extract_binaries
#0 1.220     for n, item in enumerate(self.pyi_ar.toc.data):
#0 1.220 AttributeError: 'dict' object has no attribute 'data'
------
Dockerfile:42
--------------------
  40 |     
  41 |     WORKDIR /dist
  42 | >>> RUN staticx --debug dbcfeeder dbcfeeder-exe
  43 |     
  44 |     WORKDIR /data
--------------------
ERROR: failed to solve: process "/bin/sh -c staticx --debug dbcfeeder dbcfeeder-exe" did not complete successfully: exit code: 1

This seems to be related to a recent change of internal API of pyinstaller. For the time being it therefore seems reasonable to pin the version of pyinstaller to 5.9.0.

sophokles73 commented 1 year ago

fixed via https://github.com/eclipse/kuksa.val.feeders/commit/2feefd14701811020ccb59ec2efe9a1a6ccd0b31