[cmake-developers] cmake on AIX
REIX, Tony
tony.reix at atos.net
Tue Jun 19 12:17:34 EDT 2018
Hi Brad,
Thanks for the information!
About MariaDB current issue, the only trace I see dealing with the string breaking cmake is:
/opt/freeware/src/packages/BUILD/mariadb-10.3.1/64bit/libmariadb/cmake/FindGSSAPI.cmake(94): message(STATUS Found GSSAPI: ${GSSAPI_LIBS} )
-- Found GSSAPI: -L/opt/freeware/lib -blibpath:/opt/freeware/lib::/usr/lib:/lib -I/usr/include -I/opt/freeware/include -L/opt/freeware/lib -blibpath:/opt/freeware/lib:/usr/lib:/lib
-bmaxdata:0x80000000 -brtl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lpthreads
It contains a part of this:
# grep bmaxdata mariadb-10.3.1-1.spec
export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -lintl"
And the rest of the string probably comes from KRB5 configuration files:
# rpm -ql krb5-devel-1.9.4-2 | xargs grep lkrb5
/opt/freeware/bin/krb5-config: lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err $GEN_LIB $LIBS $DL_LIB"
/opt/freeware/bin/krb5-config_64: lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err $GEN_LIB $LIBS $DL_LIB"
So, it looks like cmake gets data for the CMAKE_REQUIRED_LIBRARIES from these 2 aboves places, but it does not transform the " " blank separators by ";" ?!!
Any idea where this is done ?
Regards,
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<https://mail.ad.bull.net/owa/redir.aspx?C=PvphmPvCZkGrAgHVnWGsdMcDKgzl_dEIsM6rX0g4u4v8V81YffzBGkWrtQeAXNovd3ttkJL8JIc.&URL=http%3a%2f%2fwww.atos.net%2f>
________________________________
De : Brad King <brad.king at kitware.com>
Envoyé : mardi 19 juin 2018 17:57:54
À : REIX, Tony; cmake-developers at cmake.org
Cc : APEKE, SENA (ext)
Objet : Re: [cmake-developers] cmake on AIX
On 06/19/2018 11:48 AM, REIX, Tony wrote:
> However, we've found yet no information about how to:
>
> a) run one test,
>
> b) get more traces,
ctest -R $regex_matching_tests_to_run -V
> c) know where are the logs.
See the Testing/* directory. When not running in dashboard
client mode there isn't much logged though.
> CMake Error at /opt/freeware/src/packages/BUILD/mariadb-10.3.1/64bit/CMakeFiles/CMakeTmp/CMakeLists.txt:14 (add_executable):
> Target "cmTC_d6385" links to target "-L/opt/freeware/lib
> -blibpath:/opt/freeware/lib::/usr/lib:/lib -I/usr/include
> -I/opt/freeware/include -L/opt/freeware/lib
> -blibpath:/opt/freeware/lib:/usr/lib:/lib -bmaxdata:0x80000000 -brtl
> -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lpthreads" but the target was
> not found. Perhaps a find_package() call is missing for an IMPORTED
> target, or an ALIAS target is missing?
>
> CMake Error at /opt/freeware/share/cmake/Modules/CheckSymbolExists.cmake:87 (try_compile):
> Failed to generate test project build system.
> Call Stack (most recent call first):
> /opt/freeware/share/cmake/Modules/CheckCXXSymbolExists.cmake:39 (__CHECK_SYMBOL_EXISTS_IMPL)
> plugin/auth_gssapi/CMakeLists.txt:24 (CHECK_CXX_SYMBOL_EXISTS)
I suspect mariadb's source is setting CMAKE_REQUIRED_LIBRARIES
to a space-separated value instead of a ;-separated value.
See the code here:
https://github.com/MariaDB/server/blob/ed0b84a027/plugin/auth_gssapi/CMakeLists.txt#L22-L24
It assumes GSSAPI_LIBS is ;-separated, but the cache entry you
quoted is a command-lien string with spaces.
-Brad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake-developers/attachments/20180619/197406e5/attachment.html>
More information about the cmake-developers
mailing list