From: Mantis B. T. <no...@bu...> - 2012-09-13 08:09:54
|
A NOTE has been added to this issue. ====================================================================== http://bugs.bacula.org/view.php?id=1930 ====================================================================== Reported By: ebourgui Assigned To: ====================================================================== Project: bacula Issue ID: 1930 Category: File Daemon Reproducibility: always Severity: major Priority: normal Status: new ====================================================================== Date Submitted: 2012-09-11 08:00 BST Last Modified: 2012-09-13 09:09 BST ====================================================================== Summary: Impossible to compile bacula-fd on OS X Description: Launching make of bacula-fd display message: crc32.c:74:2: error: #error Either HAVE_LITTLE_ENDIAN or HAVE_BIG_ENDIAN must be defined ... Steps to Reproduce: $ ./configure --enable-client-only $ make -C platforms/osx Additional Information: Xcode 3.1.4 with SDK 10.4u ====================================================================== ---------------------------------------------------------------------- (0006486) ebourgui (reporter) - 2012-09-12 16:26 http://bugs.bacula.org/view.php?id=1930#c6486 ---------------------------------------------------------------------- To bypass the test of ENDIAN type and complete successfully the compilation of bacula-fd, I comment the next lines in src/lib/crc32.c /*#if !defined(HAVE_LITTLE_ENDIAN) && !defined(HAVE_BIG_ENDIAN) #error Either HAVE_LITTLE_ENDIAN or HAVE_BIG_ENDIAN must be defined! #endif*/ ---------------------------------------------------------------------- (0006491) marcovw (developer) - 2012-09-13 07:31 http://bugs.bacula.org/view.php?id=1930#c6491 ---------------------------------------------------------------------- Problem is understood, AC_APPLE_UNIVERSAL_BUILD is defined on this platform not little or big endian. ---------------------------------------------------------------------- (0006492) marcovw (developer) - 2012-09-13 07:47 http://bugs.bacula.org/view.php?id=1930#c6492 ---------------------------------------------------------------------- As you are building universal binaries on this old platform we cannot determine at compile time what endianness you have. As the crc32 routines are in the generic library but only used in the storage daemon it should give no problem to comment out the ifdef test as the fd binary doesn't use the wrong endianness code anyhow. As this is a old platform (which is dead for quite some time) I wonder if its worth the effort of adding runtime endianness checking. ---------------------------------------------------------------------- (0006493) ebourgui (reporter) - 2012-09-13 09:09 http://bugs.bacula.org/view.php?id=1930#c6493 ---------------------------------------------------------------------- Thanks for your response. I agree with the fact that this is a very old platform and that you shouldn't have to lose time on the problem. Maybe could you implement the next test: if "uname -p" is "powerpc" then HAVE_BIG_ENDIAN = 1 else HAVE_LITTLE_ENDIAN (case of intel processor). Regards Issue History Date Modified Username Field Change ====================================================================== 2012-09-11 08:00 ebourgui New Issue 2012-09-11 08:00 ebourgui File Added: config.tar 2012-09-12 16:26 ebourgui Note Added: 0006486 2012-09-13 07:30 marcovw Assigned To => marcovw 2012-09-13 07:30 marcovw Status new => assigned 2012-09-13 07:31 marcovw Note Added: 0006491 2012-09-13 07:47 marcovw Note Added: 0006492 2012-09-13 07:48 marcovw Assigned To marcovw => 2012-09-13 07:48 marcovw Status assigned => feedback 2012-09-13 09:09 ebourgui Note Added: 0006493 2012-09-13 09:09 ebourgui Status feedback => new ====================================================================== |