Hi, I have PostgreSQL 8.4.4 in /opt/BBCpostgresql/8.4.4 and can't build DBD-Pg-2.17.1 with that. My troubles are caused by the fact that other PostgreSQL versions exist, in particular the one supplied by Sun, which is visible under /usr.
(My environment includes this: POSTGRES_INCLUDE=/opt/BBCpostgresql/8.4.4/include POSTGRES_LIB=/opt/BBCpostgresql/8.4.4/lib -L/usr/sfw/lib -lssl -lcrypto The README also mentions POSTGRES_HOME, but doesn't say what that could meaningfully be set to -- perhaps the home directory of a user postgres, if it exists?) I could solve the first problem, which was that "perl Makefile.PL" used the wrong pg_config (the one in /usr/bin). I fiddled with my PATH, which isn't a good workaround in my opinion. How about using another environment variable for that? The next problem was that libssl wasn't found. I looked at how POSTGRES_LIB is used in Makefile.PL and used the value shown above. I don't think unexperienced people would know what to do about libraries located in unusual paths, so perhaps the README could mention how to do that. Here's what I have now: > perl Makefile.PL Configuring DBD::Pg 2.17.1 PostgreSQL version: 80404 (default port: 5432) POSTGRES_HOME: (not set) POSTGRES_INCLUDE: /opt/BBCpostgresql/8.4.4/include POSTGRES_LIB: /opt/BBCpostgresql/8.4.4/lib -L/usr/sfw/lib -lssl -lcrypto OS: solaris Using DBI 1.613 (for perl 5.012001 on i86pc-solaris-64int) installed in /opt/BBCperl/5.12.1/lib/i86pc-solaris-64int/auto/DBI/ Writing Makefile for DBD::Pg With this, make succeed with just one warning: "quote.c", line 334: warning: assignment type mismatch: pointer to char "=" pointer to const char The linker command looks ok: LD_RUN_PATH="/usr/sfw/lib:/opt/BBCpostgresql/8.4.4/lib" cc -G Pg.o dbdimp.o quote.o types.o -o blib/arch/auto/DBD/Pg/Pg.so -L/opt/BBCpostgresql/8.4.4/lib -L/usr/sfw/lib -lssl -lcrypto -lpq -lm (I've forgotten whether that usage of LD_RUN_PATH is the right way to do it -- I'd have used -R instead.) However, the new Pg.so refers to the wrong library, and "make test" fails: > ldd blib/arch/auto/DBD/Pg/Pg.so | grep pq libpq.so.4 => /usr/lib/libpq.so.4 It should use /opt/BBCpostgresql/8.4.4/lib/libpq.so.5 instead. Can anyone tell me how to build the module so that it does that? (If the address I'm mailing to is a mail list, please also send your response to my mail address r...@bb-c.de.) Thanks, Rainer -- Rainer J. H. Brandt Brandt & Brandt Computer GmbH Am Wiesenpfad 6, 53340 Meckenheim Geschäftsführer: Rainer J. H. Brandt und Volker A. Brandt Handelsregister: Amtsgericht Bonn, HRB 10513 RFC 5322: "Each line [...] SHOULD be no more than 78 characters"