Hi, trying to cross-compile cyrus-imapd 2.4.9 in buildroot, with most options disabled to keep things simple, I got this:
[...] ### Making install in /home/murray/devel/buildroot/output/build/cyrus-imapd-2.4.9/imtest make[2]: Entering directory `/home/murray/devel/buildroot/output/build/cyrus-imapd-2.4.9/imtest' /usr/bin/install -c -s -m 755 imtest /home/murray/devel/buildroot/output/target/usr/bin strip: Unable to recognise the format of the input file `/home/murray/devel/buildroot/output/target/usr/bin/imtest' /usr/bin/install: strip process terminated abnormally make[2]: *** [install] Error 1 make[2]: Leaving directory `/home/murray/devel/buildroot/output/build/cyrus-imapd-2.4.9/imtest' [...] Clearly, the host install (/usr/bin/install) is being used and it is normal that it fails in stripping cross-compiled files. What I don't know is how to tell ./configure that it should not instruct install to strip files, i.e. not pass the -s option. After a very brief research, I cowardly opted for patching cyrus-imapd to completely disable imtest compilation, as I don't need it. Any idea on how to really fix this issue, instead of just disabling imtest? And how about adding a --disable-imtest option? Attached are the build log and my awful patch. Luca
cyrus-imapd-imtest.log.gz
Description: GNU Zip compressed data
imtest does not cross-compile correctly, and cannot be disabled with configure parameters, so disable it manually. diff -r -u cyrus-imapd-2.4.9-orig/configure cyrus-imapd-2.4.9/configure --- cyrus-imapd-2.4.9-orig/configure 2011-04-13 16:53:15.000000000 +0200 +++ cyrus-imapd-2.4.9/configure 2011-05-05 15:56:23.840843998 +0200 @@ -10896,7 +10896,7 @@ -ac_config_files="$ac_config_files man/Makefile master/Makefile lib/Makefile imap/Makefile imtest/Makefile netnews/Makefile perl/Makefile $EXTRA_OUTPUT Makefile" +ac_config_files="$ac_config_files man/Makefile master/Makefile lib/Makefile imap/Makefile netnews/Makefile perl/Makefile $EXTRA_OUTPUT Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure diff -r -u cyrus-imapd-2.4.9-orig/configure.in cyrus-imapd-2.4.9/configure.in --- cyrus-imapd-2.4.9-orig/configure.in 2011-04-13 16:35:22.000000000 +0200 +++ cyrus-imapd-2.4.9/configure.in 2011-05-05 15:58:31.316844009 +0200 @@ -1465,4 +1465,4 @@ ]) dnl make sure that Makefile is the last thing output -AC_OUTPUT(man/Makefile master/Makefile lib/Makefile imap/Makefile imtest/Makefile netnews/Makefile perl/Makefile $EXTRA_OUTPUT Makefile) +AC_OUTPUT(man/Makefile master/Makefile lib/Makefile imap/Makefile netnews/Makefile perl/Makefile $EXTRA_OUTPUT Makefile) diff -r -u cyrus-imapd-2.4.9-orig/Makefile.in cyrus-imapd-2.4.9/Makefile.in --- cyrus-imapd-2.4.9-orig/Makefile.in 2011-04-13 16:35:22.000000000 +0200 +++ cyrus-imapd-2.4.9/Makefile.in 2011-05-05 15:58:31.616843997 +0200 @@ -42,7 +42,7 @@ # SUBDIRS = man @PRE_SUBDIRS@ lib @SIEVE_SUBDIRS@ @SERVER_SUBDIRS@ \ - imtest @SNMP_SUBDIRS@ @EXTRA_SUBDIRS@ + @SNMP_SUBDIRS@ @EXTRA_SUBDIRS@ DISTSUBDIRS = doc srcdir = @srcdir@