Compilation error: /usr/bin/ld: cannot find -lclntsh

Beim Versuch zu kompilieren eines C-Programms mit Hilfe von make-Datei, ich bin mit der folgenden Verknüpfung Fehler unten beschrieben.

Ich kenne diese Art von Problemen sind bereits besprochen, in vielen anderen posts, aber ich habe versucht, mit den Lösungen, die vorgeschlagen wird, in Ihnen, aber Sie alle haben nicht funktioniert.

/usr/bin/ld: cannot find -lclntsh

libclntsh.so und libclntsh.so.10.1 sind in oracle-Pfad /u01/app/oracle/product/10.2.0/lib und, die gegeben ist als -L-option in der make-Datei. Noch immer stehe ich vor dem Problem:-

Linking yieldrpt ...
cc -v -g -D_HPUX_SOURCE -DPARETO -Wl,-aarchive -L/u01/app/oracle/product/10.2.0/lib/         yieldrpt.o  -lclntsh `cat /u01/app/oracle/product/10.2.0/lib/ldflags`   -lmalloc -ldl -lm   \
                -lmalloc -o yieldrpt
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)
/usr/libexec/gcc/i386-redhat-linux/4.1.2/collect2 --eh-frame-hdr -m elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2 -o yieldrpt /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbegin.o -L/u01/app/oracle/product/10.2.0/lib/ -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -aarchive yieldrpt.o -lclntsh -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -lmalloc -ldl -lm -lmalloc -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i386-redhat-linux/4.1.2/crtend.o     /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o
/usr/bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
make: *** [yieldrpt] Error 1

Bitte lassen Sie mich wissen, wenn sonstige Infos benötigt wird.
Danke

  • vielleicht ein 32bit vs. 64bit-Problem?
  • Bitte ls -alg /u01/app/oracle/product/10.2.0/lib/*clntsh*.
  • /u01/app/oracle/product/10.2.0/lib/clntsh.Landkarte /u01/app/oracle/product/10.2.0/lib/libclntsh.also -> libclntsh.so.10.1 /u01/app/oracle/product/10.2.0/lib/libclntsh.so.10.1
  • ammoq: überraschend lib und lib32 zeigen auf den selben Ordner in meinem oracle-installation für 10.2. Wäre das wirklich ein problem sein?
InformationsquelleAutor Bharath | 2014-06-26
Schreibe einen Kommentar