From: Roman B. <bog...@in...> - 2003-09-07 12:30:31
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 wzdftpd-devel@ Hello. I have the following problem and i hope you'll help me to solve it. As you know, i'm writing authentificataion over PostgreSQL backend. Makefile.am: - ---cut 8<--- libdir = ${pkgdatadir}/backends INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I/usr/include/rpcsvc lib_LTLIBRARIES = libwzdpgauth.la libwzdpgauth_la_SOURCES = pgauth_main.c libwzdpgauth_la_LDFLAGS = -no-undefined -avoid-version -module -lpq @CRYPT_FLAGS@ - ---cut 8<--- And of course, I don't forget to run ./autogen.sh after any changes in Makefile.am.... gmake shows folowing about my backend: - ---cut 8<--- gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../src -I/usr/include/rpcsvc -O3 -pipe -MT pgauth_main.lo -MD -MP -MF .deps/pgauth_main.Tpo -c pgauth_main.c -fPIC -DPIC -o .libs/pgauth_main.lo pgauth_main.c: In function `wzd_validate_login': pgauth_main.c:65: warning: assignment makes integer from pointer without a cast pgauth_main.c: In function `wzd_validate_pass': pgauth_main.c:96: warning: assignment makes integer from pointer without a cast pgauth_main.c:99: warning: assignment makes integer from pointer without a cast pgauth_main.c:101: warning: assignment makes pointer from integer without a cast pgauth_main.c:102: warning: passing arg 2 of `strcmp' makes pointer from integer without a cast gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../src -I/usr/include/rpcsvc -O3 -pipe -MT pgauth_main.lo -MD -MP -MF .deps/pgauth_main.Tpo -c pgauth_main.c -o pgauth_main.o >/dev/null 2>&1 mv -f .libs/pgauth_main.lo pgauth_main.lo /usr/local/bin/bash ../../libtool --mode=link gcc -o libwzdpgauth.la -rpath /usr/local/share/wzdftpd/backends -no-undefined -avoid-version -module -lpq -lcrypt pgauth_main.lo rm -fr .libs/libwzdpgauth.la .libs/libwzdpgauth.* .libs/libwzdpgauth.* *** Warning: This library needs some functionality provided by -lpq. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: libtool could not satisfy all declared inter-library *** dependencies of module libwzdpgauth. Therefore, libtool will create *** a static module, that should work as long as the dlopening *** application is linked with the -dlopen flag. ar cru .libs/libwzdpgauth.a pgauth_main.lo ranlib .libs/libwzdpgauth.a creating libwzdpgauth.la (cd .libs && rm -f libwzdpgauth.la && ln -s ../libwzdpgauth.la libwzdpgauth.la) gmake[3]: Leaving directory `/usr/home/novel/projects/work/wzdftpd/backends/wzd_auth_pgsql' - ---cut 8<--- Ignoring this, I do "gmake install", then edit wzd.cfg to change backend and then start wzdftd: It shows such error: Could not dlopen backend '/usr/local/share/wzdftpd/backends/libwzdpgauth.so' errno: 22 error: Unknown error: 0 dlerror: /usr/local/share/wzdftpd/backends/libwzdpgauth.so: Undefined symbol "PQresultErrorMessage" server compiled without tls support - line ignored Looks like that -lpq was ignored, and it is realy so: ldd /usr/local/share/wzdftpd/backends/libwzdpgauth.so /usr/local/share/wzdftpd/backends/libwzdpgauth.so: libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x28149000) How can I fix this error? - -Roman Bogorodskiy [Novel] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (FreeBSD) iQEVAwUBP1skrSpMDQ8aPhy0AQIyrQf/eqbxXroclLTN037aBhbYLICjs0WHlVxB PzdF1BqpsAuGlciBpYiJvN9IhYnlxS3N6Y3spKcaix+Ig7jalHbPvalfw65vABi1 9B9fTTyGFr5WLAU5war04YwA7EgEhcc4hNMAtK0vtSzdmgCvYMzetLzr2ZXR6sZp tUC9FFg39vqrXHp83hbR5CVj21xDCPFWqFwakHhXyK4ISVYFoMx66LG2+dCqZysU uvRJyNTLiLa5Mb32s68/g/Cf8OwJtGvjN0d5cKYLsiPboRPi5VVI7qNdIHcmMWoD DRGWkRSOsWWdPkOZhZrmjkRhuv2KihIIjWW3ieGjlTY56q94gwzDtQ== =Co+x -----END PGP SIGNATURE----- |
From: pollux <po...@wz...> - 2003-09-07 16:06:26
|
On Sun, Sep 07, 2003 at 04:29:33PM +0400, Roman Bogorodskiy wrote: > > wzdftpd-devel@ > > Hello. I have the following problem and i hope you'll help me to solve it. > > As you know, i'm writing authentificataion over PostgreSQL backend. > > Makefile.am: > > ---cut 8<--- > libdir = ${pkgdatadir}/backends > > INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I/usr/include/rpcsvc > > lib_LTLIBRARIES = libwzdpgauth.la > > libwzdpgauth_la_SOURCES = pgauth_main.c > libwzdpgauth_la_LDFLAGS = -no-undefined -avoid-version -module -lpq @CRYPT_FLAGS@ > ---cut 8<--- Hi Novel, In the error below, libtool is trying to explain it cannot resolve all needed dependancies of -lpq (this can be due to several possibilities: a wrong libtool version, or a missing flag to the linker) Postgresql should provide you some tools to help compilation: you should add something like: CPPFLAGS += `pg_config --includedir` and libwzdpgauth_la_LDFLAGS = ... -L`pg_config --libdir` -lpq Sometimes pgsql provides a tool called libpq3-config to help fincding other libs: # /usr/lib/postgresql/bin/libpq3-config -lssl -lcrypto -lkrb5 -lcrypt -lresolv -lnsl Hope this helps /P > > *** Warning: This library needs some functionality provided by -lpq. > *** I have the capability to make that library automatically link in when > *** you link to this library. But I can only do this if you have a > *** shared version of the library, which you do not appear to have. > > *** Warning: libtool could not satisfy all declared inter-library > *** dependencies of module libwzdpgauth. Therefore, libtool will create > *** a static module, that should work as long as the dlopening > *** application is linked with the -dlopen flag. > ar cru .libs/libwzdpgauth.a pgauth_main.lo > ranlib .libs/libwzdpgauth.a > creating libwzdpgauth.la > (cd .libs && rm -f libwzdpgauth.la && ln -s ../libwzdpgauth.la libwzdpgauth.la) > gmake[3]: Leaving directory `/usr/home/novel/projects/work/wzdftpd/backends/wzd_auth_pgsql' > -- In /dev/null no one can here you scream ! // Pollux <po...@wz...> \\ // \\ \\ Creator of wzdftpd -- http://www.wzdftpd.net // \\ // |