Hello,

I have integrated the comments about libtool/shared libraries and at the end the changes are:

-- in libcyrus_min:libconfig:config_read one parameter is added for config_need_data, so that this variable does not have to be global and presented in programs, not using config_read, update all invocations of the function to use the new API -- in libimap:global:cyrus_init add one parameter (config_need_data), so that its value can be passed to config_read; update all invocations of cyrus_init; -- create by default only shared libraries, this can be further tuned with ./configure --enable-static / --disable-shared -- rename libsieve and libimap to libcyrus_sieve and libcyrus_sieve and install them in $(libdir) (e.g. /usr/lib) -- make the perl/{imap,sieve/managesieve} modules use the shared libraries libcyrys_min and libcyrus. This might lead to a problem, when the tests in perl/imap/t/ are run, before the shared libraries are installed, as the tests depend on the shared libraries, but the tests are not instructed to where to find thw libraries. -- when there is no system-wide libcom_err, compile the bundled one as libcyrus_com_err and eventually install it in $(libdir)

I hope with uploading now the separate branch "dev/libtool" on git.cyrusimapd.org I will not mess up the things again. The problem the last time (Build failed in Jenkins: cyrus-imapd-master #571) was caused by unclean aclocal.m4:

+ autoreconf -i -f -v -Icmulocal
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I cmulocal --force -I cmulocal
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --include=cmulocal --force
autoreconf: running: /usr/bin/autoheader --include=cmulocal --force
autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am:69: library used but `RANLIB' is undefined
Makefile.am:69:   The usual way to define `RANLIB' is to add `AC_PROG_RANLIB'
Makefile.am:69:   to `configure.ac' and run `autoconf' again.
Makefile.am:73: Libtool library used but `LIBTOOL' is undefined
Makefile.am:73:   The usual way to define `LIBTOOL' is to add `LT_INIT'
Makefile.am:73:   to `configure.ac' and run `aclocal' and `autoconf' again.
Makefile.am:73:   If `LT_INIT' is in `configure.ac', make sure
Makefile.am:73:   its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 1
+ fatal 'Can'\''t run autoreconf'
+ echo 'imapd/tools/jenkins-build.sh: Can'\''t run autoreconf'
imapd/tools/jenkins-build.sh: Can't run autoreconf
+ exit 1
Build step 'Execute shell' marked build as failure
Skipping Cobertura coverage report as build was not SUCCESS or better ...
Recording test results

On my system I do not get "autoreconf: configure.ac: not using Libtool" and I guess running "git clean" will clean the cause of the error message.

Със здраве
  Дилян

<<attachment: dilyan_palauzov.vcf>>

Reply via email to