Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
4.8.2
-
None
-
9ef48277f959ff759bd9fba36c907ef5ed67f5b1 241e28ed640997ba5339e6cf48b54ffc243b0500
Description
in src/sql/drivers/mysql/qsql_mysql.pri, the *= operator is used to filter and add QT_LFLAGS_MYSQL to LIBS. When QT_LFLAGS_MYSQL contains multiple -Wl,rpath arguments, all but the first are filtered out, causing the build to fail. On one system, for example, the output of "mysql_config --libs" looks like this:
L/path/to/mariadb-5.2.4/libin -L/path/to/mariadb-5.2.4/lib64 -L/path/to/mariadb-5.2.4/lib -L/path/to/lib -L/path/to/lib64 -Wl,dynamic-linker -Wl,/lib64/ld-linux-x86-64.so.2 -Wl,no-warn-search-mismatch -Wl,-z -Wl,origin -Wl,-enable-new-dtags -Wl,-rpath -Wl,/path/to/mariadb-5.2.4/libin -Wl,-rpath -Wl,/path/to/mariadb-5.2.4/lib64 -Wl,-rpath -Wl,/path/to/mariadb-5.2.4/lib -Wl,-rpath -Wl,/path/to/lib64 -Wl,-rpath -Wl,/path/to/lib -rdynamic -L/path/to/mariadb-5.2.4/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm
One solution would be to use += instead of *=