> On Jan. 23, 2015, 5:42 p.m., Timothy St. Clair wrote:
> > configure.ac, line 260
> > <https://reviews.apache.org/r/29595/diff/3/?file=819045#file819045line260>
> >
> >     Do you have system details?  
> >     
> >     Could you provide ldd and version of the system in question.
> 
> Kapil Arya wrote:
>     BTW, I should have noticed it earlier, but it failed while making 
> benchmark executable.  So, may be we don't need the flag for src/Makefile.
>     
>     ```  CXX      benchmarks-benchmarks.o
>       CXXLD    benchmarks
>     
> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 
> skipping incompatible /usr/lib/librt.so when searching for -lrt
>     
> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 
> skipping incompatible /usr/lib/libm.so when searching for -lm
>     
> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 
> skipping incompatible /usr/lib/libc.so when searching for -lc
>     
> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 
> ./.libs/libprocess.a(libprocess_la-io.o): undefined reference to symbol 
> 'pthread_sigmask@@GLIBC_2.2.5'
>     /lib64/libpthread.so.0: error adding symbols: DSO missing from command 
> line
>     collect2: error: ld returned 1 exit status
>     Makefile:614: recipe for target 'benchmarks' failed
>     make[5]: *** [benchmarks] Error 1
>     make[5]: *** Waiting for unfinished jobs....
>     make[5]: Leaving directory 
> '/home/kapil/mesos/modules/build/3rdparty/libprocess'
>     Makefile:1374: recipe for target 'check-am' failed
>     make[4]: *** [check-am] Error 2
>     make[4]: Leaving directory 
> '/home/kapil/mesos/modules/build/3rdparty/libprocess'
>     Makefile:1086: recipe for target 'check-recursive' failed
>     make[3]: *** [check-recursive] Error 1
>     make[3]: Leaving directory 
> '/home/kapil/mesos/modules/build/3rdparty/libprocess'
>     Makefile:475: recipe for target 'check-recursive' failed
>     make[2]: *** [check-recursive] Error 1
>     make[2]: Leaving directory '/home/kapil/mesos/modules/build/3rdparty'
>     Makefile:624: recipe for target 'check' failed
>     make[1]: *** [check] Error 2
>     make[1]: Leaving directory '/home/kapil/mesos/modules/build/3rdparty'
>     Makefile:663: recipe for target 'check-recursive' failed
>     make: *** [check-recursive] Error 1
>     make took 35.2078492 seconds
>     ```
>     
>     It's OpenSuse tumbleweed (13.2) with:
>     ```
>     
>     
>     :~> uname -a
>     Linux Kapil-MBP.localdomain 3.17.2-1-desktop #1 SMP PREEMPT Fri Nov 7 
> 15:18:21 UTC 2014 (bf63174) x86_64 x86_64 x86_64 GNU/Linux
>     $:~> gcc --version
>     gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
>     Copyright (C) 2013 Free Software Foundation, Inc.
>     This is free software; see the source for copying conditions.  There is NO
>     warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
> PURPOSE.
>     
>     $:~> /lib64/libc-2.20.so   
>     GNU C Library (GNU libc) stable release version 2.20 (git b8079dd0d360), 
> by Roland McGrath et al.
>     Copyright (C) 2014 Free Software Foundation, Inc.
>     This is free software; see the source for copying conditions.
>     There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>     PARTICULAR PURPOSE.
>     Configured for x86_64-suse-linux.
>     Compiled by GNU CC version 4.8.3 20140627 [gcc-4_8-branch revision 
> 212064].
>     Available extensions:
>             crypt add-on version 2.1 by Michael Glad and others
>             GNU Libidn by Simon Josefsson
>             Native POSIX Threads Library by Ulrich Drepper et al
>             BIND-8.2.3-T5B
>     libc ABIs: UNIQUE IFUNC
>     For bug reporting instructions, please see:
>     <http://bugs.opensuse.org>.
>     ```
> 
> Timothy St. Clair wrote:
>     Maybe it's me, but it seems weird that you would want to link it for 
> everyone when it's pretty clearly a opensuse issue?

Apparently, libpthread is needed for mesos. However, on some systems, the 
compiler automatically links against it even though it was never explicitly 
mentioned in LD_FLAGS.  The correct behavior is to explicitely mention all 
required libs on LD_FLAGS.  I came across this proposal for Fedora 
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange . Looks like Fedora 
is also moving in this direction to do explicit linkage and avoid indirect 
linkage.


- Kapil


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/29595/#review69495
-----------------------------------------------------------


On Jan. 13, 2015, 1:47 p.m., Kapil Arya wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/29595/
> -----------------------------------------------------------
> 
> (Updated Jan. 13, 2015, 1:47 p.m.)
> 
> 
> Review request for mesos, Cody Maloney, Niklas Nielsen, Till Toenshoff, 
> Timothy Chen, and Timothy St. Clair.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> When using system glog, linking fails with undefined
> reference for pthread_* functions.
> 
> 
> Diffs
> -----
> 
>   configure.ac acc685caa47717f0fb61a7c18572d7b763ec707b 
> 
> Diff: https://reviews.apache.org/r/29595/diff/
> 
> 
> Testing
> -------
> 
> Ran ../configure --with-glog=/usr && make && make check
> 
> 
> Thanks,
> 
> Kapil Arya
> 
>

Reply via email to