This is the mail archive of the
mailing list for the Cygwin project.
Re: Postgres 7.1RC4 ecpg can't find sqlca
- To: lemkemch at t-online dot de (Michael Lemke), cygwin at cygwin dot com
- Subject: Re: Postgres 7.1RC4 ecpg can't find sqlca
- From: "Larry Hall (RFK Partners, Inc)" <lhall at rfk dot com>
- Date: Fri, 13 Apr 2001 17:15:21 -0400
At 05:02 PM 4/13/2001, Michael Lemke wrote:
>With the latest postgres release that came lately with cygwin I made my
>very first attempt at writng an ESQL program (actually, at the moment it
>is just something I dowloaded). Now when I link it can't find sqlca:
>michael> gcc -I /usr/include/postgresql/ esql.c -lecpg -lpq
>/f/cygwin~1/tmp/ccbnOeiG.o(.text+0x203):esql.c: undefined reference to `sqlca'
>/f/cygwin~1/tmp/ccbnOeiG.o(.text+0x292):esql.c: undefined reference to `sqlca'
>collect2: ld returned 1 exit status
>ecpg made the declaration of sqlca
> extern struct sqlca sqlca;
>I recompiled postgres and skipped stripping of the libraries. Then I find sqlca in
>michael> nm /usr/bin/ecpg.dll | grep sqlca
>c0586864 T _init_sqlca
>c0587000 D _sqlca
>c05870b0 d _sqlca_init
>but not in libecpg.a:
>michael> nm /usr/lib/libecpg.a | grep sqlca
>00000000 I __imp__sqlca
>00000000 I __imp__init_sqlca
>00000000 T _init_sqlca
Yes, you need to declare these symbols as those you want to import/export.
Presumably, since the library does this already, you just need to find the
proper declaration of these symbols and make sure that all code that
references them uses this. Windows forces the notion of symbols being specified "exportable" by the use of an attribute. You can find information about this in the email archives at least.
Larry Hall firstname.lastname@example.org
RFK Partners, Inc. http://www.rfk.com
118 Washington Street (508) 893-9779 - RFK Office
Holliston, MA 01746 (508) 893-9889 - FAX
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple