J'essaye de me connecter à PostgreSQL à partir de C-code, et je dois construire libpq à partir de la source, parce que je suis sous AIX. J'ai suivi les étapes dans ce commentaire Where do i get libpq source? mais en résultat, j'ai eu une version 32 bits de libpq.a, comment construire la version 64 bits?Comment construire la version 64 bits de libpq à partir du code source?
0
A
Répondre
0
La compilation sur AIX est plus difficile que sur les autres plates-formes ... Créez toujours un script que vous améliorez progressivement jusqu'à obtenir une version fonctionnelle. départ possible:
#!/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
0
L'option du compilateur permet -q64 64 bits (il y a d'information dans le compilateur docs)
Une recherche rapide Google bit xlC 64 donne ce lien que vous trouverez peut-être utile.
http://northstar-www.dartmouth.edu/doc/ibmcxx/en_US/doc/complink/tasks/tubld64a.htm
Merci! Mais que faire si je veux utiliser xlC, plutôt que gcc? Ou est-ce impossible? Je sais déjà que je ne peux pas faire sans un gnou. –
Certainement c'est possible, mais vous devez rechercher les options appropriées, par exemple utiliser '-q64' au lieu de' -maix64'; vous devez également supprimer les parties "GCCLIB" –
Vous devez peut-être remplacer '-pthread' par' -lpthreads' et définir explicitement la variable CC: 'exporter CC = xlC_r' –