Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何从源代码构建64位版本的libpq?_Postgresql_Aix_Libpq_Xlc - Fatal编程技术网

Postgresql 如何从源代码构建64位版本的libpq?

Postgresql 如何从源代码构建64位版本的libpq?,postgresql,aix,libpq,xlc,Postgresql,Aix,Libpq,Xlc,我正在尝试从C代码连接到PostgreSQL,我必须从源代码构建libpq,因为我在AIX上。我遵循了此评论中的步骤 但最终我得到了32位版本的libpq.a,如何构建64位版本?在AIX上编译比在其他平台上编译更难。。。 始终创建一个脚本,并逐步改进,直到获得一个工作版本。可能的开始: #!/bin/sh #assuming gcc GCCLIB=$(dirname $(gcc -maix64 -pthread -print-file-name=libgcc_s.a)) export CFL

我正在尝试从C代码连接到PostgreSQL,我必须从源代码构建libpq,因为我在AIX上。我遵循了此评论中的步骤
但最终我得到了32位版本的libpq.a,如何构建64位版本?

在AIX上编译比在其他平台上编译更难。。。 始终创建一个脚本,并逐步改进,直到获得一个工作版本。可能的开始:

#!/bin/sh

#assuming gcc
GCCLIB=$(dirname $(gcc -maix64 -pthread -print-file-name=libgcc_s.a))
export CFLAGS='-maix64 -mtune=native -pthread'
export CPPFLAGS='-D_GNU_SOURCE -D_XOPEN_SOURCE=500 -D_ALL_SOURCE'
export LDFLAGS="-maix64 -Wl,-brtl -Wl,-blibpath:/usr/local/lib64:${GCCLIB}:/usr/lib -L/usr/local/lib64 -pthread"
export OBJECT_MODE=64

./configure --prefix=/usr/local \
    --libdir=/usr/local/lib64   \
    --enable-shared             \
    --enable-static             \
    2>&1 | tee log.configure

make all 2>&1 | tee log.make.all
make install 2>&1 | tee log.make.install

-q64编译器选项启用64位(编译器文档中有信息)

通过快速搜索XLC64位,您可能会发现此链接非常有用


谢谢!但是如果我想使用xlC而不是gcc呢?还是不可能?我已经知道我不能没有gnu品牌。最肯定的是这是可能的,但你必须搜索合适的选项,例如使用
-q64
而不是
-maix64
;此外,您还必须删除“GCCLIB”-部分。您必须将
-pthread
更改为
-lpthreads
,并显式设置CC变量:
export CC=xlC\u r
更正:
export CC=xlC\r;export CXX=xlC_r
(字母c/c的大小写表示c或c++)