[pgsql-jp: 40229] Re: 8.4.3 リンクエラー

jun kuwamura kuwamura.jun @ gmail.com
2010年 3月 22日 (月) 14:58:48 JST


了解しました。
ありがとうございます。

configure時に別のところで依存関係のライブラリの中に
見つかったりしてるのかもしれません。
もう少し調べてみます。

=桑村

2010/3/22 Satoshi Nagayasu <satoshi.nagayasu @ gmail.com>:
> 永安です。
>
> すいません、貼り付けるのを間違えました。
>
> [snaga @ devpg01 ecpg]$ ls -l ecpglib/strlcpy.*
> lrwxrwxrwx 1 snaga snaga  30 Mar 22 13:33 ecpglib/strlcpy.c -> ../../../../src/port/strlcpy.c
> -rw-rw-r-- 1 snaga snaga 767 Mar 22 13:33 ecpglib/strlcpy.o
> [snaga @ devpg01 ecpg]$
>
> ecpgをmakeした後は、こんな感じになってます。
>
> つまりは、PostgreSQLが内部で持っているstrlcpyの実装を使うはず、
> ということです。
>
> On 2010/03/22 13:35, Satoshi Nagayasu wrote:
>> 永安です。
>>
>>> postgresql-8.4.3 を make しようとしたのですが、ecpg で
>>> strlcpy が未定義でリンクエラーとなってしまいました。
>>
>> ソース読むと分かりますが、strlcpyはecpgのライブラリlibecpgに
>> ソースごと含まれていますので、外部のライブラリには依存せずに
>> 使えるはずです。
>>
>> [snaga @ devpg01 ecpg]$ ls ecpglib/
>> blibecpgdll.def  descriptor.c  exports.txt      libecpgdll.def  misc.c     po
>> connect.c        error.c       extern.h         Makefile        nls.mk     prepare.c
>> data.c           execute.c     libecpgddll.def  memory.c        pg_type.h  typename.c
>> [snaga @ devpg01 ecpg]$
>>
>> なので、リンクエラーの原因は、おそらくコンパイル時の
>> 不具合のように思います。
>> エラー内容や環境が分からないので何とも言えませんが。
>>
>> ちなみに、私の手元では8.4.3のecpgはビルドできてます(RHEL5.4)。
>>
>>> Date: Mon, 22 Mar 2010 01:27:25 +0900
>>> From: jun kuwamura<kuwamura.jun @ gmail.com>
>>> To: PostgreSQL Japanese Mailing List<pgsql-jp @ ml.postgresql.jp>
>>> Subject: [pgsql-jp: 40225] 8.4.3 リンクエラー
>>> Message-ID:
>>>      <3435af911003210927v33397dbfjeabbab65a5c1d18f @ mail.gmail.com>
>>> Content-Type: text/plain; charset=ISO-2022-JP
>>>
>>> postgresql-8.4.3 を make しようとしたのですが、ecpg で
>>> strlcpy が未定義でリンクエラーとなってしまいました。
>>>
>>> configure のオプションあるいはその他の方法(その都度
>>> strncpyに変更はしたくない)で使わないようにするには
>>> どうすれrばよいですか?
>>>
>>> # glibc には入らないらしいです。
>>> # http://ja.wikipedia.org/wiki/Strlcpy
>>>
>>>
>>
>>
>
>
> --
> NAGAYASU Satoshi <satoshi.nagayasu @ gmail.com>
>



-- 
 Jun Kuwamura
rC Cn
  ^
  ~


pgsql-jp メーリングリストの案内