AIX/IBMi: TARGET_IMPLIB is undefined
Using cmake 3.16.0 on IBM i <TARGET_IMPLIB>
is undefined.
For some context IBM i provides an AIX environment called PASE.
PASE provides a means to port IBM AIX applications to the IBM i platform with minimal effort.
I found this issue while building mariadb.
[ 55%] Linking CXX executable mysql
cd /QOpenSys/home/rpmbuild/rpmbuild/BUILD/mariadb-10.3.14/client && /QOpenSys/pkgs/bin/cmake -E cmake_link_script CMakeFiles/mysql.dir/link.txt --verbose=1
"/QOpenSys/pkgs/share/cmake-3.16/Modules/Platform/AIX/ExportImportList" -o "" -l . CMakeFiles/mysql.dir/completion_hash.cc.o CMakeFiles/mysql.dir/mysql.cc.o CMakeFiles/mysql.dir/readline.cc.o CMakeFiles/mysql.dir/__/sql/sql_string.cc.o
usage: ExportImportList -o <out-file> [-l <lib>] [--] <objects>...
make[2]: *** [client/CMakeFiles/mysql.dir/build.make:143: client/mysql] Error 1
As you can see from the output the ExportImportList
script tries to create an output file with no name. This causes the script to fail. I suspect the root cause is that TARGET_IMPLIB is undefined.
@brad.king I'm trying to figure out why TARGET_IMPLIB
is not getting set?
How does it get defined?
CC @ThePrez
Edited by Brad King