Bug 1257703

Summary: v8-devel is compiled without pthread
Product: [Fedora] Fedora EPEL Reporter: Vlad <marchenko>
Component: v8Assignee: T.C. Hollingsworth <tchollingsworth>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel7CC: tchollingsworth
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-07-08 22:19:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vlad 2015-08-27 17:49:31 UTC
v8-devel package is compiled without pthreads, which results in undefined references when trying to use v8 library:

# /usr/bin/gcc -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fstack-protector assertlib_A1TTNYr.c -o assertlibDrwJXBUq -lv8

/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_create'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_key_create'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `sem_wait'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `sem_init'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_getspecific'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `sem_destroy'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_mutex_trylock'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_key_delete'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_attr_setstacksize'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `sem_post'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `sem_timedwait'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_mutexattr_settype'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_join'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libv8.so: undefined reference to `pthread_mutexattr_init'


$ ldd /usr/lib64/libv8.so
        linux-vdso.so.1 =>  (0x00007fff4cbee000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fef0acb0000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fef0a9ae000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fef0a797000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fef0a3d6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fef0b75a000)
$ strings /usr/lib64/libv8.so | grep pthread
pthread_self
pthread_mutex_destroy
pthread_mutex_lock
pthread_mutex_unlock
pthread_mutex_trylock
pthread_attr_init
pthread_attr_setstacksize
pthread_create
pthread_join
pthread_key_create
pthread_key_delete
pthread_getspecific
pthread_setspecific
pthread_mutexattr_init
pthread_mutexattr_settype
pthread_mutex_init


when manually replaced with v8 shipped with Fedora 19 , problem goes away:
$ ldd /usr/lib64/libv8.so
        linux-vdso.so.1 =>  (0x00007ffe617fe000)
        libicui18n.so.50 => /lib64/libicui18n.so.50 (0x00007fd024b4a000)
        libicuuc.so.50 => /lib64/libicuuc.so.50 (0x00007fd0247d1000)
        libicudata.so.50 => /lib64/libicudata.so.50 (0x00007fd0231fc000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd022ef5000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fd022bf3000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd0229dc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd02261b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd0223ff000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fd0221fa000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd0256de000)

Comment 1 Troy Dawson 2024-07-08 22:19:52 UTC
EPEL 7 entered end-of-life (EOL) status on 2024-06-30.\n\nEPEL 7 is no longer maintained, which means that it\nwill not receive any further security or bug fix updates.\n As a result we are closing this bug.