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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.