[CMake] cmake 2.8.12.2 fails on AIX 6.1 with "ld: target noipath not found"

Bill Hoffman bill.hoffman at kitware.com
Thu May 1 16:33:29 EDT 2014


On 5/1/2014 4:04 PM, Graham Russell wrote:
> Thanks for the response, Bill.
>
> I confirmed that the compiler install works fine:
> pvm-vangogh-94:grussell [625] /usr/local/bin/gcc  hello.c -o hello pvm-vangogh-94:grussell [626] ./hello Hello World!
>
> I also tested it with your simple program and it also compiles OK and runs.
>
> I think the problem lies in the options that CMake uses to test the AIX compile environment.
>
> Thanks
> Graham Russell


OK, from the log you sent, we can see that CMake is passing some stuff 
to the linker:

/usr/local/bin/gcc 
CMakeFiles/cmTryCompileExec680887608.dir/testCCompiler.c.o  -o 
cmTryCompileExec680887608 -Wl,-brtl,-bnoipath,-bexpall 
-Wl,-blibpath:/usr/lib:/lib



I think the problem is that you are using the GNU linker, and CMake 
seems to be expecting the AIX linker to be used even with gcc.

You can see this is the linker used:
/usr/local/lib/gcc/powerpc-ibm-aix6.1.0.0/4.4.4/../../../../powerpc-ibm-aix6.1.0.0/bin/ld:

Which is the GNU linker and not the AIX linker which supports and needs 
that flag.


You should be able to change this in Modules/AIX-GNU.cmake

which has this:
   set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS 
"-Wl,-brtl,-bnoipath,-bexpall")  # +s, flag for exe link to use shared lib



That should get you going.  I will think about a solution that can be 
incorporated into CMake.  Would you be willing to run a nightly 
dashboard with this configuration so we can test it over time?

Thanks.

-Bill



More information about the CMake mailing list