xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Mathieu Malaterre
On Tue, Sep 29, 2009 at 11:34 PM, Brad King <[hidden email]> wrote:

> Mathieu Malaterre wrote:
>> On Fri, Sep 25, 2009 at 10:07 PM, Bill Hoffman <[hidden email]> wrote:
>>> I am happy to announce that CMake 2.8.0 has entered the beta stage! You
>>> can find the source and binaries here: http://www.cmake.org/files/v2.8/.
>>>
>>
>> There is still one compilation issue with xlC on Linux:
>>
>> http://www.cdash.org/CDash/viewBuildError.php?buildid=437487
>>
>> For some reason HAVE_GETHOSTBYNAME_R_5 is being defined, while it
>> should be HAVE_GETHOSTBYNAME_R_6
>
> Check CMakeFiles/CMakeOutput.log (or wherever cmcurl puts its
> try-compile logs) to see why the test for R_5 passed.

Funny thing:

$ cat CMakeFiles/CMakeOutput.log
...
Performing Curl Test HAVE_GETHOSTBYNAME_R_5 passed with the following output:
Change Dir: /home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast"
gmake -f CMakeFiles/cmTryCompileExec.dir/build.make
CMakeFiles/cmTryCompileExec.dir/build
gmake[1]: Entering directory `/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp'
"/home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/Bootstrap.cmk/cmake"
-E cmake_progress_report "/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp/CMakeFiles" 1
Building C object CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o
/opt/ibmcmp/vacpp/9.0/bin/cc   -DHAVE_GETHOSTBYNAME_R_5   -o
CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o   -c
"/home/mmalater/Dashboards/My
Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
"/home/mmalater/Dashboards/My
Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c", line 247.16:
1506-098 (E) Missing argument(s).
Linking C executable cmTryCompileExec
"/home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/Bootstrap.cmk/cmake"
-E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt
--verbose=1
/opt/ibmcmp/vacpp/9.0/bin/cc      -DHAVE_GETHOSTBYNAME_R_5
CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o  -o cmTryCompileExec
-ldl -lidn
gmake[1]: Leaving directory `/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp'

Performing Curl Test HAVE_GETHOSTBYNAME_R_6 passed with the following output:
Change Dir: /home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast"
gmake -f CMakeFiles/cmTryCompileExec.dir/build.make
CMakeFiles/cmTryCompileExec.dir/build
gmake[1]: Entering directory `/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp'
"/home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/Bootstrap.cmk/cmake"
-E cmake_progress_report "/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp/CMakeFiles" 1
Building C object CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o
/opt/ibmcmp/vacpp/9.0/bin/cc   -DHAVE_GETHOSTBYNAME_R_6   -o
CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o   -c
"/home/mmalater/Dashboards/My
Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
Linking C executable cmTryCompileExec
"/home/mmalater/Dashboards/My Tests/CMake-xlC-9.0/Bootstrap.cmk/cmake"
-E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt
--verbose=1
/opt/ibmcmp/vacpp/9.0/bin/cc      -DHAVE_GETHOSTBYNAME_R_6
CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o  -o cmTryCompileExec
-ldl -lidn
gmake[1]: Leaving directory `/home/mmalater/Dashboards/My
Tests/CMake-xlC-9.0/CMakeFiles/CMakeTmp'
...

Indeed:

> /opt/ibmcmp/vacpp/9.0/bin/cc   -DHAVE_GETHOSTBYNAME_R_5   -o CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o   -c "/home/mmalater/Dashboards/My Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
"/home/mmalater/Dashboards/My
Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c", line 247.16:
1506-098 (E) Missing argument(s).
> echo $?
0


And I found the answer here:

http://www.ethereal.com/lists/ethereal-dev/199911/msg00038.html
...
Yes, it is.  There is a flag -qhalt=e which will cause the compiler
to stop after all warnings marked with (E).
...


This seems quite a common things to always add -qhalt=e in all
configure script I found. Looking at what curl does with this compiler
this leads to the following local changes for me:

> cvs di
Index: Modules/Platform/Linux-XL-C.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Linux-XL-C.cmake,v
retrieving revision 1.2
diff -u -r1.2 Linux-XL-C.cmake
--- Modules/Platform/Linux-XL-C.cmake 29 Sep 2009 17:56:57 -0000 1.2
+++ Modules/Platform/Linux-XL-C.cmake 30 Sep 2009 08:33:49 -0000
@@ -1,3 +1,23 @@
 SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
 SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
+
+#      IBM_C)
+#        #
+#        dnl Ensure that compiler optimizations are always thread-safe.
+#        tmp_CFLAGS="$tmp_CFLAGS -qthreaded"
+#        dnl Disable type based strict aliasing optimizations, using worst
+#        dnl case aliasing assumptions when compiling. Type based aliasing
+#        dnl would restrict the lvalues that could be safely used to access
+#        dnl a data object.
+#        tmp_CFLAGS="$tmp_CFLAGS -qnoansialias"
+#        dnl Force compiler to stop after the compilation phase, without
+#        dnl generating an object code file when compilation has errors.
+#        tmp_CFLAGS="$tmp_CFLAGS -qhalt=e"
+
+
+  SET(CMAKE_C_FLAGS_INIT "-qthreaded -qnoansialias -qhalt=e -qmaxerr=1")
+#  SET(CMAKE_C_COMPILE_OBJECT
+#    "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+
+
Index: Modules/Platform/Linux-XL-CXX.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Linux-XL-CXX.cmake,v
retrieving revision 1.2
diff -u -r1.2 Linux-XL-CXX.cmake
--- Modules/Platform/Linux-XL-CXX.cmake 29 Sep 2009 17:56:57 -0000 1.2
+++ Modules/Platform/Linux-XL-CXX.cmake 30 Sep 2009 08:33:49 -0000
@@ -3,3 +3,7 @@
 SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
 SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
 SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
+
+ SET(CMAKE_CXX_COMPILE_OBJECT
+    "<CMAKE_CXX_COMPILER> -+ <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+


--
Mathieu
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Brad King
Mathieu Malaterre wrote:
>> /opt/ibmcmp/vacpp/9.0/bin/cc   -DHAVE_GETHOSTBYNAME_R_5   -o CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o   -c "/home/mmalater/Dashboards/My Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
> "/home/mmalater/Dashboards/My
> Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c", line 247.16:
> 1506-098 (E) Missing argument(s).
>> echo $?
> 0
[snip]
> This seems quite a common things to always add -qhalt=e in all
> configure script I found. Looking at what curl does with this compiler
> this leads to the following local changes for me:

I've factored the XL compiler flags out of AIX.cmake into per-compiler
files, and also added the flags you propose.  See commits below.

-Brad


Split XL compiler information files
/cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v  <--  Modules/Compiler/XL-C.cmake
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Modules/Compiler/XL-CXX.cmake,v  <--  Modules/Compiler/XL-CXX.cmake
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Modules/Compiler/XL-Fortran.cmake,v  <--  Modules/Compiler/XL-Fortran.cmake
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-C.cmake,v  <--  Modules/Platform/AIX-VisualAge-C.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-CXX.cmake,v  <--  Modules/Platform/AIX-VisualAge-CXX.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX-XL-C.cmake,v  <--  Modules/Platform/AIX-XL-C.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX-XL-CXX.cmake,v  <--  Modules/Platform/AIX-XL-CXX.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX-XL-Fortran.cmake,v  <--  Modules/Platform/AIX-XL-Fortran.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/AIX.cmake,v  <--  Modules/Platform/AIX.cmake
new revision: 1.22; previous revision: 1.21
/cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-C.cmake,v  <--  Modules/Platform/Darwin-VisualAge-C.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-CXX.cmake,v  <--  Modules/Platform/Darwin-VisualAge-CXX.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-C.cmake,v  <--  Modules/Platform/Darwin-XL-C.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-CXX.cmake,v  <--  Modules/Platform/Darwin-XL-CXX.cmake
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/Platform/Darwin-xlc.cmake,v  <--  Modules/Platform/Darwin-xlc.cmake
new revision: delete; previous revision: 1.3

Add initial XL C compiler flags for safer builds
/cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v  <--  Modules/Compiler/XL-C.cmake
new revision: 1.3; previous revision: 1.2
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Mathieu Malaterre
On Wed, Sep 30, 2009 at 3:39 PM, Brad King <[hidden email]> wrote:

> Mathieu Malaterre wrote:
>>> /opt/ibmcmp/vacpp/9.0/bin/cc   -DHAVE_GETHOSTBYNAME_R_5   -o CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o   -c "/home/mmalater/Dashboards/My Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
>> "/home/mmalater/Dashboards/My
>> Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c", line 247.16:
>> 1506-098 (E) Missing argument(s).
>>> echo $?
>> 0
> [snip]
>> This seems quite a common things to always add -qhalt=e in all
>> configure script I found. Looking at what curl does with this compiler
>> this leads to the following local changes for me:
>
> I've factored the XL compiler flags out of AIX.cmake into per-compiler
> files, and also added the flags you propose.  See commits below.
>
> -Brad
>
>
> Split XL compiler information files
> /cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v  <--  Modules/Compiler/XL-C.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Compiler/XL-CXX.cmake,v  <--  Modules/Compiler/XL-CXX.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Compiler/XL-Fortran.cmake,v  <--  Modules/Compiler/XL-Fortran.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-C.cmake,v  <--  Modules/Platform/AIX-VisualAge-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-CXX.cmake,v  <--  Modules/Platform/AIX-VisualAge-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-C.cmake,v  <--  Modules/Platform/AIX-XL-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-CXX.cmake,v  <--  Modules/Platform/AIX-XL-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-Fortran.cmake,v  <--  Modules/Platform/AIX-XL-Fortran.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX.cmake,v  <--  Modules/Platform/AIX.cmake
> new revision: 1.22; previous revision: 1.21
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-C.cmake,v  <--  Modules/Platform/Darwin-VisualAge-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-CXX.cmake,v  <--  Modules/Platform/Darwin-VisualAge-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-C.cmake,v  <--  Modules/Platform/Darwin-XL-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-CXX.cmake,v  <--  Modules/Platform/Darwin-XL-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-xlc.cmake,v  <--  Modules/Platform/Darwin-xlc.cmake
> new revision: delete; previous revision: 1.3
>
> Add initial XL C compiler flags for safer builds
> /cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v  <--  Modules/Compiler/XL-C.cmake
> new revision: 1.3; previous revision: 1.2
>

The 32bits xlC is now perfectly clean, congrats !

http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439244

A couple of warnings that's all:
http://www.cdash.org/CDash/viewBuildError.php?type=1&buildid=439244


However, there are still two issues remaining with xlC -q64 (64bits
compilation) :
http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439310

I do not understand what I need to adjust to get the path right, for instance:

> file /usr/lib/qt3/lib/libqt-mt.so.3.3.7
/usr/lib/qt3/lib/libqt-mt.so.3.3.7: ELF 32-bit MSB shared object,
PowerPC or cisco 4500, version 1 (SYSV), stripped
> file /usr/lib/qt3/lib64/libqt-mt.so.3.3.7
/usr/lib/qt3/lib64/libqt-mt.so.3.3.7: ELF 64-bit MSB shared object,
cisco 7500, version 1 (SYSV), stripped

Thanks again !

--
Mathieu
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Brad King
Mathieu Malaterre wrote:
> The 32bits xlC is now perfectly clean, congrats !

Great!

> A couple of warnings that's all:
> http://www.cdash.org/CDash/viewBuildError.php?type=1&buildid=439244

Warnings in system headers are always a pain.  Can you please
investigate options to turn them off?

> However, there are still two issues remaining with xlC -q64 (64bits
> compilation) :
> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439310
>
> I do not understand what I need to adjust to get the path right, for instance:
>
>> file /usr/lib/qt3/lib/libqt-mt.so.3.3.7
> /usr/lib/qt3/lib/libqt-mt.so.3.3.7: ELF 32-bit MSB shared object,
> PowerPC or cisco 4500, version 1 (SYSV), stripped
>> file /usr/lib/qt3/lib64/libqt-mt.so.3.3.7
> /usr/lib/qt3/lib64/libqt-mt.so.3.3.7: ELF 64-bit MSB shared object,
> cisco 7500, version 1 (SYSV), stripped

Are the binaries built with RPATH?  Are they linking to the right
one in the first place?

-Brad
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Mathieu Malaterre
On Thu, Oct 1, 2009 at 2:31 PM, Brad King <[hidden email]> wrote:
>> A couple of warnings that's all:
>> http://www.cdash.org/CDash/viewBuildError.php?type=1&buildid=439244
>
> Warnings in system headers are always a pain.  Can you please
> investigate options to turn them off?

I am thinking that I do not have the proper default flag on this
64bits machine (think of the lseek vs lseek64).

>> However, there are still two issues remaining with xlC -q64 (64bits
>> compilation) :
>> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439310
>>
>> I do not understand what I need to adjust to get the path right, for instance:
>>
>>> file /usr/lib/qt3/lib/libqt-mt.so.3.3.7
>> /usr/lib/qt3/lib/libqt-mt.so.3.3.7: ELF 32-bit MSB shared object,
>> PowerPC or cisco 4500, version 1 (SYSV), stripped
>>> file /usr/lib/qt3/lib64/libqt-mt.so.3.3.7
>> /usr/lib/qt3/lib64/libqt-mt.so.3.3.7: ELF 64-bit MSB shared object,
>> cisco 7500, version 1 (SYSV), stripped
>
> Are the binaries built with RPATH?

I do not think so:

> readelf -d /usr/lib/qt3/lib/libqt-mt.so.3.3.7

Dynamic section at offset 0x832e88 contains 41 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libpng12.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXrender.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXrandr.so.2]
 0x00000001 (NEEDED)                     Shared library: [libXcursor.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXinerama.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXft.so.2]
 0x00000001 (NEEDED)                     Shared library: [libfreetype.so.6]
 0x00000001 (NEEDED)                     Shared library: [libfontconfig.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXext.so.6]
 0x00000001 (NEEDED)                     Shared library: [libX11.so.6]
 0x00000001 (NEEDED)                     Shared library: [libSM.so.6]
 0x00000001 (NEEDED)                     Shared library: [libICE.so.6]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000e (SONAME)                     Library soname: [libqt-mt.so.3]
 0x0000000c (INIT)                       0x1cda3c
 0x0000000d (FINI)                       0x732010
 0x00000004 (HASH)                       0xd4
 0x00000005 (STRTAB)                     0x73c70
 0x00000006 (SYMTAB)                     0x24050
 0x0000000a (STRSZ)                      676072 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000003 (PLTGOT)                     0x843000
 0x00000002 (PLTRELSZ)                   97236 (bytes)
 0x00000014 (PLTREL)                     RELA
 0x00000017 (JMPREL)                     0x1b5e68
 0x70000000 (PPC_GOT)                    0x842ff4
 0x00000007 (RELA)                       0x122ebc
 0x00000008 (RELASZ)                     699264 (bytes)
 0x00000009 (RELAENT)                    12 (bytes)
 0x6ffffffe (VERNEED)                    0x122cdc
 0x6fffffff (VERNEEDNUM)                 7
 0x6ffffff0 (VERSYM)                     0x118d58
 0x6cbdd031 (SUSE_DIRECT)                0x7eb300
 0x6ffffff9 (RELACOUNT)                  17560
 0x00000000 (NULL)                       0x0

and
> readelf -d /usr/lib/qt3/lib64/libqt-mt.so.3.3.7

Dynamic section at offset 0xa54d30 contains 41 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libpng12.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libXrender.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libXrandr.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libXcursor.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libXinerama.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libXft.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libfreetype.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libfontconfig.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libXext.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libX11.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libSM.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libICE.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libqt-mt.so.3]
 0x000000000000000c (INIT)               0xa652e0
 0x000000000000000d (FINI)               0xa652f8
 0x0000000000000004 (HASH)               0x158
 0x0000000000000005 (STRTAB)             0x9ad08
 0x0000000000000006 (SYMTAB)             0x23ed8
 0x000000000000000a (STRSZ)              674461 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0xae28c0
 0x0000000000000002 (PLTRELSZ)           194328 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x33fc10
 0x0000000070000000 (PPC64_GLINK)        0x920400
 0x0000000000000007 (RELA)               0x149740
 0x0000000000000008 (RELASZ)             2057424 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffe (VERNEED)            0x149630
 0x000000006fffffff (VERNEEDNUM)         6
 0x000000006ffffff0 (VERSYM)             0x13f7a6
 0x000000006cbdd031 (SUSE_DIRECT)        0x9e7b90
 0x000000006ffffff9 (RELACOUNT)          53181
 0x0000000000000000 (NULL)               0x0


> Are they linking to the right
> one in the first place?

I do not understand the question... :(


My question was simply is cmake able to pick the 64bits libs even for
Qt ? Or should I set something else in my nightly cmake dashboard ?

Thanks again,
--
Mathieu
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Brad King
Mathieu Malaterre wrote:
>> Are they linking to the right
>> one in the first place?
>
> I do not understand the question... :(

My bad.  For some reason I was thinking it was linking but failing
to locate the library it linked at runtime.  In fact it is just
picking the wrong library and cannot link to it.

> My question was simply is cmake able to pick the 64bits libs even for
> Qt ? Or should I set something else in my nightly cmake dashboard ?

The FindQt3.cmake module is finding

   /usr/lib/qt3/lib/libqt-mt.so

instead of

   /usr/lib/qt3/lib64/libqt-mt.so

It looks like those paths are hard-coded in the "lib" then "lib64" order.
They were added by the commit below (relevant hunk shown).

Alex, do you remember where you got this patch?
I don't see it in our bug tracker or on the cmake or kde build lists.

Mathieu, what distro is this?  Does the FIND_LIBRARY_USE_LIB64_PATHS
global property get enabled in CMake projects on it?

-Brad


Author: Alexander Neundorf <[hidden email]>
Date:   Wed Aug 30 17:51:22 2006 +0000

     ENH: automatically find Qt3 on SUSE, patch from Dirk Mueller and Stephan
     Kulow

diff --git a/Modules/FindQt3.cmake b/Modules/FindQt3.cmake
index 1e5ae0c..ba0a7c0 100755
--- a/Modules/FindQt3.cmake
+++ b/Modules/FindQt3.cmake
@@ -68,6 +69,8 @@ IF (QT_MT_REQUIRED)
      ${GLOB_PATHS_LIB}
      /usr/local/qt/lib
      /usr/lib/qt/lib
+    /usr/lib/qt3/lib
+    /usr/lib/qt3/lib64
      /usr/share/qt3/lib
      C:/Progra~1/qt/lib
      /usr/X11R6/lib
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Mathieu Malaterre
On Thu, Oct 1, 2009 at 5:36 PM, Brad King <[hidden email]> wrote:
<...>
> Mathieu, what distro is this?

Linux OpenSuse 10.2 ppc64

>   Does the FIND_LIBRARY_USE_LIB64_PATHS
> global property get enabled in CMake projects on it?

Looking at CMake/Modules/Platform/Linux.cmake, I would be tempted to
say FIND_LIBRARY_USE_LIB64_PATHS=TRUE, since I do not have no
/etc/debian* file on my system.
But since no other tests fails I would think discovery of 64bits libs
is working (I am guessing at least a test would fails). This looks
like just an issue in the findqt module.

However I do not understand what I need to do to fix
Modules/FindQt3.cmake, simply reorder the path ?

Thanks,
--
Mathieu
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)

Brad King
Mathieu Malaterre wrote:
> But since no other tests fails I would think discovery of 64bits libs
> is working (I am guessing at least a test would fails). This looks
> like just an issue in the findqt module.
>
> However I do not understand what I need to do to fix
> Modules/FindQt3.cmake, simply reorder the path ?

Look at the method "cmFindCommon::RerootPaths".  There is a
disabled block that prints the real search path.  Hack the
source to enable it, and you may see what is happening.

-Brad
_______________________________________________
Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake