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


Attachment: 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@

Reply via email to