尝试为 Rocket U2 构建 PHP PDO 扩展
我想知道是否有人可以帮助我解决一个问题,使我把剩下的头发拉出来......
我目前正在从事一个项目,该项目要求我与Unidata数据库交谈。PHP没有本地驱动程序来访问这种类型的数据库,但是,经过一些谷歌搜索,我发现了以下内容:
https://u2devzone.rocketsoftware.com/accelerate/articles/u2-pdo-driver/u2-pdo-driver。
我有U2 Intercall头文件和库,我认为我正确地包含了它们。但是,扩展编译但未通过测试,因为它会出错
pdo_u2.so: undefined symbol: ic_universe_session in Unknown on line 0
这向我表明,它没有与库链接。当我编辑makefile并手动指定应该包含该库时,它会出错
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
我尝试在makefile中强制使用-fPIC开关,但我得到了同样的错误。
我只是对编译自定义PHP扩展来帮助自己不够了解,我希望这里有一位大师可以给我指出正确的方向!
更新:这使用Linux的32位安装可以完美地编译,所以不知道为什么它在64位安装时会失败...