Hi Brad,

Good news ! Thanks for the information.

We are building cmake now only with GCC (6.3.0 for now) on AIX 6.1 .
Which GCC compiler version are you using on AIX ?

We have been able to build the RPMs files of cmake 3.11.1 once by means of our 
RPM cmake....spec file.
Now, when we try to rebuild it, we face either a core or a hang in the 
bootstrap phase.
We build cmake in 32bit.
And, when building cmake RPMs succeeded, we had:  98% tests passed, 8 tests 
failed out of 462 .

About the _ZTINSt6thread6_StateE issue, we have figured out what's happening.
It appears that the cmake executable has been built so that it looks for: 
libstdc++.a(libstdc++.so.6) in 
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/pthread:/opt/freeware/lib/pthread/
 first, before the base /opt/freeware/lib. However, when we use it for building 
mariadb, we have to set the LIBPATH to: /opt/freeware/lib64:/usr/lib and since 
the symbol _ZTINSt6thread6_StateE belongs to the pthread version of libstdc++.a 
and not to the standard 32bit version of libstdc++.a , that fails .

# nm /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/libstdc++.a | grep 
_ZTINSt6thread6_StateE
# 
# nm /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/pthread/libstdc++.a | 
grep _ZTINSt6thread6_StateE
_ZTINSt6thread6_StateE D   536897504
_ZTINSt6thread6_StateE d   536897504           8

# dump -Hv /tmp/opt/freeware/bin/cmake
INDEX  PATH                          BASE                MEMBER             
0      
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/pthread:/opt/freeware/lib/pthread:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0:/opt/freeware/lib:/usr/lib:/lib
                                        
1                                    libperfstat.a       shr.o              
2                                    libstdc++.a         libstdc++.so.6 


Moreover, though we try to build mariadb in 64bit, we see that library paths 
and other options used for building mariadbare set to 32bit. And some options 
to be used only in 32bit (-bmaxdata) appears in 64bit. And some dangerous 
options (-brtl and -bexpall) are used.

We have found some   Modules/Platform/AIX-*.cmake  files that seem to control 
how cmake is configured on AIX.
We are cmake beginners and need to learn about how cmake is built and used.

So, either our mariadb .spec file contains mistakes, or the port of cmake we've 
done, though tests are 98% OK, is not yet usable/perfect on AIX.
Have you used cmake on AIX for building any package?
Do you have traces of the build of cmake in your AIX environment?

About adding one of our machines for building cmake to your buildfarm, we'll 
have look later.

Thanks !

Cordialement,

Tony Reix

ATOS / Bull SAS
ATOS Expert
IBM Coop Architect & Technical Leader
Office : +33 (0) 4 76 29 72 67
1 rue de Provence - 38432 Échirolles - France
www.atos.net

________________________________________
De : Brad King [brad.k...@kitware.com]
Envoyé : lundi 11 juin 2018 16:06
À : REIX, Tony; cmake-developers@cmake.org
Cc : APEKE, SENA (ext)
Objet : Re: [cmake-developers] cmake on AIX

On 06/08/2018 11:56 AM, REIX, Tony wrote:
> We'd like to know if cmake has already been ported on AIX.

Yes, it has long worked on AIX.  We have nightly testing
on AIX 7.2 with both GCC 7.2 and XL 13.1.  A couple of tests
are disabled for those builds but it works in general.

Since CMake 3.10 we require C++11 language and standard
library features so we've only gotten it compiling on AIX
using GCC.  The above-mentioned nightly builds still run
the test suite against XL too though.

If you're interested in running nightly testing too, more
machines/versions would be helpful.  See here:

  https://gitlab.kitware.com/cmake/cmake/blob/master/Help/dev/testing.rst

You'd need to start with a GCC build.  Then I can help you
configure it to run the test suite with XL too.

> Version 3.11.1 :
>  # /opt/freeware/bin/cmake
> Could not load program /opt/freeware/bin/cmake:
> rtld: 0712-001 Symbol _ZTINSt6thread6_StateE was referenced
>       from module cmake(), but a runtime definition
>             of the symbol was not found.

How did you build or install it?

That symbol demangles to "typeinfo for std::thread::_State",
which is part of the C++ standard library.

Make sure the `libstdc++` library used at runtime is at
least as new as the one used when it was compiled.

-Brad
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers

Reply via email to