Nominate our 2022 Qt Champions!

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:
    @[root@temp01 oci]# /usr/lib64/qt4/bin/qmake "INCLUDEPATH+=/usr/include/oracle/ /usr/lib64/qt4/include" "LIBS+=-L/usr/lib/oracle/ -Wl,-rpath,/usr/lib/oracle/ -lclntsh -lnnz10"

    @[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/ -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/ -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/ -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/ -I../../../../include -I. -o moc_qsql_oci.o moc_qsql_oci.cpp
    rm -f
    g++ -m64 -Wl,-O1 -shared -o main.o qsql_oci.o moc_qsql_oci.o -L/usr/lib/oracle/ -Wl,-rpath,/usr/lib/oracle/ -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 | 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.

    Best Regards

Log in to reply