Help compiling source code
Ross Gohlke
developer at grinz.com
Mon May 12 22:17:09 UTC 2008
I am a longtime FreeBSD user accustomed to ports. I have never been
comfortable compiling source code except under the most vanilla of
circumstances (ie, when nothing goes wrong).
QUESTION: How can I change pam-pgsql's configure script to find pgsql's
libraries?
The machine in question is a Powerbook G4 (PowerPC) running Mac OS 10.4.11.
I am using MacPorts (equivalent of ports). One small piece of software
(available in FreeBSD ports) is a lynchpin of my entire operation -
pam-pgsql.
Pam-pgsql gives me virtual email users which are easily shared between
Postfix and Cyrus IMAP while letting me use my SQL backend of preference -
PostgreSQL.
There is no macport available for pam-pgsql, so I must compile the source
myself. It is not working. My hunch is that the fix is simple - something
with paths, because macports installs PostgreSQL at weird paths and the
pam-pgsql configure script expects a standard location.
## /opt/local/src/pam-pgsql/configure.in
dnl Configure template for pam_pgsql
AC_INIT(pam_get_pass.c)
AC_CONFIG_HEADER(config.h)
dnl Checks for libraries.
AC_CHECK_LIB(pam, pam_get_user)
dnl Checks for header files.
AC_CANONICAL_HOST
AC_HEADER_STDC
AC_CHECK_HEADERS(syslog.h)
AC_CHECK_HEADERS(netdb.h)
AC_MSG_CHECKING(for PostgreSQL headers)
for d in /usr /usr/local /usr/local/pgsql; do
test -f $d/include/libpq-fe.h && {
AC_SUBST(PGSQL_INC)
PGSQL_INC="-I$d/include"
PG_DIR="$d"
AC_MSG_RESULT($d/include)
}
test -f $d/include/postgresql/libpq-fe.h && {
AC_SUBST(PGSQL_INC)
PGSQL_INC="-I$d/include/postgresql"
PG_DIR="$d"
AC_MSG_RESULT($d/include/postgresql)
}
test -f $d/include/postgresql/8.0/libpq-fe.h && {
AC_SUBST(PGSQL_INC)
PGSQL_INC="-I$d/include/postgresql/8.0"
PG_DIR="$d"
AC_MSG_RESULT($d/include/postgresql/8.0)
}
test -f $d/include/pgsql/libpq-fe.h && {
AC_SUBST(PGSQL_INC)
PGSQL_INC="-I$d/include/pgsql"
PG_DIR="$d"
AC_MSG_RESULT($d/include/pgsql)
}
done
old_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$PG_DIR/lib"
AC_CHECK_LIB(pq, PQexecParams,
[AC_SUBST(PGSQL_LIB)
PGSQL_LIB="-L$PG_DIR/lib"],
[AC_MSG_ERROR(could not determine PostgreSQL library location)])
LDFLAGS="$old_LDFLAGS"
......
## /opt/local/include/postgresql83/
-rw-r--r-- 2 root admin 600 May 12 12:25 ecpg_config.h
-rw-r--r-- 2 root admin 2776 May 12 12:25 ecpg_informix.h
-rw-r--r-- 2 root admin 2600 May 12 12:25 ecpgerrno.h
-rw-r--r-- 2 root admin 2440 May 12 12:25 ecpglib.h
-rw-r--r-- 2 root admin 2560 May 12 12:25 ecpgtype.h
drwxr-xr-x 3 root admin 102 May 12 12:26 informix
drwxr-xr-x 8 root admin 272 May 12 12:26 internal
drwxr-xr-x 3 root admin 102 May 12 12:26 libpq
-rw-r--r-- 2 root admin 18410 May 12 12:25 libpq-fe.h
-rw-r--r-- 2 root admin 21700 May 12 12:25 pg_config.h
-rw-r--r-- 2 root admin 8954 May 12 12:25 pg_config_manual.h
-rw-r--r-- 2 root admin 217 May 12 12:25 pg_config_os.h
-rw-r--r-- 2 root admin 814 May 12 12:25 pgtypes_date.h
-rw-r--r-- 2 root admin 588 May 12 12:25 pgtypes_error.h
-rw-r--r-- 2 root admin 1485 May 12 12:25 pgtypes_interval.h
-rw-r--r-- 2 root admin 2306 May 12 12:25 pgtypes_numeric.h
-rw-r--r-- 2 root admin 1057 May 12 12:25 pgtypes_timestamp.h
-rw-r--r-- 2 root admin 1837 May 12 12:25 postgres_ext.h
drwxr-xr-x 40 root admin 1360 May 12 12:26 server
-rw-r--r-- 2 root admin 834 May 12 12:25 sql3types.h
-rw-r--r-- 2 root admin 1267 May 12 12:25 sqlca.h
## /opt/local/lib/postgresql83/
-rwxr-xr-x 2 root admin 106392 May 12 12:25 adminpack.so
-rwxr-xr-x 2 root admin 100444 May 12 12:25 ascii_and_mic.so
drwxr-xr-x 25 root admin 850 May 12 12:26 bin
-rwxr-xr-x 2 root admin 106700 May 12 12:25 cyrillic_and_mic.so
-rwxr-xr-x 2 root admin 130720 May 12 12:25 dblink.so
-rwxr-xr-x 2 root admin 425208 May 12 12:25 dict_snowball.so
-rwxr-xr-x 2 root admin 100448 May 12 12:25 euc_cn_and_mic.so
-rwxr-xr-x 2 root admin 100540 May 12 12:25
euc_jis_2004_and_shift_jis_2004.so
-rwxr-xr-x 2 root admin 104952 May 12 12:25 euc_jp_and_sjis.so
-rwxr-xr-x 2 root admin 100476 May 12 12:25 euc_kr_and_mic.so
-rwxr-xr-x 2 root admin 105384 May 12 12:25 euc_tw_and_big5.so
-rwxr-xr-x 2 root admin 118224 May 12 12:25 fuzzystrmatch.so
-rwxr-xr-x 2 root admin 101164 May 12 12:25 latin2_and_win1250.so
-rwxr-xr-x 2 root admin 100808 May 12 12:25 latin_and_mic.so
-rwxr-xr-x 2 root admin 69544 May 12 12:25 libecpg.6.0.dylib
lrwxr-xr-x 1 root admin 17 May 12 12:26 libecpg.6.dylib ->
libecpg.6.0.dylib
-rw-r--r-- 2 root admin 110192 May 12 12:25 libecpg.a
lrwxr-xr-x 1 root admin 17 May 12 12:26 libecpg.dylib ->
libecpg.6.0.dylib
-rwxr-xr-x 2 root admin 21380 May 12 12:25 libecpg_compat.3.0.dylib
lrwxr-xr-x 1 root admin 24 May 12 12:26 libecpg_compat.3.dylib
-> libecpg_compat.3.0.dylib
-rw-r--r-- 2 root admin 16832 May 12 12:25 libecpg_compat.a
lrwxr-xr-x 1 root admin 24 May 12 12:26 libecpg_compat.dylib ->
libecpg_compat.3.0.dylib
-rw-r--r-- 2 root admin 44848 May 12 12:25 libpgport.a
-rwxr-xr-x 2 root admin 69040 May 12 12:25 libpgtypes.3.0.dylib
lrwxr-xr-x 1 root admin 20 May 12 12:26 libpgtypes.3.dylib ->
libpgtypes.3.0.dylib
-rw-r--r-- 2 root admin 90096 May 12 12:25 libpgtypes.a
lrwxr-xr-x 1 root admin 20 May 12 12:26 libpgtypes.dylib ->
libpgtypes.3.0.dylib
-rwxr-xr-x 2 root admin 131804 May 12 12:25 libpq.5.1.dylib
lrwxr-xr-x 1 root admin 15 May 12 12:26 libpq.5.dylib ->
libpq.5.1.dylib
-rw-r--r-- 2 root admin 196192 May 12 12:25 libpq.a
lrwxr-xr-x 1 root admin 15 May 12 12:26 libpq.dylib ->
libpq.5.1.dylib
-rwxr-xr-x 2 root admin 100584 May 12 12:25 lo.so
-rwxr-xr-x 2 root admin 100704 May 12 12:25 pg_buffercache.so
-rwxr-xr-x 2 root admin 110600 May 12 12:25 pg_trgm.so
-rwxr-xr-x 2 root admin 116700 May 12 12:25 pgxml.so
drwxr-xr-x 4 root admin 136 May 12 12:26 pgxs
-rwxr-xr-x 2 root admin 220872 May 12 12:25 plpgsql.so
-rwxr-xr-x 2 root admin 114112 May 12 12:25 tsearch2.so
-rwxr-xr-x 2 root admin 100448 May 12 12:25 utf8_and_ascii.so
-rwxr-xr-x 2 root admin 317580 May 12 12:25 utf8_and_big5.so
-rwxr-xr-x 2 root admin 100496 May 12 12:25 utf8_and_cyrillic.so
-rwxr-xr-x 2 root admin 219288 May 12 12:25 utf8_and_euc_cn.so
-rwxr-xr-x 2 root admin 280844 May 12 12:25 utf8_and_euc_jis_2004.so
-rwxr-xr-x 2 root admin 309400 May 12 12:25 utf8_and_euc_jp.so
-rwxr-xr-x 2 root admin 231576 May 12 12:25 utf8_and_euc_kr.so
-rwxr-xr-x 2 root admin 428184 May 12 12:25 utf8_and_euc_tw.so
-rwxr-xr-x 2 root admin 1112220 May 12 12:25 utf8_and_gb18030.so
-rwxr-xr-x 2 root admin 448644 May 12 12:25 utf8_and_gbk.so
-rwxr-xr-x 2 root admin 126164 May 12 12:25 utf8_and_iso8859.so
-rwxr-xr-x 2 root admin 100520 May 12 12:25 utf8_and_iso8859_1.so
-rwxr-xr-x 2 root admin 370832 May 12 12:25 utf8_and_johab.so
-rwxr-xr-x 2 root admin 280860 May 12 12:25
utf8_and_shift_jis_2004.so
-rwxr-xr-x 2 root admin 219276 May 12 12:25 utf8_and_sjis.so
-rwxr-xr-x 2 root admin 370820 May 12 12:25 utf8_and_uhc.so
-rwxr-xr-x 2 root admin 121848 May 12 12:25 utf8_and_win.so
-rwxr-xr-x 2 root admin 101860 May 12 12:25 uuid-ossp.so
% /opt/local/src/pam-pgsql/configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for pam_get_user in -lpam... yes
checking build system type... powerpc-apple-darwin8.11.0
checking host system type... powerpc-apple-darwin8.11.0
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking for PostgreSQL headers... checking for PQexecParams in -lpq... no
configure: error: could not determine PostgreSQL library location
I already tried changing /usr to /opt in configure.in, that didn't work.
Any help would be greatly appreciated.
Ross Gohlke
More information about the freebsd-questions
mailing list