[Monetdb-developers] [Monetdb-checkins] buildtools/conf MonetDB.m4, MonetDB_1-20, 1.37.2.18, 1.37.2.19

Ying Zhang Y.Zhang at cwi.nl
Sun Jan 20 21:39:49 CET 2008


Hi Stefan,

Thanks for you help.  I was sure that the system can produce 64 bits  
binary (see below).  The error:

"configure: WARNING: you should use --build, --host, --target
checking build system type... Invalid configuration `64': machine  
`64'  not recognized"

was caused by an error in my compile script, so it is solved.

However, the changes Fabian has added seems not complete, because  
compiling MonetDB results in:

configure: error: case "yes-gcc-darwin9.1.0-i686-apple-darwin9.1.0-64"  
not handled with --enable-bits, yet; please use CC, CFLAGS and/or  
LDFLAGS (instead of --enable-bits=64) to make "gcc" produce 64-bit code

I think this is because:

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5465~16/src/configure --disable- 
checking -enable-werror --prefix=/usr --mandir=/share/man --enable- 
languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/ 
$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/ 
lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic -- 
host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5465)

Following your suggestion, I changed "yes-*-darwin[89]*-i386*-*" into  
"yes-*-darwin[89]*-i[[36]]86*-*", which allows me to compile monet :)   
I think I can check in the following change:

$ cvs diff conf/MonetDB.m4
Index: conf/MonetDB.m4
===================================================================
RCS file: /cvsroot/monetdb/buildtools/conf/MonetDB.m4,v
retrieving revision 1.37.2.19
diff -r1.37.2.19 MonetDB.m4
523c523
< yes-*-darwin[89]*-powerpc*-* | yes-*-darwin[89]*-i386*-* | yes-*- 
darwin[89]*-x86_64*-*)
---
 > yes-*-darwin[[89]]*-powerpc*-*|yes-*-darwin[[89]]*-i[[36]]86*-*|yes- 
*-darwin[[89]]*-x86_64*-*)

> you might also want to check, if your system & compiler are actually  
> capable
> of producing 64-bit binaries, and if so, whether the default of your
> compiler is 32- or 64-bit. E.g.:
>
> echo -e '#include <stdlib.h>\n#include <stdio.h>\nint main()  
> {\nprintf("Hello\\n");\nreturn 0;\n}' | tee hello.c ; gcc -o hello  
> hello.c && ./hello ; gcc -m32 -o hello32 hello.c && ./hello32 ; gcc - 
> m64 -o hello64 hello.c && ./hello64 ; file hello{,32,64}

$ echo -e '#include <stdlib.h>\n#include <stdio.h>\nint main()  
{\nprintf("Hello\\n");\nreturn 0;\n}' | tee hello.c ; gcc -o hello  
hello.c && ./hello ; gcc -m32 -o hello32 hello.c && ./hello32 ; gcc - 
m64 -o hello64 hello.c && ./hello64 ; file hello{,32,64}
#include <stdlib.h>
#include <stdio.h>
int main() {
printf("Hello\n");
return 0;
}
Hello
Hello
Hello
hello:   Mach-O executable i386
hello32: Mach-O executable i386
hello64: Mach-O 64-bit executable x86_64

> Could you please also report what
> 	uname -a
> says on your system?

$ uname -a
Darwin leopard.mshome.net 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct  
31 17:46:22 PDT 2007; root:xnu-1228.0.2~1/RELEASE_I386 i386

Jennie




More information about the developers-list mailing list