On 02/16/14 04:39, Dagobert Michelsen wrote:
Hi Jake,

Am 13.02.2014 um 18:27 schrieb Jake Goerzen <[email protected] <mailto:[email protected]>>:
Since the last update to mysql packages I can no longer build dovecot anymore, configure fails with:

    checking for mysql_config... mysql_config
    checking for mysql_init in -lmysqlclient... no
    configure: error: Can't build with MySQL support: libmysqlclient
    not found
    /home/jgoerzen/opencsw/.buildsys/v2/gar//gar.lib.mk:835: recipe
    for target
    
'configure-work/solaris10-i386/build-isa-pentium_pro/dovecot-2.2.10/configure'
    failedgmake[1]: ***
    
[configure-work/solaris10-i386/build-isa-pentium_pro/dovecot-2.2.10/configure]
    Error 1


Looking In config.log the error encountered is:
ld: fatal: file /lib/libc.so: version 'SUNW_1.22.5' is unavailable

    configure:23474: checking for mysql_init in -lmysqlclient
    configure:23499: /opt/SUNWspro/bin/cc -o conftest -xO3 -m32
-xarch=pentium_pro -xchip=pentium_pro -I/opt/csw/include -I/opt/csw/include/mysql -I/opt/csw/include/postgresql
    -I/opt/csw/include -m32 -xarch=pentium_pro -xchip=pentium_pro
    -L/opt/csw/lib conftest.c -lmysqlclient  -lrt -lnsl -lsocket
    -lsendfile -L/opt/csw/lib -lmysqlclient  -lsocket -lz -lnsl -lrt
    -lssl -lcrypto -lz -lm >&5
    "conftest.c", line 155: warning: statement not reached
    ld: fatal: file /lib/libc.so: version 'SUNW_1.22.5' is unavailable:
            required by file /opt/csw/lib/libmysqlclient.so
    ld: fatal: file processing errors. No output written to conftest


I tried switching the compiler to GCC4 but configure still can't find or link -lmysqlclient What could be the problem?

The problem is that mysql actually needs the newer libc-version for getpagesize2() as reported in
https://www.opencsw.org/mantis/view.php?id=5137
This is not related to GCC or Sun Studio. I suggest you disable the linker map forcing 1.22.5 in your Makefile with # Disable linker map forcing SUNW_1.22.2 as the linked MySQL needs SUNW_1.22.5
  LINKER_MAPS =
After that everything sould work cleanly.



Hi Dago,

I added the suggestion to the dovecot recipe, now configure finishes successfully but the build fails to link. Here is what I get in the build process now:

on unstable10x:

libtool: link: /opt/SUNWspro/bin/cc -xO3 -m32 -xarch=pentium_pro -xchip=pentium_pro -I/opt/csw/include -m32 -xarch=pentium_pro -xchip=pentium_pro -o .libs/auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-postfix-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-fields.o auth-token.o auth-worker-client.o auth-worker-server.o db-checkpassword.o db-dict.o db-dict-cache-key.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-scram-sha1.o mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o mech-dovecot-token.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-checkpassword.o passdb-dict.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o passdb-static.o passdb-template.o userdb.o userdb-blocking.o userdb-checkpassword.o userdb-dict.o userdb-nss.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o userdb-template.o db-ldap.o passdb-ldap.o userdb-ldap.o -m32 -L/opt/csw/lib libpassword.a ../lib-ntlm/libntlm.a ../lib-otp/libotp.a ../../src/lib-sql/.libs/libsql.a ../../src/lib-dovecot/.libs/libdovecot.so -liconv -lpam -lintl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgss -lldap -llber -lmysqlclient -lssl -lcrypto -lpq -lsqlite3 -lz -lrt -lnsl -lsocket -lsendfile -R/opt/csw/lib/dovecot -R/opt/csw/lib
Undefined                       first referenced
 symbol                             in file
floor                               /opt/csw/lib/libmysqlclient.so
ld: fatal: symbol referencing errors. No output written to .libs/auth
Makefile:812: recipe for target 'auth' failed



and on unstable10s I get a linking error as well:



libtool: link: /opt/SUNWspro/bin/cc -xO3 -m32 -xarch=sparc -I/opt/csw/include -m32 -xarch=sparc -o .libs/auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-postfix-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-fields.o auth-token.o auth-worker-client.o auth-worker-server.o db-checkpassword.o db-dict.o db-dict-cache-key.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-scram-sha1.o mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o mech-dovecot-token.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-checkpassword.o passdb-dict.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o passdb-static.o passdb-template.o userdb.o userdb-blocking.o userdb-checkpassword.o userdb-dict.o userdb-nss.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o userdb-template.o db-ldap.o passdb-ldap.o userdb-ldap.o -mcpu=v9 -Wa,-L/opt/csw/lib -L/opt/csw/lib libpassword.a ../lib-ntlm/libntlm.a ../lib-otp/libotp.a ../../src/lib-sql/.libs/libsql.a ../../src/lib-dovecot/.libs/libdovecot.so -liconv -lpam -lintl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgss -lldap -llber -lmysqlclient -lssl -lcrypto -lpq -lsqlite3 -lz -lrt -lnsl -lsocket -lsendfile -R/opt/csw/lib/dovecot -R/opt/csw/lib
cc: Warning: illegal option -mcpu=v9
Undefined                       first referenced
 symbol                             in file
floor                               /opt/csw/lib/libmysqlclient.so
ld: fatal: symbol referencing errors. No output written to .libs/auth
Makefile:812: recipe for target 'auth' failed


Regards,
/Jake

Reply via email to