static compile fails

Bug #1807176 reported by bra on 2018-12-06
This bug affects 1 person
Affects Status Importance Assigned to Milestone
stress-ng (Ubuntu)
Colin Ian King

Bug Description


I would like to build this:
with latest stress-ng version (0.09.48), but fails with:
LD stress-ng
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libpthread.a(lowlevellock.o): In function `__lll_lock_wait_private':
/build/glibc-6V9RKT/glibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:78: multiple definition of `__lll_lock_wait_private'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libpthread.a(lowlevellock.o): In function `__lll_unlock_wake_private':
/build/glibc-6V9RKT/glibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:328: multiple definition of `__lll_unlock_wake_private'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
collect2: error: ld returned 1 exit status
Makefile:350: recipe for target 'stress-ng' failed

It can't be compiled in this way since 0.09.42.

bra (bra) on 2018-12-06
description: updated
Juhani Numminen (jsonic) wrote :


Is this report about Ubuntu-provided binary or source packages, or about the upstream source from GitHub?
What is your version of Ubuntu and stress-ng?
Please provide the commands that you used, and the complete build log.


Changed in stress-ng (Ubuntu):
status: New → Incomplete
Changed in stress-ng (Ubuntu):
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)
status: Incomplete → In Progress
Colin Ian King (colin-king) wrote :

Bisected, bad bisect:

commit ddfdb4cd880ce3a4e5ba108374a75956a6248c24 (HEAD, refs/bisect/bad)
Author: Colin Ian King <email address hidden>
Date: Tue Oct 2 10:23:53 2018 +0100

    Makefile: add -lc for non-Haiku, and -lnetfork for Haiku

    Signed-off-by: Colin Ian King <email address hidden>

Colin Ian King (colin-king) wrote :

Looks like the order should be -lpthread -lc to get the linking to work correctly.

Colin Ian King (colin-king) wrote :
Changed in stress-ng (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (7.5 KiB)

This bug was fixed in the package stress-ng - 0.09.49-1

stress-ng (0.09.49-1) unstable; urgency=medium

  * Makefile: bump version
  * stress-udp-flood: remove check for struct iphdr and icmphdr
  * stress-icmp-flood: add check for struct iphdr and icmphdr
  * Add checks for struct iphdr and icmphdr
  * helper: remove libgen.h - it is not needed
  * Add check for fenv.h
  * Add check for float.h
  * stress-icmp-flood: fix typo in macro name check
  * Add checks for netinet/ip.h and netinet/ip_icmp.h
  * Move getopt.h to stress-ng.h
  * Add check for netinet/sctp.h
  * Add check for locale.h
  * stress-epoll: remove need for netdb.h, clean up define checks
  * Add checkfor libgen.h
  * stress-spawn: only test on linux
  * Add detection for posix_spawn
  * stress-socket: add check for SOL_TCP for BSD systems
  * Add check for net/if.h
  * Add check for netinet/tcp.h and clean up stress-socket a little
  * Move include of arpa/inet.h to stress-ng.h
  * Move include netinet/in.h to stress-ng.h
  * stress-dirdeep: remove include of dirent.h, it is already included
    in stress-ng.h
  * Add check for cpuid.h
  * Move include of keyutils.h to stress-ng.h
  * Move include of crypt.h to stress-ng.h
  * Add check for strings.h
  * Fix check on sys/msg.h, use correct macro for check
  * Use check for mqueue.h
  * Move pwd.h to stress-ng.h
  * Add check for mqueue.h
  * Move ucontext.h and search.h to stress-ng.h
  * Add check for semaphore.h
  * Add checks for aio.h and spawn.h
  * Move math,h and complex.h to stress-ng.h
  * Disable swap for SunOs/Solaris as the interface is different to Linux
  * stress-chown: don't count retries for NetBSD sched_yield retries
  * stress-raw-dev: replace __linux__ check with some more specific checks
  * test/test-sysinfo.c: force failure for sunos, this clashes with a
    different sysinfo
  * stress-ng.c: Add check for sysinfo system call
  * Add check for sysinfo system call
  * Add check for syslog.h
  * Add check for sys/epoll.h
  * Add check for poll.h
  * helper: remove include of sys/statvfs.h as it is include from
  * Add check for sys/shm.h
  * Add check for sys/msg.h
  * Add check for sys/ipc.h
  * helper: use HAVE_SYS_STATVFS_H check for statvfs calls
  * stress-filename.c: use statvfs check
  * Add check for sys/statvfs.h
  * Add check for sys/statfs.h
  * Use check for sys/fanotify.h
  * Add check for sys/sysmacros.h
  * stress-rawdev: remove include of dirent.h, it is in stress-ng.h
  * Add check for sys/io.h
  * Add check for sys/inotify.h and various inotify types
  * Add check for termio.h and termios.h
  * Add check for sys/quota.h
  * Add check for deprecated include ustat.h
  * Add check for utime.h
  * Add check for sys/sysinfo.h
  * Move include of sys/timex.h from stress-get.c to stress-ng.h
  * Add check for sys/ucred.h
  * Add check for sys/mount.h
  * Add check for sys/param.h
  * Move include of mntent.h to stress-ng.h
  * Add check for sys/personality.h
  * perf-event: no need to check for __linux__, remove check
  * Add better checking for HAVE_LINUX_PERF_EVENT_H
  * stress-nop: undefined NOP macros to avoid name space clash
  * Move libaio.h from stress-...


Changed in stress-ng (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers