Hi,
I'm currently trying to build a .deb package for use in an Ubuntu
Dapper system from the 3.8.0-STABLE source. My initial build of the
package went very smoothly, and I got a working package that I could
install out of it. Only problem was, I forgot to enable the pgsql
driver along with it, so I was stuck with the hash driver, which just
won't work for what I'm using it for.
When I tried to rebuild the package to include the pgsql driver as a
shared object, the build failed, throwing at me a lot of errors for
'Undefined reference to...' such functions as LOG, LOGDEBUG,
dspam_destroy, etc. After a bit of hunting, I found the files that
these functions originate from, so what I'm wondering is if it's
failing to link in the objects for libdspam and dspam when it attempts
to compile the pgsql_drv source. I'll attach the relevant part of the
output to the end of this email. Has anyone else ever come across
something similar? It's probably one tiny little thing that I'm
forgetting to do, but since I've forgotten it, I don't know :) For
now, I'm going to statically link the driver in. I'd really prefer to
use the shared object if I could, though.
Regards,
Adrian Overbury
--
/bin/sh ../libtool --tag=CC --mode=link i486-linux-gnu-gcc -Wall -g -
O2 -Wl,-z,defs -Wall -Wmissing-prototypes -Wmissing-declarations -
rdynamic -o libpgsql_drv.la -rpath /usr/lib -L/usr/lib/postgresql/8.1/
lib -rdynamic -rpath '/usr/lib' -version-info 7:0:0 libpgsql_drv_la-
pgsql_drv.lo -lpq -lm -ldl -lm -ldl
i486-linux-gnu-gcc -shared .libs/libpgsql_drv_la-pgsql_drv.o -L/usr/
lib/postgresql/8.1/lib -lpq -lm -ldl -Wl,-z -Wl,defs -Wl,-soname -
Wl,libpgsql_drv.so.7 -o .libs/libpgsql_drv.so.7.0.0
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_pgsql_drv_query_error':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
1900: undefined reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1913: undefined
reference to `format_date_r'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1909: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_pgsql_drv_getpwuid':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1840: undefined reference
to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1844: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1848: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1848: undefined
reference to `_ds_read_attribute'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_get_nextuser':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1376: undefined reference
to `_ds_read_attribute'
.libs/libpgsql_drv_la-pgsql_drv.o:/home/adrian/src/dspam-3.8.0/src/
pgsql_drv.c:1380: more undefined references to `_ds_read_attribute'
follow
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_get_nextuser':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1443: undefined reference
to `strlcpy'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_pgsql_drv_set_attributes':/home/adrian/src/dspam-3.8.0/src/
pgsql_drv.c:2399: undefined reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2410: undefined
reference to `dspam_addattribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2419: undefined
reference to `dspam_addattribute'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_pgsql_drv_getpwnam':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1733: undefined reference
to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1737: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1741: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1737: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1741: undefined
reference to `_ds_read_attribute'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_ds_delall_spamrecords':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
2045: undefined reference to `buffer_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2057: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2059: undefined
reference to `ds_diction_cursor'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2060: undefined
reference to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2064: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2065: undefined
reference to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2086: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2068: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2080: undefined
reference to `buffer_copy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2089: undefined
reference to `ds_diction_close'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2105: undefined
reference to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2075: undefined
reference to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2048: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_pgsql_drv_setpwnam':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1927: undefined reference
to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1931: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1935: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1931: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1935: undefined
reference to `_ds_read_attribute'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_ds_get_nextsignature':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
1682: undefined reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1675: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1603: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_get_nexttoken':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1499: undefined reference
to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_set_signature':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1234: undefined reference
to `buffer_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1246: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1247: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1248: undefined
reference to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1255: undefined
reference to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1261: undefined
reference to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1237: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_ds_create_signature_id':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
1072: undefined reference to `_ds_match_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1079: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1092: undefined
reference to `strlcat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1095: undefined
reference to `strlcpy'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_ds_setall_spamrecords':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
619: undefined reference to `buffer_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:625: undefined reference
to `buffer_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:632: undefined reference
to `ds_diction_getstat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:637: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:655: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:673: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:679: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:687: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:695: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:696: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:700: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:701: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:707: undefined reference
to `ds_diction_cursor'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:708: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:727: undefined reference
to `ds_diction_getstat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:766: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:768: undefined reference
to `ds_diction_close'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:770: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:784: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:732: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:758: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:759: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:760: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:723: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:802: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:628: undefined reference
to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_ds_getall_spamrecords':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
483: undefined reference to `buffer_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:506: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:508: undefined reference
to `ds_diction_cursor'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:509: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:513: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:518: undefined reference
to `ds_diction_next'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:520: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:523: undefined reference
to `ds_diction_close'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:531: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:547: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:529: undefined reference
to `buffer_cat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:571: undefined reference
to `ds_diction_touch'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:572: undefined reference
to `ds_diction_addstat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:578: undefined reference
to `buffer_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:564: undefined reference
to `ds_diction_addstat'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:486: undefined reference
to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_pgsql_drv_connect':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2473: undefined reference
to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2476: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2476: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2480: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2481: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2485: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2486: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2487: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2488: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2489: undefined
reference to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2490: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2510: undefined
reference to `chomp'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2512: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2516: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2518: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2520: undefined
reference to `strlcpy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2528: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2543: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2494: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2501: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function
`_pgsql_drv_init_tools':/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:
2120: undefined reference to `dspam_create'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2133: undefined
reference to `dspam_attach'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2142: undefined
reference to `dspam_destroy'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_pref_del':/home/
adrian/src/dspam-3.8.0/src/pgsql_drv.c:2390: undefined reference to
`dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2384: undefined
reference to `dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2348: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2361: undefined
reference to `dspam_destroy'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_pref_set':/home/
adrian/src/dspam-3.8.0/src/pgsql_drv.c:2325: undefined reference to
`dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2315: undefined
reference to `dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2267: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2280: undefined
reference to `dspam_destroy'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_pref_load':/home/
adrian/src/dspam-3.8.0/src/pgsql_drv.c:2243: undefined reference to
`dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2218: undefined
reference to `dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2231: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2232: undefined
reference to `dspam_destroy'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:2164: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_init_storage':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:978: undefined reference
to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:955: undefined reference
to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:963: undefined reference
to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `_ds_get_signature':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1129: undefined reference
to `_ds_match_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1192: undefined
reference to `LOG'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:1149: undefined
reference to `LOG'
.libs/libpgsql_drv_la-pgsql_drv.o: In function `dspam_init_driver':/
home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:96: undefined reference to
`_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:97: undefined reference
to `_ds_read_attribute'
:/home/adrian/src/dspam-3.8.0/src/pgsql_drv.c:102: undefined reference
to `LOG'
collect2: ld returned 1 exit status
make[4]: *** [libpgsql_drv.la] Error 1
make[4]: Leaving directory `/home/adrian/src/dspam-3.8.0/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/adrian/src/dspam-3.8.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/adrian/src/dspam-3.8.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/adrian/src/dspam-3.8.0'
make: *** [build-stamp] Error 2