package: diffoscope
version: 61
control: submitter -1 Mihai - Catalin Stefan <mihai...@gmail.com>

[ original report at diffosc...@lists.reproducible-builds.org ]

On Mon, Oct 10, 2016 at 02:34:04PM +0100, Mihai - Catalin Stefan wrote:
> I'm trying to use diffoscope on Ubuntu 14.04.04 headless, installed via
> pip, and I have the following error:
> $ diffoscope
> Traceback (most recent call last):
>   File "/usr/local/bin/diffoscope", line 9, in <module>
>     load_entry_point('diffoscope==61', 'console_scripts', 'diffoscope')()
>   File "/usr/lib/python3/dist-packages/pkg_resources.py", line 351, in
> load_entry_point
>     return get_distribution(dist).load_entry_point(group, name)
>   File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2363, in
> load_entry_point
>     return ep.load()
>   File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2088, in load
>     entry = __import__(self.module_name, globals(),globals(), ['__name__'])
>   File "/usr/local/lib/python3.4/dist-packages/diffoscope/main.py", line
> 31, in <module>
>     import diffoscope.comparators
>   File
> "/usr/local/lib/python3.4/dist-packages/diffoscope/comparators/__init__.py",
> line 193, in <module>
>     FILE_CLASSES = import_comparators(COMPARATORS)
>   File
> "/usr/local/lib/python3.4/dist-packages/diffoscope/comparators/__init__.py",
> line 99, in import_comparators
>     'diffoscope.comparators.{}'.format(package)
>   File "/usr/lib/python3.4/importlib/__init__.py", line 109, in
> import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File
> "/usr/local/lib/python3.4/dist-packages/diffoscope/comparators/deb.py",
> line 24, in <module>
>     from diffoscope.comparators.tar import TarContainer
>   File
> "/usr/local/lib/python3.4/dist-packages/diffoscope/comparators/tar.py",
> line 24, in <module>
>     from diffoscope.comparators.libarchive import LibarchiveContainer, \
>   File
> "/usr/local/lib/python3.4/dist-packages/diffoscope/comparators/libarchive.py",
> line 24, in <module>
>     import libarchive
>   File "/usr/local/lib/python3.4/dist-packages/libarchive/__init__.py",
> line 1, in <module>
>     from .entry import ArchiveEntry
>   File "/usr/local/lib/python3.4/dist-packages/libarchive/entry.py", line
> 6, in <module>
>     from . import ffi
>   File "/usr/local/lib/python3.4/dist-packages/libarchive/ffi.py", line 97,
> in <module>
>     errno = ffi('errno', [c_archive_p], c_int)
>   File "/usr/local/lib/python3.4/dist-packages/libarchive/ffi.py", line 84,
> in ffi
>     f = getattr(libarchive, 'archive_'+name)
>   File "/usr/lib/python3.4/ctypes/__init__.py", line 364, in __getattr__
>     func = self.__getitem__(name)
>   File "/usr/lib/python3.4/ctypes/__init__.py", line 369, in __getitem__
>     func = self._FuncPtr((name_or_ordinal, self))
> AttributeError: /usr/bin/python3: undefined symbol: archive_errno
> 
> On a Ubuntu 14.04.5 non-headless diffoscope is working without problems.

I managed to reproduce the issue also on a minimal debian unstable (in a
chroot, attached the log)

> Do I need to install some other packages or diffoscope isn't supported,
> yet, on a headless machine ?

doesn't really make sense that "isn't supported" :) we run it on
jenkins.debian.net, that's definitely headless.
probably some dependency is not specified, maybe some dependency that is
usually pulled in by some other package.

Filing a bug to the Debian BTS for easier tracking with this email

> Thank you and best regards,
> Mihai Stefan

thank you for reporting!

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
mattia@chase ~ % pbuilder l
[sudo] password for mattia: 
D: cmdline: login 
I: Building the build Environment
I: extracting base tarball [/home/mattia/pbuilder/unstable-amd64-base.tgz]
I: copying local configuration
I: mounting /proc filesystem
I: mounting /sys filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: Mounting /home/mattia/pbuilder/cache/ccache
I: Mounting /home/mattia/pbuilder/repository
I: Mounting /srv/mirror/debian
I: policy-rc.d already exists
I: using eatmydata during job
D: no hooks of type H found -- ignoring
I: entering the shell
I: File extracted to: /home/mattia/pbuilder/build/5859
D: no hooks of type F found -- ignoring
root@chase:/# apt install python3-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib 
libpython3.5-minimal libpython3.5-stdlib libreadline6 libsqlite3-0 libssl1.0.2 
mime-support openssl
  python-pip-whl python3 python3-minimal python3.5 python3.5-minimal 
readline-common
Suggested packages:
  python3-doc python3-tk python3-venv python3.5-venv python3.5-doc 
binfmt-support readline-doc
Recommended packages:
  file python3-dev python3-setuptools python3-wheel
The following NEW packages will be installed:
  ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib 
libpython3.5-minimal libpython3.5-stdlib libreadline6 libsqlite3-0 libssl1.0.2 
mime-support openssl
  python-pip-whl python3 python3-minimal python3-pip python3.5 
python3.5-minimal readline-common
0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/9178 kB of archives.
After this operation, 33.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 file:/srv/mirror/debian unstable/main amd64 libssl1.0.2 amd64 1.0.2j-1 
[1291 kB]
Get:2 file:/srv/mirror/debian unstable/main amd64 libpython3.5-minimal amd64 
3.5.2-6 [573 kB]
Get:3 file:/srv/mirror/debian unstable/main amd64 libexpat1 amd64 2.2.0-1 [82.0 
kB]
Get:4 file:/srv/mirror/debian unstable/main amd64 python3.5-minimal amd64 
3.5.2-6 [1631 kB]
Get:5 file:/srv/mirror/debian unstable/main amd64 python3-minimal amd64 3.5.1-4 
[35.3 kB]
Get:6 file:/srv/mirror/debian unstable/main amd64 mime-support all 3.60 [36.7 
kB]
Get:7 file:/srv/mirror/debian unstable/main amd64 libmpdec2 amd64 2.4.2-1 [85.2 
kB]
Get:8 file:/srv/mirror/debian unstable/main amd64 readline-common all 7.0-1 
[70.4 kB]
Get:9 file:/srv/mirror/debian unstable/main amd64 libreadline6 amd64 6.3-9 [141 
kB]
Get:10 file:/srv/mirror/debian unstable/main amd64 libsqlite3-0 amd64 3.14.2-1 
[559 kB]
Get:11 file:/srv/mirror/debian unstable/main amd64 libpython3.5-stdlib amd64 
3.5.2-6 [2161 kB]
Get:12 file:/srv/mirror/debian unstable/main amd64 python3.5 amd64 3.5.2-6 [222 
kB]
Get:13 file:/srv/mirror/debian unstable/main amd64 libpython3-stdlib amd64 
3.5.1-4 [18.6 kB]
Get:14 file:/srv/mirror/debian unstable/main amd64 dh-python all 2.20160818 
[83.0 kB]
Get:15 file:/srv/mirror/debian unstable/main amd64 python3 amd64 3.5.1-4 [21.6 
kB]
Get:16 file:/srv/mirror/debian unstable/main amd64 openssl amd64 1.0.2j-1 [683 
kB]
Get:17 file:/srv/mirror/debian unstable/main amd64 ca-certificates all 20160104 
[200 kB]
Get:18 file:/srv/mirror/debian unstable/main amd64 python-pip-whl all 8.1.2-2 
[1148 kB]
Get:19 file:/srv/mirror/debian unstable/main amd64 python3-pip all 8.1.2-2 [136 
kB]
Preconfiguring packages ...       
Selecting previously unselected package libssl1.0.2:amd64.
(Reading database ... 11542 files and directories currently installed.)
Preparing to unpack .../00-libssl1.0.2_1.0.2j-1_amd64.deb ...
Unpacking libssl1.0.2:amd64 (1.0.2j-1) ...
Selecting previously unselected package libpython3.5-minimal:amd64.
Preparing to unpack .../01-libpython3.5-minimal_3.5.2-6_amd64.deb ...
Unpacking libpython3.5-minimal:amd64 (3.5.2-6) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../02-libexpat1_2.2.0-1_amd64.deb ...
Unpacking libexpat1:amd64 (2.2.0-1) ...
Selecting previously unselected package python3.5-minimal.
Preparing to unpack .../03-python3.5-minimal_3.5.2-6_amd64.deb ...
Unpacking python3.5-minimal (3.5.2-6) ...
Selecting previously unselected package python3-minimal.
Preparing to unpack .../04-python3-minimal_3.5.1-4_amd64.deb ...
Unpacking python3-minimal (3.5.1-4) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../05-mime-support_3.60_all.deb ...
Unpacking mime-support (3.60) ...
Selecting previously unselected package libmpdec2:amd64.
Preparing to unpack .../06-libmpdec2_2.4.2-1_amd64.deb ...
Unpacking libmpdec2:amd64 (2.4.2-1) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../07-readline-common_7.0-1_all.deb ...
Unpacking readline-common (7.0-1) ...
Selecting previously unselected package libreadline6:amd64.
Preparing to unpack .../08-libreadline6_6.3-9_amd64.deb ...
Unpacking libreadline6:amd64 (6.3-9) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../09-libsqlite3-0_3.14.2-1_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.14.2-1) ...
Selecting previously unselected package libpython3.5-stdlib:amd64.
Preparing to unpack .../10-libpython3.5-stdlib_3.5.2-6_amd64.deb ...
Unpacking libpython3.5-stdlib:amd64 (3.5.2-6) ...
Selecting previously unselected package python3.5.
Preparing to unpack .../11-python3.5_3.5.2-6_amd64.deb ...
Unpacking python3.5 (3.5.2-6) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../12-libpython3-stdlib_3.5.1-4_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.5.1-4) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../13-dh-python_2.20160818_all.deb ...
Unpacking dh-python (2.20160818) ...
Setting up libssl1.0.2:amd64 (1.0.2j-1) ...
Setting up libpython3.5-minimal:amd64 (3.5.2-6) ...
Setting up libexpat1:amd64 (2.2.0-1) ...
Setting up python3.5-minimal (3.5.2-6) ...
Setting up python3-minimal (3.5.1-4) ...
Selecting previously unselected package python3.
(Reading database ... 12545 files and directories currently installed.)
Preparing to unpack .../0-python3_3.5.1-4_amd64.deb ...
Unpacking python3 (3.5.1-4) ...
Selecting previously unselected package openssl.
Preparing to unpack .../1-openssl_1.0.2j-1_amd64.deb ...
Unpacking openssl (1.0.2j-1) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../2-ca-certificates_20160104_all.deb ...
Unpacking ca-certificates (20160104) ...
Selecting previously unselected package python-pip-whl.
Preparing to unpack .../3-python-pip-whl_8.1.2-2_all.deb ...
Unpacking python-pip-whl (8.1.2-2) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../4-python3-pip_8.1.2-2_all.deb ...
Unpacking python3-pip (8.1.2-2) ...
Setting up readline-common (7.0-1) ...
Setting up mime-support (3.60) ...
Processing triggers for libc-bin (2.24-3) ...
Setting up openssl (1.0.2j-1) ...
Setting up libsqlite3-0:amd64 (3.14.2-1) ...
Setting up ca-certificates (20160104) ...
Setting up libmpdec2:amd64 (2.4.2-1) ...
Setting up libreadline6:amd64 (6.3-9) ...
Setting up python-pip-whl (8.1.2-2) ...
Setting up libpython3.5-stdlib:amd64 (3.5.2-6) ...
Setting up python3.5 (3.5.2-6) ...
Setting up libpython3-stdlib:amd64 (3.5.1-4) ...
Setting up python3 (3.5.1-4) ...
Setting up python3-pip (8.1.2-2) ...
Setting up dh-python (2.20160818) ...
Processing triggers for libc-bin (2.24-3) ...
Processing triggers for ca-certificates (20160104) ...
Updating certificates in /etc/ssl/certs...
173 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
root@chase:/# pip3 install diffoscope
Collecting diffoscope
  Downloading diffoscope-61.tar.gz (474kB)
    100% |################################| 481kB 341kB/s 
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ImportError: No module named 'setuptools'
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in 
/tmp/pip-build-7zta8g24/diffoscope/
root@chase:/# apt install python3-setuptools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  python3-pkg-resources
Suggested packages:
  python-setuptools-doc
The following NEW packages will be installed:
  python3-pkg-resources python3-setuptools
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/267 kB of archives.
After this operation, 1015 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 file:/srv/mirror/debian unstable/main amd64 python3-pkg-resources all 
28.0.0-1 [134 kB]
Get:2 file:/srv/mirror/debian unstable/main amd64 python3-setuptools all 
28.0.0-1 [133 kB]
Selecting previously unselected package python3-pkg-resources.
(Reading database ... 12956 files and directories currently installed.)
Preparing to unpack .../0-python3-pkg-resources_28.0.0-1_all.deb ...
Unpacking python3-pkg-resources (28.0.0-1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../1-python3-setuptools_28.0.0-1_all.deb ...
Unpacking python3-setuptools (28.0.0-1) ...
Setting up python3-pkg-resources (28.0.0-1) ...
Setting up python3-setuptools (28.0.0-1) ...
root@chase:/# pip3 install diffoscope
Collecting diffoscope
  Using cached diffoscope-61.tar.gz
Collecting python-magic (from diffoscope)
  Downloading python-magic-0.4.12.tar.gz
Collecting libarchive-c (from diffoscope)
  Downloading libarchive_c-2.5-py2.py3-none-any.whl
Building wheels for collected packages: diffoscope, python-magic
  Running setup.py bdist_wheel for diffoscope ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, 
tokenize;__file__='/tmp/pip-build-40kc07nj/diffoscope/setup.py';exec(compile(getattr(tokenize,
 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" 
bdist_wheel -d /tmp/tmpxbmmub0rpip-wheel- --python-tag cp35:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
  
  error: invalid command 'bdist_wheel'
  
  ----------------------------------------
  Failed building wheel for diffoscope
  Running setup.py clean for diffoscope
  Running setup.py bdist_wheel for python-magic ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, 
tokenize;__file__='/tmp/pip-build-40kc07nj/python-magic/setup.py';exec(compile(getattr(tokenize,
 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" 
bdist_wheel -d /tmp/tmpok0rj5ykpip-wheel- --python-tag cp35:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
  
  error: invalid command 'bdist_wheel'
  
  ----------------------------------------
  Failed building wheel for python-magic
  Running setup.py clean for python-magic
Failed to build diffoscope python-magic
Installing collected packages: python-magic, libarchive-c, diffoscope
  Running setup.py install for python-magic ... done
  Running setup.py install for diffoscope ... done
Successfully installed diffoscope-61 libarchive-c-2.5 python-magic-0.4.12
root@chase:/# apt install python3-magic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libmagic-mgc libmagic1
Suggested packages:
  file
The following NEW packages will be installed:
  libmagic-mgc libmagic1 python3-magic
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/367 kB of archives.
After this operation, 4634 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 file:/srv/mirror/debian unstable/main amd64 libmagic-mgc amd64 1:5.28-4 
[210 kB]
Get:2 file:/srv/mirror/debian unstable/main amd64 libmagic1 amd64 1:5.28-4 [109 
kB]
Get:3 file:/srv/mirror/debian unstable/main amd64 python3-magic all 1:5.28-4 
[47.2 kB]
Selecting previously unselected package libmagic-mgc.
(Reading database ... 13039 files and directories currently installed.)
Preparing to unpack .../0-libmagic-mgc_5.28-4_amd64.deb ...
Unpacking libmagic-mgc (1:5.28-4) ...
Selecting previously unselected package libmagic1:amd64.
Preparing to unpack .../1-libmagic1_5.28-4_amd64.deb ...
Unpacking libmagic1:amd64 (1:5.28-4) ...
Selecting previously unselected package python3-magic.
Preparing to unpack .../2-python3-magic_5.28-4_all.deb ...
Unpacking python3-magic (1:5.28-4) ...
Setting up libmagic-mgc (1:5.28-4) ...
Setting up libmagic1:amd64 (1:5.28-4) ...
Processing triggers for libc-bin (2.24-3) ...
Setting up python3-magic (1:5.28-4) ...
root@chase:/# pip3 install diffoscope
Requirement already satisfied (use --upgrade to upgrade): diffoscope in 
/usr/local/lib/python3.5/dist-packages
Requirement already satisfied (use --upgrade to upgrade): python-magic in 
/usr/local/lib/python3.5/dist-packages (from diffoscope)
Requirement already satisfied (use --upgrade to upgrade): libarchive-c in 
/usr/local/lib/python3.5/dist-packages (from diffoscope)
root@chase:/# pip3 install --upgrade diffoscope   
Requirement already up-to-date: diffoscope in 
/usr/local/lib/python3.5/dist-packages
Requirement already up-to-date: python-magic in 
/usr/local/lib/python3.5/dist-packages (from diffoscope)
Requirement already up-to-date: libarchive-c in 
/usr/local/lib/python3.5/dist-packages (from diffoscope)
root@chase:/# touch a b
root@chase:/# diffoscope a b
Traceback (most recent call last):
  File "/usr/local/bin/diffoscope", line 11, in <module>
    load_entry_point('diffoscope==61', 'console_scripts', 'diffoscope')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 567, in 
load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2604, 
in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2264, 
in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2270, 
in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python3.5/dist-packages/diffoscope/main.py", line 31, in 
<module>
    import diffoscope.comparators
  File 
"/usr/local/lib/python3.5/dist-packages/diffoscope/comparators/__init__.py", 
line 193, in <module>
    FILE_CLASSES = import_comparators(COMPARATORS)
  File 
"/usr/local/lib/python3.5/dist-packages/diffoscope/comparators/__init__.py", 
line 99, in import_comparators
    'diffoscope.comparators.{}'.format(package)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.5/dist-packages/diffoscope/comparators/deb.py", 
line 24, in <module>
    from diffoscope.comparators.tar import TarContainer
  File "/usr/local/lib/python3.5/dist-packages/diffoscope/comparators/tar.py", 
line 24, in <module>
    from diffoscope.comparators.libarchive import LibarchiveContainer, \
  File 
"/usr/local/lib/python3.5/dist-packages/diffoscope/comparators/libarchive.py", 
line 24, in <module>
    import libarchive
  File "/usr/local/lib/python3.5/dist-packages/libarchive/__init__.py", line 1, 
in <module>
    from .entry import ArchiveEntry
  File "/usr/local/lib/python3.5/dist-packages/libarchive/entry.py", line 6, in 
<module>
    from . import ffi
  File "/usr/local/lib/python3.5/dist-packages/libarchive/ffi.py", line 97, in 
<module>
    errno = ffi('errno', [c_archive_p], c_int)
  File "/usr/local/lib/python3.5/dist-packages/libarchive/ffi.py", line 84, in 
ffi
    f = getattr(libarchive, 'archive_'+name)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 360, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 365, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/bin/python3: undefined symbol: archive_errno
root@chase:/# 

Attachment: signature.asc
Description: PGP signature

Reply via email to