So, this is exactly the test we need to perform in the 'sconstruct' script :) Such a test is often performed by the 'configure' scripts distributed with source code, and we need to do that same. I'll look into it later. Regards, Edward On 19 May 2014 13:21, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Hi Ed: tlinnet@linmac:Downloads$ gcc -arch ppc hello.c -o hello > log.txt In file included from hello.c:1: In file included from /usr/include/stdio.h:64: /usr/include/sys/cdefs.h:658:2: error: Unsupported architecture #error Unsupported architecture ^ In file included from hello.c:1: In file included from /usr/include/stdio.h:67: In file included from /usr/include/_types.h:27: In file included from /usr/include/sys/_types.h:33: /usr/include/machine/_types.h:34:2: error: architecture not supported #error architecture not supported ^ In file included from hello.c:1: In file included from /usr/include/stdio.h:67: In file included from /usr/include/_types.h:27: /usr/include/sys/_types.h:94:9: error: unknown type name '__int64_t' typedef __int64_t __darwin_blkcnt_t; /* total blocks */ ^ /usr/include/sys/_types.h:95:9: error: unknown type name '__int32_t' typedef __int32_t __darwin_blksize_t; /* preferred block size */ ^ /usr/include/sys/_types.h:96:9: error: unknown type name '__int32_t' typedef __int32_t __darwin_dev_t; /* dev_t */ ^ /usr/include/sys/_types.h:99:9: error: unknown type name '__uint32_t' typedef __uint32_t __darwin_gid_t; /* [???] process and group IDs */ ^ /usr/include/sys/_types.h:100:9: error: unknown type name '__uint32_t' typedef __uint32_t __darwin_id_t; /* [XSI] pid_t, uid_t, or gid_t*/ ^ /usr/include/sys/_types.h:101:9: error: unknown type name '__uint64_t' typedef __uint64_t __darwin_ino64_t; /* [???] Used for 64 bit inodes */ ^ /usr/include/sys/_types.h:107:9: error: unknown type name '__darwin_natural_t' typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */ ^ /usr/include/sys/_types.h:109:9: error: unknown type name '__uint16_t' typedef __uint16_t __darwin_mode_t; /* [???] Some file attributes */ ^ /usr/include/sys/_types.h:110:9: error: unknown type name '__int64_t' typedef __int64_t __darwin_off_t; /* [???] Used for file sizes */ ^ /usr/include/sys/_types.h:111:9: error: unknown type name '__int32_t' typedef __int32_t __darwin_pid_t; /* [???] process and group IDs */ ^ /usr/include/sys/_types.h:131:9: error: unknown type name '__uint32_t' typedef __uint32_t __darwin_sigset_t; /* [???] signal set */ ^ /usr/include/sys/_types.h:132:9: error: unknown type name '__int32_t' typedef __int32_t __darwin_suseconds_t; /* [???] microseconds */ ^ /usr/include/sys/_types.h:133:9: error: unknown type name '__uint32_t' typedef __uint32_t __darwin_uid_t; /* [???] user IDs */ ^ /usr/include/sys/_types.h:134:9: error: unknown type name '__uint32_t' typedef __uint32_t __darwin_useconds_t; /* [???] microseconds */ ^ In file included from hello.c:1: In file included from /usr/include/stdio.h:71: /usr/include/sys/_types/_va_list.h:31:9: error: unknown type name '__darwin_va_list'; did you mean '__builtin_va_list'? typedef __darwin_va_list va_list; ^ note: '__builtin_va_list' declared here In file included from hello.c:1: In file included from /usr/include/stdio.h:72: /usr/include/sys/_types/_size_t.h:30:9: error: unknown type name '__darwin_size_t'; did you mean '__darwin_ino_t'? typedef __darwin_size_t size_t; ^ /usr/include/sys/_types.h:103:26: note: '__darwin_ino_t' declared here typedef __darwin_ino64_t __darwin_ino_t; /* [???] Used for inodes */ ^ In file included from hello.c:1: In file included from /usr/include/stdio.h:434: /usr/include/sys/_types/_ssize_t.h:30:9: error: unknown type name '__darwin_ssize_t' typedef __darwin_ssize_t ssize_t; ^ hello.c:3:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main() { ^~~~ 1 warning and 19 errors generated. ########## tlinnet@linmac:Downloads$ gcc -arch x86_64 hello.c -o hello hello.c:3:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main() { ^~~~ 1 warning generated. 2014-05-19 11:01 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:Hi, Could you try creating the hello.c file with: """ #include<stdio.h> main() { printf("Hello world\n"); } """ Then type: $ gcc -arch ppc hello.c -o hello $ ./hello What does this show on your system? Does the gcc command fail? This would be the exact extension of the det_arch() method. Regards, Edward On 19 May 2014 10:51, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:Hi Ed. I actually had to set: 'i386', 'x86_64' Since my python is 32 bit from the EPD. If I compiled only with 'x86_64', and did "from target_functions import relax_fit" I got at error relating to "relax_fit.so" being a wrong architecture. I cannot do ppc. Best Trpeæs 2014-05-19 9:34 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:Hi Troels, Maybe the proper way to solve this is for the det_arch() method to create a simple 'hello world' C program, dump it in a temporary directory, try to compile it with the different -arch flags, and then see if a binary was created. As the current test shows that all 3 architectures are supported (http://thread.gmane.org/gmane.science.nmr.relax.devel/4756/focus=4764), a proper compilation test might be required. My build machine is Mac OS 10.6, simply to allow support for all 3 architectures in a 'univeral binary', as XCode for Mac OS >= 10.7 drops support 'ppc'. I also have a 10.8 test machine and compilation works fine there. Regards, Edward On 18 May 2014 22:05, Troels E. Linnet <NO-REPLY.INVALID-ADDRESS@xxxxxxx> wrote:Update of bug #22052 (project relax): Status: None => Wont Fix Assigned to: None => tlinnet Open/Closed: Open => Closed _______________________________________________________ Follow-up Comment #1: Solution found here: http://permalink.gmane.org/gmane.science.nmr.relax.devel/4758 Change sconstruct sed -i "" "s/archs = \['i386', 'ppc', 'x86\_64']/archs = \['x86\_64'\]/g" sconstruct _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?22052> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list relax-devel@xxxxxxx To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel