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

Graham Russell grussell at cheetah.com
Thu May 1 18:35:04 EDT 2014


Seems like there are 2 choices for a solution:
  1. Change CMake so it uses the IBM linker instead of the GNU linker.  What settings would I need to change in the cmake files to try this?
  2. Change the linker options so they will work for the GNU linker.

I tried option #2 by removing "-bnoipath" from the Modules/AIX-GNU.cmake file.  This enabled cmake to run successfully on test files and on the MySQL package.

However, my ultimate aim being to build MySQL, the make did run into errors subsequently, so I would like to try option #1 also.  I am interested if you have an opinion as to whether option #1 or option #2 would give me a better shot at building MySQL.

Further to your question "Would you be willing to run a nightly 
dashboard with this configuration so we can test it over time?"
I would be willing, but need to know how to do this and what it involves.

Thanks
Graham Russell

-----Original Message-----
From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Bill Hoffman
Sent: Thursday, May 01, 2014 1:33 PM
To: cmake at cmake.org
Subject: Re: [CMake] cmake 2.8.12.2 fails on AIX 6.1 with "ld: target noipath not found"

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

-- 

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:
http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list