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