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

Reply via email to