From: GHUM on
The compile works, BUT linking fails:

2.5\Release\psycopg\_psycopg.def -Lc:\python25\libs -Lc:
\python25\PCBuild -Lc:/p
ostgres/83RC2/lib -lpython25 -lpq -lws2_32 -ladvapi32 -o build
\lib.win32-2.5\psy
copg2\_psycopg.pyd
c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lpq
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

if I google for the error

"ld.exe: cannot find -lpq"

there is allways the information that the lib-dir of libpq is missing;
but :

-Lc:/postgres/83RC2/lib

is clearly in the commandline, and within c:/postgres/83RC2/lib
there is one libqp.lib

What am I missing? any hints?

Best wishes,

Harald

(complete output:
c:\mingw\bin\gcc.exe -mno-cygwin -shared -s build
\temp.win32-2.5\Release\psycopg
\psycopgmodule.o build\temp.win32-2.5\Release\psycopg\pqpath.o build
\temp.win32-
2.5\Release\psycopg\typecast.o build\temp.win32-2.5\Release\psycopg
\microprotoco
ls.o build\temp.win32-2.5\Release\psycopg\microprotocols_proto.o build
\temp.win3
2-2.5\Release\psycopg\connection_type.o build\temp.win32-2.5\Release
\psycopg\con
nection_int.o build\temp.win32-2.5\Release\psycopg\cursor_type.o build
\temp.win3
2-2.5\Release\psycopg\cursor_int.o build\temp.win32-2.5\Release\psycopg
\lobject_
type.o build\temp.win32-2.5\Release\psycopg\lobject_int.o build
\temp.win32-2.5\R
elease\psycopg\adapter_qstring.o build\temp.win32-2.5\Release\psycopg
\adapter_pb
oolean.o build\temp.win32-2.5\Release\psycopg\adapter_binary.o build
\temp.win32-
2.5\Release\psycopg\adapter_asis.o build\temp.win32-2.5\Release\psycopg
\adapter_
list.o build\temp.win32-2.5\Release\psycopg\adapter_datetime.o build
\temp.win32-
2.5\Release\psycopg\_psycopg.def -Lc:\python25\libs -Lc:
\python25\PCBuild -Lc:/p
ostgres/83RC2/lib -lpython25 -lpq -lws2_32 -ladvapi32 -o build
\lib.win32-2.5\psy
copg2\_psycopg.pyd
c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lpq
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
)
From: Tom Brown on
On Mon, 2008-01-21 at 01:57 -0800, GHUM wrote:
> What am I missing? any hints?

I use psycopg2 all the time on windows. I use the binary installer
instead of source. Works great for me.

-Tom

From: Diez B. Roggisch on
GHUM wrote:

> The compile works, BUT linking fails:
>
> 2.5\Release\psycopg\_psycopg.def -Lc:\python25\libs -Lc:
> \python25\PCBuild -Lc:/p
> ostgres/83RC2/lib -lpython25 -lpq -lws2_32 -ladvapi32 -o build
> \lib.win32-2.5\psy
> copg2\_psycopg.pyd
> c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
> cannot find -lpq
> collect2: ld returned 1 exit status
> error: command 'gcc' failed with exit status 1
>
> if I google for the error
>
> "ld.exe: cannot find -lpq"
>
> there is allways the information that the lib-dir of libpq is missing;
> but :
>
> -Lc:/postgres/83RC2/lib
>
> is clearly in the commandline, and within c:/postgres/83RC2/lib
> there is one libqp.lib
>
> What am I missing? any hints?

Are you sure using forward slashes in the path works here?

Diez
From: GHUM on
> > The compile works, BUT linking fails:
>
> > 2.5\Release\psycopg\_psycopg.def -Lc:\python25\libs -Lc:
> > \python25\PCBuild -Lc:/p
> > ostgres/83RC2/lib -lpython25 -lpq -lws2_32 -ladvapi32 -o build
>
> >  -Lc:/postgres/83RC2/lib
>
> Are you sure using forward slashes in the path works here?

Not at all. But that commandline is generated by setup.py, not by me :
(
and setup.py extracts the paths from pg_config

so: I have no idea how to make it use backslash :(

Thanks for the idea,

Harald
From: GHUM on
> I use psycopg2 all the time on windows. I use the binary installer
> instead of source. Works great for me.
>
> -Tom
Me2. Just in 7 out of 200 it does not work with the currently
available binary installer, on some startups, so I decided to follow a
recommendation out of the psycopg2 list to compile it from trunk :(

Harald