Okay, so I think now *something* corrupted libc6-dev: Firstly, the initial checks that were asked for: root@bnesecrf0:~# find /usr/include -name types.h /usr/include/asm-generic/types.h /usr/include/c++/4.8/parallel/types.h /usr/include/c++/5/parallel/types.h /usr/include/linux/iio/types.h /usr/include/linux/types.h /usr/include/rpc/types.h /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/types.h /usr/include/sys/types.h root@bnesecrf0:~# find /usr/lib -name perl.h /usr/lib/x86_64-linux-gnu/perl/5.22.1/CORE/perl.h root@bnesecrf0:~# dpkg -l libc6-dev Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-========================================-=========================-=========================-====================================================================================== ii libc6-dev:amd64 2.23-0ubuntu10 amd64 GNU C Library: Development Libraries and Header Files
If I try to install it, it tells me it's already up-to-date, then sa-compile falls over: root@bnesecrf0:~# apt-get install -y libc6-dev Reading package lists... Done Building dependency tree Reading state information... Done libc6-dev is already the newest version (2.23-0ubuntu10). 0 to upgrade, 0 to newly install, 0 to remove and 80 not to upgrade. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Setting up sa-compile (3.4.2-0ubuntu0.16.04.1) ... Running sa-compile (may take a long time) In file included from body_0.xs:2:0: /usr/lib/x86_64-linux-gnu/perl/5.22/CORE/perl.h:701:23: fatal error: sys/types.h: No such file or directory compilation terminated. make: *** [body_0.o] Error 1 command 'make PREFIX=/tmp/.spamassassin27817YiiVnctmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.022/3.004002 >>/tmp/.spamassassin27817YiiVnctmp/log' failed: exit 2 dpkg: error processing package sa-compile (--configure): subprocess installed post-installation script returned error exit status 25 Errors were encountered while processing: sa-compile E: Sub-process /usr/bin/dpkg returned an error code (1) However forcing a re-installation had an interesting effect: root@bnesecrf0:~# apt-get install --reinstall -y libc6-dev Reading package lists... Done Building dependency tree Reading state information... Done 0 to upgrade, 0 to newly install, 1 to reinstall, 0 to remove and 80 not to upgrade. 1 not fully installed or removed. Need to get 0 B/2,079 kB of archives. After this operation, 0 B of additional disk space will be used. (Reading database ... 174921 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.23-0ubuntu10_amd64.deb ... Unpacking libc6-dev:amd64 (2.23-0ubuntu10) over (2.23-0ubuntu10) ... Setting up libc6-dev:amd64 (2.23-0ubuntu10) ... Setting up sa-compile (3.4.2-0ubuntu0.16.04.1) ... Running sa-compile (may take a long time) root@bnesecrf0:~# sa-compile Feb 20 09:40:51.952 [28456] info: generic: base extraction starting. this can take a while... Feb 20 09:40:51.952 [28456] info: generic: extracting from rules of type body_0 100% [======================================================================================================================================================] 2438.47 rules/sec 00m00s DONE 100% [======================================================================================================================================================] 1164.76 bases/sec 00m02s DONE Feb 20 09:40:54.279 [28456] info: body_0: 1164 base strings extracted in 3 seconds cd /tmp/.spamassassin28456guVjwjtmp reading bases_body_0.in cd Mail-SpamAssassin-CompiledRegexps-body_0 re2c -i -b -o scanner1.c scanner1.re re2c -i -b -o scanner2.c scanner2.re re2c -i -b -o scanner3.c scanner3.re re2c -i -b -o scanner4.c scanner4.re re2c -i -b -o scanner5.c scanner5.re re2c -i -b -o scanner6.c scanner6.re /usr/bin/perl Makefile.PL PREFIX=/tmp/.spamassassin28456guVjwjtmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.022/3.004002 Generating a Unix-style Makefile Writing Makefile for Mail::SpamAssassin::CompiledRegexps::body_0 Writing MYMETA.yml and MYMETA.json make PREFIX=/tmp/.spamassassin28456guVjwjtmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.022/3.004002 cp body_0.pm blib/lib/Mail/SpamAssassin/CompiledRegexps/body_0.pm Running Mkbootstrap for Mail::SpamAssassin::CompiledRegexps::body_0 () chmod 644 "body_0.bs" "/usr/bin/perl" "/usr/share/perl/5.22/ExtUtils/xsubpp" -typemap "/usr/share/perl/5.22/ExtUtils/typemap" body_0.xs > body_0.xsc && mv body_0.xsc body_0.c "/usr/bin/perl" "/usr/share/perl/5.22/ExtUtils/xsubpp" -typemap "/usr/share/perl/5.22/ExtUtils/typemap" body_0.xs > body_0.xsc && mv body_0.xsc body_0.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" body_0.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner1.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner2.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner3.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner4.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner5.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" scanner6.c rm -f blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong body_0.o scanner1.o scanner2.o scanner3.o scanner4.o scanner5.o scanner6.o -o blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so \ \ chmod 755 blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- body_0.bs blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.bs 644 Manifying 1 pod document make install PREFIX=/tmp/.spamassassin28456guVjwjtmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.022/3.004002 Running Mkbootstrap for Mail::SpamAssassin::CompiledRegexps::body_0 () chmod 644 "body_0.bs" Manifying 1 pod document Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /var/lib/spamassassin/compiled/5.022/3.004002/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so Installing /tmp/.spamassassin28456guVjwjtmp/ignored/man/man3/Mail::SpamAssassin::CompiledRegexps::body_0.3pm Appending installation info to /var/lib/spamassassin/compiled/5.022/3.004002/perllocal.pod cp /tmp/.spamassassin28456guVjwjtmp/bases_body_0.pl /var/lib/spamassassin/compiled/5.022/3.004002/bases_body_0.pl cd / rm -rf /tmp/.spamassassin28456guVjwjtmp root@bnesecrf0:~# echo $? 0 root@bnesecrf0:~# I must admit the idea of "i386" headers and "amd64" headers is completely foreign to me. They're plain-text C code files, with no concept of processor architecture or bit width whatsoever. Normally for the C library, i386 and AMD64 binaries are built from the same C source (and headers), and are installed *together* so there shouldn't be a need to introduce this fragile complexity of having architecture-dependent C compiler include paths. It certainly was this way on Gentoo/MIPS where we had to contend with not two, but three ABIs (o32, n32 and n64), having a single "include" header tree with multiple ABIs continues to work just fine there. I think Ubuntu in having "i386" and "AMD64" headers are trying to solve a non-existent problem, and creating others (like this one) in the process. I believe this policy may need a re-think. Anyway, it looks like `sa- compile` is working once again. Regards, Stuart Longland -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1815978 Title: sa-compile broken on 16.04 LTS AMD64 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/spamassassin/+bug/1815978/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs