On Wednesday, May 05, 2010 09:24:13 Michal Hlavinka wrote: > Hi, > > yesterday lib-sql got driver-sqlpool with some changes in Makefile.am, but > these changes in makefile works only for --with-sql=yes. When > --with-sql=plugin is used build fails with: > > libtool --tag=CC --mode=link gcc -std=gnu99 -O2 -g -pipe -Wall -Wp,- > D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 > - m64 -mtune=generic -Wall -W -Wmissing-prototypes -Wmissing-declarations > - Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast > -Wstrict- aliasing=2 -o checkpassword-reply checkpassword-reply.o > ../../src/lib- dovecot/libdovecot.la -lrt > libtool: link: gcc -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 - > fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic > - Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith > -Wchar- subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -o > .libs/auth auth.o auth-cache.o auth-client-connection.o > auth-master-connection.o mech- otp-skey-common.o mech-plain-common.o > auth-penalty.o auth-request.o auth- request-handler.o auth-settings.o > auth-stream.o auth-worker-client.o auth- worker-server.o > db-checkpassword.o db-sql.o db-passwd-file.o main.o mech.o > mech-anonymous.o mech-plain.o mech-login.o mech-cram-md5.o > mech-digest-md5.o mech-external.o mech-gssapi.o mech-ntlm.o mech-otp.o > mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o passdb.o > passdb-blocking.o passdb-bsdauth.o passdb- cache.o passdb-checkpassword.o > passdb-passwd.o passdb-passwd-file.o passdb- pam.o passdb-shadow.o > passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o userdb-blocking.o > userdb-checkpassword.o userdb-nss.o userdb-passwd.o userdb- passwd-file.o > userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o db-ldap.o > passdb-ldap.o userdb-ldap.o -Wl,--export-dynamic libpassword.a > ../lib-ntlm/libntlm.a ../lib-otp/libotp.a ../../src/lib-sql/.libs/libsql.a > ../../src/lib-dovecot/.libs/libdovecot.so -lcrypt -lpam -ldl -lrt > -Wl,-rpath - Wl,/usr/lib64/dovecot > libtool: link: gcc -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 - > fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic > - Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith > -Wchar- subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -o > .libs/checkpassword-reply checkpassword-reply.o ../../src/lib- > dovecot/.libs/libdovecot.so -ldl -lrt -Wl,-rpath -Wl,/usr/lib64/dovecot > ../../src/lib-sql/.libs/libsql.a(sql-api.o): In function `sql_init': > /home/mhlavink/cvsf/dovecot/devel/dovecot-2.0.beta4/src/lib-sql/sql-api.c:7 > 0: undefined reference to `driver_sqlpool_init' > > Regards, > Michal Hlavinka
because libsql.a need driver_sqlpool_init it seems this must be used always, so I've just moved driver-sqlpool.c file from if ! PLUGIN driver_sources to libsql_la_SOURCES (see attached patch) and it builds now.
diff -up dovecot-2.0.beta4/src/lib-sql/Makefile.am.betahotfix dovecot-2.0.beta4/src/lib-sql/Makefile.am --- dovecot-2.0.beta4/src/lib-sql/Makefile.am.betahotfix 2010-05-05 04:00:03.000000000 +0200 +++ dovecot-2.0.beta4/src/lib-sql/Makefile.am 2010-05-05 11:34:17.286805721 +0200 @@ -38,13 +38,13 @@ if ! SQL_PLUGINS driver_sources = \ driver-mysql.c \ driver-pgsql.c \ - driver-sqlpool.c \ driver-sqlite.c endif libsql_la_SOURCES = \ $(dist_sources) \ - $(driver_sources) + $(driver_sources) \ + driver-sqlpool.c nodist_libsql_la_SOURCES = sql-drivers-register.c if SQL_PLUGINS