Problem compiling Oracle OCI plugin on Unix 64 Bit (CentOS 6)
-
Hi All!
I have a problem compiling the oracle OCI client with 64 bit unix.
It seems like everything compiles fine as 64 bit but the buildkey is still set to i386.Basically all my QT libs and Oracle libs show 64 Bit in the fileinfo.
When I compile the OCI plugin it also shows up as 64 Bit in the fileinfo but the buildkey is still set to i386.Is there anything special needed to compile this plugin for 64 bit unix?
Or is there a way to force a buildkey with x86_64?
Here's what I did to compile:
qmake:
@[root@temp01 oci]# /usr/lib64/qt4/bin/qmake "INCLUDEPATH+=/usr/include/oracle/10.2.0.5/client64 /usr/lib64/qt4/include" "LIBS+=-L/usr/lib/oracle/10.2.0.5/client64/lib -Wl,-rpath,/usr/lib/oracle/10.2.0.5/client64/lib -lclntsh -lnnz10" oci.pro@make:
@[root@temp01 oci]# make
g++ -c -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtSql -I/usr/include -I/usr/include/oracle/10.2.0.5/client64 -I../../../../include -I. -o main.o main.cpp
g++ -c -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtSql -I/usr/include -I/usr/include/oracle/10.2.0.5/client64 -I../../../../include -I. -o qsql_oci.o ../../../sql/drivers/oci/qsql_oci.cpp
/usr/lib64/qt4/bin/moc -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtSql -I/usr/include -I/usr/include/oracle/10.2.0.5/client64 -I../../../../include -I. ../../../sql/drivers/oci/qsql_oci.h -o moc_qsql_oci.cpp
g++ -c -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtSql -I/usr/include -I/usr/include/oracle/10.2.0.5/client64 -I../../../../include -I. -o moc_qsql_oci.o moc_qsql_oci.cpp
rm -f libqsqloci.so
g++ -m64 -Wl,-O1 -shared -o libqsqloci.so main.o qsql_oci.o moc_qsql_oci.o -L/usr/lib/oracle/10.2.0.5/client64/lib -Wl,-rpath,/usr/lib/oracle/10.2.0.5/client64/lib -lclntsh -lnnz10 -lQtSql -lQtCore -lpthread
@
So when I look at the compilation log everything seems to compile as 64 bit ...But when I search for strings in the newly created lib:
@[root@temp01 oci]# strings libqsqloci.so | grep buildkey
buildkey=i386 linux g++-3.* full-config
@I still get i386 ...
I already created the plugin on unix 32 bit and windows without any problems.
Thanks
Best Regards
Benjamin