Mi chiedo se qualcuno mi può aiutare con un problema che mi sta facendo tirare quel che resta dei miei capelli ...cercando di costruire estensione PHP DOP per gli U2 Rocket
Attualmente sto lavorando su un progetto che mi obbliga parlare con un database Unidata. PHP non ha un driver nativo per accedere a questo tipo di database, tuttavia, dopo un po 'su Google, ho trovato il seguente:
https://u2devzone.rocketsoftware.com/accelerate/articles/u2-pdo-driver/u2-pdo-driver.
Ho l'intestazione e la libreria U2 Intercall e penso di includerli correttamente. Tuttavia, l'estensione compila ma non passa il test in quanto errori con
pdo_u2.so: undefined symbol: ic_universe_session in Unknown on line 0
che mi suggerisce che non viene collegato alla libreria. Quando posso modificare il makefile e specificare a mano che la biblioteca dovrebbe essere incluso, esso errori fuori con
relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/kaigoh/Downloads/intcall/lib/libuvic.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [pdo_u2.la] Error 1
Ho provato costringendo l'interruttore -fPIC nel makefile ma ottengo lo stesso errore.
Semplicemente non ne so abbastanza di compilare estensioni PHP personalizzate per aiutare me stesso, e spero che qui ci sia un guru che può indicarmi la giusta direzione!
UPDATE: Questo compila perfettamente con una installazione 32 bit di Linux, quindi nessuna idea del perché sta venendo a mancare con un 64-bit installazione ...
È probabilmente perché i componenti U2 per l'intercal sono compila a 32 bit, quindi non è possibile utilizzarlo per 64 bit. Se hai un contratto di supporto attivo, il tuo fornitore di supporto potrebbe essere in grado di aiutarti. –
Dai messaggi di errore che hai fornito sembra che si stia tentando di connettersi a UniVerse, tuttavia hai affermato che vuoi connetterti a UniData quindi devi assicurarti che le impostazioni di connessione siano corrette per UniData. Sospetto tuttavia che il commento di Dan sia la ragione principale. –
@kaigoh: la prossima volta che verrai online, rivedi la tua domanda qui e aggiungi ulteriori informazioni su ciò che è accaduto da allora. Inoltre, si prega di rivedere i commenti e le risposte e fornire un feedback per loro. Grazie. – hakre