Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 579966 - sys-devel/prelink-20151030 fails tests
Summary: sys-devel/prelink-20151030 fails tests
Status: RESOLVED DUPLICATE of bug 739650
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-14 14:52 UTC by Paolo Pedroni
Modified: 2020-09-03 07:25 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
prelink-20151030:20160414-144556.log.gz (prelink-20151030:20160414-144556.log.gz,10.32 KB, application/gzip)
2016-04-14 14:52 UTC, Paolo Pedroni
Details
prelink-20151030-tests-rpath.patch (prelink-20151030-tests-rpath.patch,2.06 KB, patch)
2016-04-17 01:21 UTC, Alexander Miller
Details | Diff
prelink-20151030-tests-unsandbox.patch (prelink-20151030-tests-unsandbox.patch,759 bytes, patch)
2016-10-03 01:14 UTC, Alexander Miller
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paolo Pedroni 2016-04-14 14:52:22 UTC
Created attachment 430446 [details]
prelink-20151030:20160414-144556.log.gz

>>> Test phase: sys-devel/prelink-20151030
make -j11 -l8   check
Making check in gelfx
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelfx'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelfx'
Making check in gelfx32
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelfx32'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelfx32'
Making check in gelf
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelf'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/gelf'
Making check in src
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/src'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/src'
Making check in patches
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/patches'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/patches'
Making check in doc
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/doc'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/doc'
Making check in testsuite
make[1]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
make  check-TESTS
make[2]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
make[3]: Entering directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
SKIP: movelibs.sh
FAIL: reloc1.sh
FAIL: reloc2.sh
FAIL: reloc3.sh
SKIP: reloc4.sh
SKIP: reloc5.sh
FAIL: reloc6.sh
FAIL: reloc7.sh
FAIL: reloc8.sh
FAIL: reloc9.sh
FAIL: reloc10.sh
FAIL: reloc11.sh
FAIL: shuffle1.sh
FAIL: shuffle2.sh
FAIL: shuffle3.sh
FAIL: shuffle4.sh
FAIL: shuffle5.sh
FAIL: shuffle6.sh
FAIL: shuffle7.sh
FAIL: shuffle8.sh
FAIL: shuffle9.sh
FAIL: undo1.sh
FAIL: layout1.sh
FAIL: layout2.sh
FAIL: unprel1.sh
FAIL: tls1.sh
FAIL: tls2.sh
FAIL: tls3.sh
FAIL: tls4.sh
FAIL: tls5.sh
FAIL: tls6.sh
FAIL: tls7.sh
FAIL: cxx1.sh
FAIL: cxx2.sh
FAIL: cxx3.sh
FAIL: quick1.sh
FAIL: quick2.sh
FAIL: quick3.sh
PASS: cycle1.sh
PASS: cycle2.sh
FAIL: deps1.sh
FAIL: deps2.sh
FAIL: ifunc1.sh
FAIL: ifunc2.sh
FAIL: ifunc3.sh
FAIL: undosyslibs.sh
============================================================================
Testsuite summary for 
============================================================================
# TOTAL: 46
# PASS:  2
# SKIP:  3
# XFAIL: 0
# FAIL:  41
# XPASS: 0
# ERROR: 0
============================================================================
See testsuite/test-suite.log
============================================================================
Makefile:544: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
Makefile:650: recipe for target 'check-TESTS' failed
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
Makefile:1038: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite'
Makefile:410: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
 * ERROR: sys-devel/prelink-20151030::gentoo failed (test phase):
 *   Make check failed. See above for details.

# cat /var/tmp/portage/sys-devel/prelink-20151030/work/prelink-cross-20151030/testsuite/test-suite.log           
================================
   : testsuite/test-suite.log
================================

# TOTAL: 46
# PASS:  2
# SKIP:  3
# XFAIL: 0
# FAIL:  41
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: movelibs.sh
=================

SKIP movelibs.sh (exit status: 77)

FAIL: reloc1.sh
===============

FAIL reloc1.sh (exit status: 2)

FAIL: reloc2.sh
===============

FAIL reloc2.sh (exit status: 2)

FAIL: reloc3.sh
===============

FAIL reloc3.sh (exit status: 2)

SKIP: reloc4.sh
===============

SKIP reloc4.sh (exit status: 77)

SKIP: reloc5.sh
===============

SKIP reloc5.sh (exit status: 77)

FAIL: reloc6.sh
===============

FAIL reloc6.sh (exit status: 2)

FAIL: reloc7.sh
===============

FAIL reloc7.sh (exit status: 2)

FAIL: reloc8.sh
===============

FAIL reloc8.sh (exit status: 2)

FAIL: reloc9.sh
===============

FAIL reloc9.sh (exit status: 2)

FAIL: reloc10.sh
================

FAIL reloc10.sh (exit status: 2)

FAIL: reloc11.sh
================

FAIL reloc11.sh (exit status: 2)

FAIL: shuffle1.sh
=================

FAIL shuffle1.sh (exit status: 2)

FAIL: shuffle2.sh
=================

FAIL shuffle2.sh (exit status: 2)

FAIL: shuffle3.sh
=================

FAIL shuffle3.sh (exit status: 2)

FAIL: shuffle4.sh
=================

FAIL shuffle4.sh (exit status: 2)

FAIL: shuffle5.sh
=================

FAIL shuffle5.sh (exit status: 2)

FAIL: shuffle6.sh
=================

FAIL shuffle6.sh (exit status: 2)

FAIL: shuffle7.sh
=================

FAIL shuffle7.sh (exit status: 2)

FAIL: shuffle8.sh
=================

FAIL shuffle8.sh (exit status: 2)

FAIL: shuffle9.sh
=================

FAIL shuffle9.sh (exit status: 2)

FAIL: undo1.sh
==============

FAIL undo1.sh (exit status: 2)

FAIL: layout1.sh
================

FAIL layout1.sh (exit status: 2)

FAIL: layout2.sh
================

FAIL layout2.sh (exit status: 2)

FAIL: unprel1.sh
================

FAIL unprel1.sh (exit status: 2)

FAIL: tls1.sh
=============

FAIL tls1.sh (exit status: 2)

FAIL: tls2.sh
=============

FAIL tls2.sh (exit status: 2)

FAIL: tls3.sh
=============

FAIL tls3.sh (exit status: 2)

FAIL: tls4.sh
=============

FAIL tls4.sh (exit status: 2)

FAIL: tls5.sh
=============

FAIL tls5.sh (exit status: 2)

FAIL: tls6.sh
=============

FAIL tls6.sh (exit status: 2)

FAIL: tls7.sh
=============

FAIL tls7.sh (exit status: 2)

FAIL: cxx1.sh
=============

FAIL cxx1.sh (exit status: 2)

FAIL: cxx2.sh
=============

FAIL cxx2.sh (exit status: 2)

FAIL: cxx3.sh
=============

FAIL cxx3.sh (exit status: 2)

FAIL: quick1.sh
===============

./quick1lib1.c: In function ‘q1’:
./quick1lib1.c:3:10: warning: implicit declaration of function ‘q2’ [-Wimplicit-function-declaration]
   return q2 () + 1;
          ^
FAIL quick1.sh (exit status: 1)

FAIL: quick2.sh
===============

./quick1lib1.c: In function ‘q1’:
./quick1lib1.c:3:10: warning: implicit declaration of function ‘q2’ [-Wimplicit-function-declaration]
   return q2 () + 1;
          ^
FAIL quick2.sh (exit status: 60)

FAIL: quick3.sh
===============

FAIL quick3.sh (exit status: 1)

FAIL: deps1.sh
==============

./deps1lib2.c: In function ‘f8’:
./deps1lib2.c:10:10: warning: implicit declaration of function ‘f9’ [-Wimplicit-function-declaration]
   return f9 () - 1;
          ^
./deps1.c: In function ‘main’:
./deps1.c:15:7: warning: implicit declaration of function ‘f8’ [-Wimplicit-function-declaration]
   if (f8 () != 17)
       ^
FAIL deps1.sh (exit status: 3)

FAIL: deps2.sh
==============

./deps1lib2.c: In function ‘f8’:
./deps1lib2.c:10:10: warning: implicit declaration of function ‘f9’ [-Wimplicit-function-declaration]
   return f9 () - 1;
          ^
./deps1.c: In function ‘main’:
./deps1.c:15:7: warning: implicit declaration of function ‘f8’ [-Wimplicit-function-declaration]
   if (f8 () != 17)
       ^
FAIL deps2.sh (exit status: 3)

FAIL: ifunc1.sh
===============

FAIL ifunc1.sh (exit status: 2)

FAIL: ifunc2.sh
===============

FAIL ifunc2.sh (exit status: 2)

FAIL: ifunc3.sh
===============

FAIL ifunc3.sh (exit status: 2)

FAIL: undosyslibs.sh
====================

FAIL undosyslibs.sh (exit status: 1)

# emerge --info =sys-devel/prelink-20151030
Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.3.0, glibc-2.22-r4, 4.4.7-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.4.7-gentoo-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16125884 total,   5931216 free
KiB Swap:    8171516 total,   8143272 free
Timestamp of repository gentoo: Thu, 14 Apr 2016 06:45:01 +0000
sh dash 0.5.8.2
ld GNU gold (Gentoo 2.25.1 p1.1 2.25.1) 1.11
distcc 3.2rc1 x86_64-pc-linux-gnu [enabled]
ccache version 3.2.4 [disabled]
app-shells/bash:          4.3_p42-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.3.1-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
    priority: -1000

kde
    location: /var/lib/layman/kde
    sync-type: git
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo kde
    priority: 0

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 1

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=sandybridge -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -flto=8 -fuse-linker-plugin -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fgraphite-identity -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=sandybridge -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -flto=8 -fuse-linker-plugin -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fgraphite-identity -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going y --with-bdeps y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs cgroup compress-build-logs config-protect-if-modified distcc distlocks ebuild-locks ipc-sandbox merge-sync news parallel-fetch protect-owned sandbox sfperms split-elog split-log strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ http://mirror.leaseweb.com/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/"
LANG="it_IT.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common -flto=8 -fuse-linker-plugin -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fgraphite-identity -ftree-vectorize"
MAKEOPTS="-j11 -l8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aalib acl acpi adns alsa amd64 ao audiofile bash-completion bluetooth branding bzip2 cairo caps cdda cddb cdparanoia cdr cli cracklib crypt css cups curl cxx dbus declarative dga djvu dri dts dvd dvdr emboss encode exif expat fbcon ffmpeg fftw firefox flac fontconfig foomaticdb fortran ftp gd gdbm geoip gif gimp glamor gmp gnutls gphoto2 gpm graphviz gtk handbook iconv icu idn imagemagick imlib ipv6 java javascript jbig jpeg jpeg2k kde kipi lame lcms libass libcaca libnotify libsamplerate lm_sensors lua lzma lzo mad mmap mmx mmxext mng modules mp3 mp4 mpeg mplayer multilib musicbrainz ncurses nls nptl nsplugin offensive ogg openal openexr opengl openmp pam pango pcre pdf phonon plasma png policykit postscript ppds pulseaudio qml qt3support qt4 qt5 rdesktop readline recode samba sctp sdl seccomp semantic-desktop session sndfile sockets speex spell sqlite sse sse2 ssl startup-notification subversion svg symlink syslog systemd sysvipc taglib theora threads tidy tiff truetype udev udisks unicode upower usb vaapi vcd vim-syntax vnc vorbis wayland widgets win32codecs wmf wxwidgets x264 xattr xcb xcomposite xine xinerama xml xpm xscreensaver xv xvid yahoo zlib" ABI_X86="64" ALSA_CARDS="hda-intel virmidi" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="kodak ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver" LINGUAS="it" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4 pypy pypy3" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

# emerge -1pqv =sys-devel/prelink-20151030
[ebuild     U ] sys-devel/prelink-20151030 [20130503] USE="-doc% (-selinux)"
Comment 1 Alexander Miller 2016-04-17 01:08:43 UTC
I can reproduce the failure here. It's caused (mostly) by sandbox.

This is what happens:
- sandbox arranges for libsandbox.so to be preloaded into every process,
- the dynamic loader lists libsandbox.so as a (fake) dependency for
  every binary,
- libsandbox.so has a few proper dependencies on its own,
- prelink detects a dependency cycle and prints an error message (in my
  case for libdl.so.2 because of libsandbox.so -> libdl.so.2),
- tests fail because of the error message.

I don't believe there is a reasonable way to fix this without disabling
the sandbox. However, there is only one failed test left for
FEATURES='test -sandbox -usersandbox' emerge -1 =sysdevel/prelink-20151030
Comment 2 Alexander Miller 2016-04-17 01:21:32 UTC
Created attachment 430874 [details, diff]
prelink-20151030-tests-rpath.patch

This patch fixes the only test case (unprel1.sh) that still fails
with disabled sandbox. This test fails because the test environment
isn't set up correctly wrt. DT_RUNPATH/DT_RPATH but it relies on the
subtle differences.
Comment 3 Alexander Miller 2016-10-03 01:14:00 UTC
Created attachment 448924 [details, diff]
prelink-20151030-tests-unsandbox.patch

Now that unsandbox has been introduced we can avoid the test failures.

This patch disables the sandbox for all test scripts. A less coarse approach would be preferred but seems to require major code surgery: Ideally, we'd unsandbox only prelink's calls to the dynamic linker, but that's not possible without modifying prelink; setting PRELINK="unsandbox ../src/prelink ..." in the test environment doesn't work either because the test scripts assume the prelink executable is the first word in that variable. If you have a better idea for fine grained sandbox disabling, please go ahead.

The patch must be applied on top of the patch from comment 2. I didn't merge them into one because this patch is Gentoo-specific and the other patch could be of interest for upstream (slightly modified, see below).

The ebuild needs the following updates:
 * IUSE+=" test"
 * DEPEND+=" test? ( app-portage/unsandbox )"
 * in src_prepare(), add the two patches
   (The patch from comment 2 assumes it's applied after the sed, but the sed should be removed and the patch updated accordingly; this patch goes after the other, or both patches may me merged if you prefer)
 * in src_prepare(), also add the missing call to epatch_user

With both patches applied I no longer get test failures.

Drop me a line if I should post updated/merged patches.
Comment 4 Andreas K. Hüttel archtester gentoo-dev 2018-06-23 21:59:52 UTC
Even without sandbox most of the tests now fail here. (30 out of 46)

Not sure if this is still salvageable. Upstream is dead.
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2020-09-03 07:25:54 UTC

*** This bug has been marked as a duplicate of bug 739650 ***