2011年4月28日

[pgsql-jp: 40753] Re:solaris10 への postgres8.3.14 のインストール (SUNcc) において、 __divdi3 エラー

やまもとといいます。

参考になるかもしれません。
http://wikis.sun.com/display/DBonSolaris/BuildingPostgreSQL
で、↑のとおりやってみました。
OpenSolaris 10 でわたしがだいぶまえにコンパイルしたときの設定です。
SUNWspro はパッケージではなくてダウンロードして、opt 以下に展開しました
が、ちょっと古いかもしれません。


#!/usr/bin/bash
PGVER=8.4pgdg
ROOT=/usr
#Don't enable the pl/perl option when building 64-bit PostgreSQL i.e.
ommit "--with-perl" when running configure.
CFLAGS="-xO3 -xtarget=generic -m64 -xspace -Xa -xildoff -xCC"
./configure CC=/opt/SUNWspro/bin/cc \
"CFLAGS=$CFLAGS" \
"LD_OPTIONS=-R/usr/sfw/lib -L/usr/sfw/lib -M /usr/lib/ld/map.noexstk"
\
MAKE=/usr/bin/gmake \
--prefix=/postgres/$PGVER \
--exec-prefix=/postgres/$PGVER \
--bindir=/postgres/$PGVER/bin \
--libexecdir=/postgres/$PGVER/bin \
--sbindir=/postgres/$PGVER/bin \
--datadir=/postgres/$PGVER/share \
--sysconfdir=/postgres/$PGVER/etc \
--mandir=/postgres/$PGVER/man \
--libdir=/postgres/$PGVER/lib \
--includedir=/postgres/$PGVER/include \
--sharedstatedir=/var/postgres/$PGVER \
--localstatedir=/var/postgres/$PGVER \
--enable-nls \
--with-docdir=/postgres/$PGVER/doc \
--with-system-tzdata=/usr/share/lib/zoneinfo \
--with-tcl --with-python \
--with-pam --with-openssl --with-krb5 \
--with-libxml --with-libxslt \
--enable-thread-safety \
--enable-dtrace \
--with-includes=/usr/include:/usr/sfw/include:/usr/include/kerberosv5
\
--with-tclconfig=/usr/lib \
--with-libs=/usr/lib:/usr/sfw/lib

make は以下で

gmake 'LD_OPTIONS=-R\$\$ORIGIN/../lib:/usr/sfw/lib -L/usr/sfw/lib -M /
usr/lib/ld/map.noexstk' MAKE=/usr/bin/gmake all

cc と postgres のバージョン

[yamachan@xxxxx postgresql-8.4.4]$ /opt/SUNWspro/bin/cc -V
cc: Sun C 5.9 SunOS_i386 Patch 124868-10 2009/04/30
usage: cc [ options] files. Use 'cc -flags' for details

v6 については、
data/pg_hba.conf で対応できないでしょうか。コメントアウトしてしまうとか。
未確認です。

# IPv6 local connections:
#host all all ::1/128 ident

Tsuchida takayuki <akashouse@xxxxx>さん:

はじめまして。

Solaris 10へpostgres8.3.14を入れようとしているのですが、
※postgisを使いたいので8.3
gcc(3.4.3)では上手くいくのですが、
configure
make
make install

./configure CC=で、SUNcc(Sun C 5.11)を指定して行うと、
makeで、

未定義の 最初に参照している
シンボル ファイル
__lshrdi3 utils/SUBSYS.o
__divdi3 utils/SUBSYS.o
__floatdidf optimizer/SUBSYS.o
__floatdisf postmaster/SUBSYS.o
__moddi3 postmaster/SUBSYS.o
__muldi3 utils/SUBSYS.o
__ashldi3 utils/SUBSYS.o
__ashrdi3 utils/SUBSYS.o
__udivdi3 utils/SUBSYS.o
__umoddi3 utils/SUBSYS.o
ld: 重大なエラー: シンボル参照エラー。postgres に書き込
まれる出力はありません。

とエラーが出ます。

なお、gccでコンパイルした物は問題無く起動するのですが、
起動時に”could not bind IPv6 socket: 要求されたアドレス
を割り当てられません。”
と表示されます。
※ポート番号を変えても同じコメントが表示されます
psqlではアクセスでき、問題なく動きます。
 ps -efで見ると、
 pg_ctlが四つ起動しており、一度に四つ起動してそれぞれが
ポートを要求しているように思われます。
 pg_ctl stop -D ...で止めた後に、pg_ctl startをすると同
じ状態なので4つ一度に起動しているようなので。


アドバイス、よろしくお願いいたします。


投稿者 xml-rpc : 2011年4月28日 23:53
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103395
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。