static compile fails

Bug #1807176 reported by bra
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
stress-ng (Ubuntu)
Fix Released
Medium
Colin Ian King

Bug Description

Hi,

I would like to build this:
https://github.com/alexei-led/stress-ng/blob/master/Dockerfile
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)
description: updated
Revision history for this message
Juhani Numminen (jsonic) wrote :

Hi,

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.

Regards,
Juhani

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
Revision history for this message
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>

Revision history for this message
Colin Ian King (colin-king) wrote :

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

Revision history for this message
Colin Ian King (colin-king) wrote :
Changed in stress-ng (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
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
    stress-ng.h
  * 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-...

Read more...

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.