Build failed in Jenkins: cyrus-imapd-master #689

Greg Banks gnb at fastmail.fm
Wed Jul 11 19:11:24 EDT 2012


G'day,

Bron, you shouldn't need to specify -fPIC when you override CFLAGS
anymore, as automake will add that into AM_CFLAGS which is defined
separately and used in addition to CFLAGS.  This is why -fPIC appears
twice on each compile command in your make log.

On Thu, Jul 12, 2012, at 12:48 AM, Bron Gondwana wrote:
> 
> 
> On Thu, Jul 12, 2012, at 12:17 AM, Дилян Палаузов wrote:
> > Hello,
> > 
> > can you please send the last lines of "make" before the crash, your 
> > versions of automake and libtool, and the content of libcyrus_imap.la ? 
> >   My output of make is attached.  From it can be seen, on the lines for 
> > cyr_synclog, that libtool is invoked to link with libcyrus_imap.la, and 
> > it expands to libcyrus_imap.so, libcyrus.so and libcyrus_min.so .
> 
> Trying it without the -j:
> 
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./lib -I. -I./lib
> -DHAVE_CONFIG_H -I/usr/include -fPIC -g -fPIC -W -Wall -Wextra -MT
> lib/hashu64.lo -MD -MP -MF lib/.deps/hashu64.Tpo -c lib/hashu64.c  -fPIC
> -DPIC -o lib/.libs/hashu64.o
> /bin/bash ./libtool --tag=CC   --mode=link gcc -fPIC  -g -fPIC -W -Wall
> -Wextra   -o perl/libcyrus_min.la  lib/assert.lo   lib/hash.lo
> lib/imapopts.lo lib/libconfig.lo lib/lock_fcntl.lo  lib/map_shared.lo  
> lib/mpool.lo lib/retry.lo lib/strarray.lo lib/strhash.lo lib/util.lo
> lib/xmalloc.lo lib/xstrlcat.lo lib/xstrlcpy.lo lib/hashu64.lo  -ldb-4.8
> -lpcre -lpcreposix -lz
> libtool: link: ar cru perl/.libs/libcyrus_min.a lib/.libs/assert.o
> lib/.libs/hash.o lib/.libs/imapopts.o lib/.libs/libconfig.o
> lib/.libs/lock_fcntl.o lib/.libs/map_shared.o lib/.libs/mpool.o
> lib/.libs/retry.o lib/.libs/strarray.o lib/.libs/strhash.o
> lib/.libs/util.o lib/.libs/xmalloc.o lib/.libs/xstrlcat.o
> lib/.libs/xstrlcpy.o lib/.libs/hashu64.o 
> libtool: link: ranlib perl/.libs/libcyrus_min.a
> libtool: link: ( cd "perl/.libs" && rm -f "libcyrus_min.la" && ln -s
> "../libcyrus_min.la" "libcyrus_min.la" )
> gcc -DHAVE_CONFIG_H -I.   -I. -I./lib -I. -I./lib -DHAVE_CONFIG_H    
> -I/usr/include -fPIC  -fvisibility=hidden -g -fPIC -W -Wall -Wextra -MT
> imtest/imtest_imtest-imtest.o -MD -MP -MF
> imtest/.deps/imtest_imtest-imtest.Tpo -c -o imtest/imtest_imtest-imtest.o
> `test -f 'imtest/imtest.c' || echo './'`imtest/imtest.c
> ./lib/prot.h:156:12: warning: ‘prot_flush_internal’ declared ‘static’ but
> never defined [-Wunused-function]

Dilyan, this warning is caused by some of your recent commits, like

libcyrus: mark all local symbols declared in .h with static

which made some of the function declarations in header files 'static'.
That's just never right.

Also, you've marked a number of cyrusdb_*() functions as 'static'. 
These are actual external APIs used by code, albeit in the conversations
branch, not master.  This is just not helpful.  If you care that much
about external symbols, remove the functions entirely and we'll put them
back when we merge the conversations code.  Or just leave them alone.

> /bin/bash ./libtool --tag=CC   --mode=link gcc -fPIC  -g -fPIC -W -Wall
> -Wextra   -o imap/arbitron imap/arbitron.o imap/cli_fatal.o
> imap/mutex_fake.o imap/libcyrus_imap.la -ldb-4.8 -lpcre -lpcreposix -lz
> -ldb-4.8 -lpcre -lpcreposix -lz
> libtool: link: gcc -fPIC -g -fPIC -W -Wall -Wextra -o imap/.libs/arbitron
> imap/arbitron.o imap/cli_fatal.o imap/mutex_fake.o 
> imap/.libs/libcyrus_imap.so -ldb-4.8 -lpcre -lpcreposix -lz -Wl,-rpath
> -Wl,/usr/cyrus/lib
> /usr/bin/ld: imap/arbitron.o: undefined reference to symbol 'xstrdup'
> /usr/bin/ld: note: 'xstrdup' is defined in DSO
> /usr/cyrus/lib/libcyrus_min.so.0 so try adding it to the linker command
> line
> /usr/cyrus/lib/libcyrus_min.so.0: could not read symbols: Invalid
> operation

???

-- 
Greg.


More information about the Cyrus-devel mailing list