[cfarm-users] gcc112/ppc64-le, and undefined reference to __cxa_thread_atexit_impl

David Edelsohn dje.gcc at gmail.com
Mon Feb 19 23:18:26 CET 2018


On Mon, Feb 19, 2018 at 5:15 PM, Jeffrey Walton <noloader at gmail.com> wrote:
>>>> On Mon, Feb 19, 2018 at 02:49:47PM -0500, Jeffrey Walton via cfarm-users wrote:
>>>>> /opt/cfarm/gcc7rc2/bin/g++ -o cryptest.exe -DNDEBUG -g2 -O3 -fPIC
>>>>> -pthread -pipe adhoc.o test.o bench1.o bench2.o validat0.o validat1.o
>>>>> validat2.o validat3.o validat4.o datatest.o regtest1.o regtest2.o
>>>>> regtest3.o dlltest.o fipsalgt.o ./libcryptopp.a
>>>>> /home/guerby/opt/cfarm/gcc7rc2/bin/../lib/gcc/powerpc64le-unknown-linux-gnu/7.0.1/../../../../lib64/libstdc++.so:
>>>>> undefined reference to `__cxa_thread_atexit_impl at GLIBC_2.18'
>>>>> collect2: error: ld returned 1 exit status
>>>>> make: *** [cryptest.exe] Error 1
>>>>
>>>> How/why do you get anything from /home/guerby?  /opt/cfarm/gcc7rc2 was
>>>> build on a different machine (and it is only there so people can use it
>>>> as an easy starting point for building ada: the system compiler on 112
>>>> does not support that) so there is no way it refers to there.
>>>
>>> Hmm, I'm not sure. I'm on GCC112, and it is in /opt/cfarm:
>>>
>>> $ ls /opt/cfarm/
>>> autoconf-latest    ftp         krb5-latest  mpfr-latest     python3-latest
>>> bison-latest       gcc7rc2     m4-latest    openssl-latest  release
>>> cyrus-sasl-latest  gcc-latest  make-latest  perl5-latest    zlib-latest
>>> db-latest          gmp-latest  mpc-latest   python2-latest
>>>
>>>> I know nothing about the build system you used, but it seems buggy.
>>>
>>> I used a GNUmakefile:
>>>
>>>     CXX=/opt/cfarm/gcc7rc2/bin/g++ make -j 20
>>>
>>> Nothing special, as far as I know. Just using the latest compiler.
>>
>> Why are you using /opt/cfarm instead of the default system compiler?
>
> I'm trying to reproduce a problem under Fedora 28.
>
> The problem is not present under the default compiler, which is GCC 4.8.5.
>
>> That is special.  /opt/cfarm is not installed as an alternate system
>> compiler.  It's not even the latest compiler.  If you choose to
>> override the defaults and refer to a random compiler whose origin you
>> don't know, you may encounter unintended consequences, as you have
>> discovered.
>
> Oh, my bad. I thought the latest stuff was installed in /opt/cfarm.
>
> So I am clear: we are _not_ supposed to use stuff in /opt/cfarm. Is
> that correct?

Don't use stuff in /opt/cfarm if you don't know what you're unprepared
to handle any problems.

Thanks, David


More information about the cfarm-users mailing list