Hi Edward. --------- tlinnet@linmac:relax_trunk$ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.0.0 Thread model: posix ------- It is the ppc who give the problem tlinnet@linmac:relax_trunk$ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch i386 -fPIC target_functions/c_chi2.c tlinnet@linmac:relax_trunk$ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch x86_64 -fPIC target_functions/c_chi2.c tlinnet@linmac:relax_trunk$ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch ppc -fPIC target_functions/c_chi2.c In file included from target_functions/c_chi2.c:20: In file included from /usr/include/stdio.h:64: /usr/include/sys/cdefs.h:655:2: error: Unsupported architecture #error Unsupported architecture ^ In file included from target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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; ^ 19 errors generated. Troels Emtekær Linnet 2013/12/2 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi, From that it looks like you can compile for all three architectures! Ok, maybe try the following then: $ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch i386 -fPIC target_functions/c_chi2.c $ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch ppc -fPIC target_functions/c_chi2.c $ gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch x86_64 -fPIC target_functions/c_chi2.c Which of these gives the error message? You obviously have partially functional cross-compiler but one of these architectures is broken! I also don't like the 'Clang' messages. Normally the error message will show gcc, not clang. Maybe try running: $ gcc -v This is just to be sure that this is gcc and not clang pretending to be gcc. Regards, Edward On 2 December 2013 18:11, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:Hi Edward. I get: tlinnet@linmac:~$ gcc -arch i386 clang: error: no input files tlinnet@linmac:~$ gcc -arch ppc clang: error: no input files tlinnet@linmac:~$ gcc -arch x86_64 clang: error: no input files So it seems that is possible. I have installed xcode, where the preferences show that Command line tools: Xcode 5.0.2 (5A3005) is installed. As long as the simple fix is to change that line, it is fine for me. Could one get some inspiration from the blender project? http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Linux/scons Best Troels Troels Emtekær Linnet 2013/12/2 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:Hi Troels, This change is not really a solution as that will prevent me from compiling the universal binaries required for the Mac app (http://www.nmr-relax.com/download.html#Mac_OS_X). What is rather needed is a reliable way of detecting which target architectures gcc on the Mac can compile for. You can see from the code that it will run: $ gcc -arch i386 $ gcc -arch ppc $ gcc -arch x86_64 This then checks for the text "no input files" which is only printed for supported architectures. If you run these commands yourself, what do you see? This should give error messages for all non-supported architectures. There might be however a cleaner way of performing this, however there doesn't seem to be a standard way on Mac OS X that I can find. I really don't know why your gcc is printing "no input files" for each of these but then failing to compile. Regards, Edward On 2 December 2013 17:19, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:Hi Edward. For a long time I thought it was a problem with xcode. And I have tried alot... But it was simple, I just altered the archs, and it worked. ----------- def det_arch(self): """Nasty hack to make Scons behave properly with cross-compilation on Mac OS X! @return: The list of CPU architects to cross compile. @rtype: list of str """ # The list of archectures to try. #archs = ['i386', 'ppc', 'x86_64'] archs = ['x86_64'] ----------------- Troels Emtekær Linnet 2013/12/2 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:Hi, I'm not sure what is happening here. This normally works. Maybe you should look at the det_arch() method in the 'sconstruct' script, as that is the likely failure point. I would guess that it is not able to correctly determine the supported architectures on your system. This has worked on numerous Macs before, so maybe there is something different with the setup (Xcode is a likely culprit). Regards, Edward On 1 December 2013 23:33, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:Hi Edward. I tried compiling relax on mac OS X Mavericks. Should I in some way specify which kernel to build for? I get these errors: ---------- linmac:relax_trunk tlinnet$ scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... ########################### # Compiling the C modules # ########################### Building the relaxation curve fitting module 'target_functions/relax_fit.so' gcc -o target_functions/c_chi2.os -c -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -arch i386 -arch ppc -arch x86_64 -fPIC target_functions/c_chi2.c In file included from target_functions/c_chi2.c:20: In file included from /usr/include/stdio.h:64: /usr/include/sys/cdefs.h:655:2: error: Unsupported architecture #error Unsupported architecture ^ In file included from target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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 target_functions/c_chi2.c:20: 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; ^ 19 errors generated. scons: *** [target_functions/c_chi2.os] Error 1 scons: building terminated because of errors. linmac:relax_trunk tlinnet$ Troels Emtekær Linnet _______________________________________________ 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