Hello. I cant build 2.2.30*, but I can build fine version 2.2.29* with same options: RedHat based customized distro, 2.6.28.10 kernel Build options: export CPPFLAGS export LDFLAGS CPPFLAGS=-I/usr/local/ssl/include LDFLAGS=-L/usr/local/ssl/lib ./configure \ --prefix=/usr \ --with-ssl=openssl \ --with-ssldir=/etc/ssl \ --sysconfdir=/etc \ --without-vpopmail \ --with-pam \ --without-bsdauth \ --without-sql \ --without-nss \ --without-ldap \ --without-pgsql \ --without-mysql \ --without-sqlite \ --with-rundir=/var/run/dovecot\ --without-deliver \ --without-gssapi Build error: ltest_lib-test-bits.o: In function `bits_required64': /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined reference to `__builtin_clzll' /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined reference to `__builtin_clzll' test_lib-test-bits.o: In function `test_bits_requiredXX': /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined reference to `__builtin_clzll' /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined reference to `__builtin_clzll' /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined reference to `__builtin_clzll' ./.libs/liblib.a(numpack.o): In function `numpack_decode': /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/numpack.c:43: undefined reference to `__builtin_clz' collect2: ld returned 1 exit status Please advise? -- Mart
Mart Pirita <sysadmin at e-positive.ee> wrote:> Hello.> I cant build 2.2.30*, but I can build fine version 2.2.29* with same > options:> RedHat based customized distro, 2.6.28.10 kernel[...]> Build error:> ltest_lib-test-bits.o: In function `bits_required64': > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined > reference to `__builtin_clzll' > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined > reference to `__builtin_clzll' > test_lib-test-bits.o: In function `test_bits_requiredXX': > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined > reference to `__builtin_clzll' > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined > reference to `__builtin_clzll' > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined > reference to `__builtin_clzll' > ./.libs/liblib.a(numpack.o): In function `numpack_decode': > /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/numpack.c:43: undefined > reference to `__builtin_clz' > collect2: ld returned 1 exit status> Please advise?Time to upgrade ancient GCC?
Andrey Jr. Melnikov wrote:> Mart Pirita <sysadmin at e-positive.ee> wrote: >> Hello. >> I cant build 2.2.30*, but I can build fine version 2.2.29* with same >> options: >> RedHat based customized distro, 2.6.28.10 kernel > [...] > >> Build error: >> ltest_lib-test-bits.o: In function `bits_required64': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined >> reference to `__builtin_clzll' >> test_lib-test-bits.o: In function `test_bits_requiredXX': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> ./.libs/liblib.a(numpack.o): In function `numpack_decode': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/numpack.c:43: undefined >> reference to `__builtin_clz' >> collect2: ld returned 1 exit status >> Please advise? > Time to upgrade ancient GCC?Well, I know it's old, but I didn't notice in changelog that something special new was added, so maybe this is somekind of bug?
Andrey Jr. Melnikov wrote:> Mart Pirita <sysadmin at e-positive.ee> wrote: >> Hello. >> I cant build 2.2.30*, but I can build fine version 2.2.29* with same >> options: >> RedHat based customized distro, 2.6.28.10 kernel > [...] > >> Build error: >> ltest_lib-test-bits.o: In function `bits_required64': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/bits.h:33: undefined >> reference to `__builtin_clzll' >> test_lib-test-bits.o: In function `test_bits_requiredXX': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/test-bits.c:74: undefined >> reference to `__builtin_clzll' >> ./.libs/liblib.a(numpack.o): In function `numpack_decode': >> /usr/src/redhat/BUILD/dovecot-2.2.30/src/lib/numpack.c:43: undefined >> reference to `__builtin_clz' >> collect2: ld returned 1 exit status >> Please advise? > Time to upgrade ancient GCC?Well, I know it's old, but I didn't notice in changelog that something special new was added, so maybe this is somekind of bug? Edit, tested with newer gcc and got new error: db-checkpassword.c: In function 'sigchld_handler': db-checkpassword.c:434:6: error: assignment of read-only member '__in' db-checkpassword.c:437:26: error: assignment of read-only member '__in' db-checkpassword.c:439:13: error: assignment of read-only member '__in' db-checkpassword.c:440:26: error: assignment of read-only member '__in' make[3]: *** [db-checkpassword.lo] Error 1 Seems this is quite old error - https://dovecot.org/list/dovecot/2012-October/086033.html