Der unixodbc-Treibermanager kann die angegebene Bibliothek bei der Installation nicht öffnen
Ich verwende ArchLinux und versuche, OpenEdge-Fortschrittstreiber zu installieren, damit ich über PHP darauf zugreifen kann. Ich habe das Paket unixodbc und die Treiber installiert, aber wenn ich die Verbindung über isql oder PHP teste, erhalte ich den gleichen Fehler ...
<code># isql -3 SUBS2A [01000][unixODBC][Driver Manager]Can't open lib '/usr/dlc/odbc/lib/pgoe1023.so' : file not found [ISQL]ERROR: Could not SQLConnect </code>
Die vermasselte Sache ist, dass "/usr/dlc/odbc/lib/pgoe1023.so" derzeit existiert, ich habe es sogar aus "/ usr / dlc" verlinkt.
Das Folgende sind meine INI-Dateien ...
odbc.ini
<code>[SUBS2A] Description = ODBC Driver for Progress Driver = /usr/dlc/odbc/lib/pgoe1023.so FileUsage = 1 </code>
odbcinst.ini (Ich habe einige Anmeldeinformationen entfernt, da sie irrelevant sind.)
<code>[ODBC-test] Description = SUBS2A Driver = SUBS2A Server = 192.168.1.2 Port = 4000 APILevel=1 ConnectFunctions=YYN CPTimeout=60 DriverODBCVer=03.60 FileUsage=0 SQLLevel=0 UsageCount=1 ArraySize=50 DefaultLongDataBuffLen=2048 DefaultIsolationLevel= READ COMMITTED StaticCursorLongColBuffLen=4096 </code>
BEARBEITEN Weitere Informationen werden hinzugefügt ...
Sie scheinen beide 32-Bit zu sein, außer ich habe keine Ahnung, was ich in Bezug auf das tue.
<code>[root@Crux etc]# file /usr/bin/isql /usr/bin/isql: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, BuildID[sha1]=0xd1bc16c119 bb5cad6fea9e2a9abc1d06794a2775, stripped [root@Crux etc]# file /usr/dlc/odbc/lib/pgoe1023.so /usr/dlc/odbc/lib/pgoe1023.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped </code>
Es scheint, dass einige Abhängigkeiten fehlen ...
<code>[root@Crux lib]# ldd pgoe1023.so linux-gate.so.1 => (0xb77c2000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7499000) librt.so.1 => /lib/librt.so.1 (0xb7490000) libpgicu23.so => not found libdl.so.2 => /lib/libdl.so.2 (0xb748b000) libstdc++-libc6.2-2.so.3 => not found libm.so.6 => /lib/libm.so.6 (0xb745e000) libc.so.6 => /lib/libc.so.6 (0xb72bc000) /lib/ld-linux.so.2 (0xb77c3000) </code>
AKTUALISIEREN
Ich habe "libpgicu23.so" nach / usr / lib kopiert und es hat das Problem behoben, aber ich brauche immer noch "libstdc ++ - libc6.2-2.so.3", aber als ich eine aus dem Internet holte, sagte sie "Fehler beim Laden Shared Libraries: /usr/lib/libstdc++-libc6.2-2.so.3: ELF-Datei OS ABI ungültig "
Ich habe sogar einen Symlink von "libstdc ++ - libc6.2-2.so.3" zu "libstdc ++. So" erstellt, aber obwohl es das Problem über ldd löste, verursachte es diesen Fehler, als ich isql abfragte.
isql: symbol lookup error: /usr/dlc/odbc/lib/pgoe1023.so: undefiniertes symbol: __builtin_vec_new
Ich habe odbc noch nie auf einer * nix-Box installiert, aber wir haben dasselbe auf einer Windows-Box gemacht und es hat gut funktioniert. Jede Eingabe wird gebeten.