D.gnu - Up-to-date instructions on Linux based cross-compiler to Win32
- Marco Leise (7/7) Mar 29 2012 As the topic suggests, I'm looking for instructions to get a cross-compi...
- Johannes Pfau (17/39) Mar 30 2012 Sorry, that's my fault again. I couldn't check whether the new
- Iain Buclaw (11/48) Mar 30 2012 I suggest:
- Marco Leise (3/13) Mar 31 2012 Ok, thank you. I'll have a look. It looks like there have been quite som...
- Daniel Green (6/11) Mar 30 2012 I don't think Johannes patch will fix that. That's a result of GDC's
As the topic suggests, I'm looking for instructions to get a cross-compiler working on Linux and the ones in the Wiki are fairly outdated, referring to old versions of D2 and GCC. The compiler actually builds, but it cannot build Phobos, with these lines of errors: /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/gdc -B/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/ -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/mingw -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw 2/winsup/w32api/lib -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/mingw/include -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/w32api/include -B/usr/i686-mingw32/bin/ -B/usr/i686-mingw32/lib/ -isystem /usr/i686-mingw32/include -isystem /usr/i686-mingw32/sys-include -Wall -g -frelease -O2 -nostdinc -pipe -fdeprecated -I ../../../libphobos -I ./i686-mingw32 -fintfc-file=import/core/sys/windows/dbghelp.di -fsyntax-only ../../../libphobos/core/sys/windows/dbghelp.d ../../../libphobos/core/sys/posix/sys/un.d:17: Error: import __anonymous sa_family_t not found ../../../libphobos/core/sys/posix/sys/un.d:17: Error: alias core.sys.posix.sys.un.sa_family_t recursive alias dec -- Marco
Mar 29 2012
Am Thu, 29 Mar 2012 20:34:42 +0200 schrieb Marco Leise <Marco.Leise gmx.de>:As the topic suggests, I'm looking for instructions to get a cross-compiler working on Linux and the ones in the Wiki are fairly outdated, referring to old versions of D2 and GCC. The compiler actually builds, but it cannot build Phobos, with these lines of errors: /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/gdc -B/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/ -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/mingw -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/w32api/lib -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/mingw/include -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/w32api/include -B/usr/i686-mingw32/bin/ -B/usr/i686-mingw32/lib/ -isystem /usr/i686-mingw32/include -isystem /usr/i686-mingw32/sys-include -Wall -g -frelease -O2 -nostdinc -pipe -fdeprecated -I ../../../libphobos -I ./i686-mingw32 -fintfc-file=import/core/sys/windows/dbghelp.di -fsyntax-only ../../../libphobos/core/sys/windows/dbghelp.d ../../../libphobos/core/sys/posix/sys/un.d:17: Error: import __anonymous sa_family_t not found ../../../libphobos/core/sys/posix/sys/un.d:17: Error: alias core.sys.posix.sys.un.sa_family_t recursive alias decSorry, that's my fault again. I couldn't check whether the new backtrace stuff worked on mingw, I guess that's the problem. But I should have seen that the new code imports a posix header even on windows. Could you please check if this patch fixes it: https://gist.github.com/2253215 (That disables the GCC backtraces for non-Posix systems completely. Windows has custom backtrace code anyway.) BTW: Iain Could you have a look at the build instructions at https://github.com/D-Programming-GDC/GDC/wiki ? I just changed the git checkout commands and symlinks, but it seems that gcc-x.x.x/gcc/libphobos can't be a symlink anymore, so this directory needs to be copied? Or should the repository just be checkout out into the main gcc-x.x.x/ folder? Does git somehow allow to checkout into an non-empty folder?
Mar 30 2012
On 30 March 2012 18:58, Johannes Pfau <nospam example.com> wrote:Am Thu, 29 Mar 2012 20:34:42 +0200 schrieb Marco Leise <Marco.Leise gmx.de>:I suggest: cd gcc-x-x-x mkdir libphobos cd libphobos ../symlink-tree ../../d/libphobos This creates all directories, and individual symbolic links to each file in libphobos. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';As the topic suggests, I'm looking for instructions to get a cross-compiler working on Linux and the ones in the Wiki are fairly outdated, referring to old versions of D2 and GCC. The compiler actually builds, but it cannot build Phobos, with these lines of errors: /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/gdc -B/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/ -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/mingw -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/w32api/lib -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/mingw/include -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/w32api/include -B/usr/i686-mingw32/bin/ -B/usr/i686-mingw32/lib/ -isystem /usr/i686-mingw32/include -isystem /usr/i686-mingw32/sys-include -Wall -g -frelease -O2 -nostdinc -pipe -fdeprecated -I ../../../libphobos -I ./i686-mingw32 -fintfc-file=import/core/sys/windows/dbghelp.di -fsyntax-only ../../../libphobos/core/sys/windows/dbghelp.d ../../../libphobos/core/sys/posix/sys/un.d:17: Error: import __anonymous sa_family_t not found ../../../libphobos/core/sys/posix/sys/un.d:17: Error: alias core.sys.posix.sys.un.sa_family_t recursive alias decSorry, that's my fault again. I couldn't check whether the new backtrace stuff worked on mingw, I guess that's the problem. But I should have seen that the new code imports a posix header even on windows. Could you please check if this patch fixes it: https://gist.github.com/2253215 (That disables the GCC backtraces for non-Posix systems completely. Windows has custom backtrace code anyway.) BTW: Iain Could you have a look at the build instructions at https://github.com/D-Programming-GDC/GDC/wiki ? I just changed the git checkout commands and symlinks, but it seems that gcc-x.x.x/gcc/libphobos can't be a symlink anymore, so this directory needs to be copied?
Mar 30 2012
Am Fri, 30 Mar 2012 19:58:48 +0200 schrieb Johannes Pfau <nospam example.com>:Sorry, that's my fault again. I couldn't check whether the new backtrace stuff worked on mingw, I guess that's the problem. But I should have seen that the new code imports a posix header even on windows. Could you please check if this patch fixes it: https://gist.github.com/2253215 (That disables the GCC backtraces for non-Posix systems completely. Windows has custom backtrace code anyway.)Ok, thank you. I'll have a look. It looks like there have been quite some changes (GitHub move, the GCC preparation script amongst others). I don't expect the checked out version to always work, and I can not rule out that I don't know what I do either. :) So I must rely on instructions that are expected to work with a certain version of the GCC sources. GDC is usually working well for me once I get it compiled and the only D compiler that produces highly optimized code for what I want.
Mar 31 2012
On 3/29/2012 1:34 PM, Marco Leise wrote:As the topic suggests, I'm looking for instructions to get a cross-compiler working on Linux and the ones in the Wiki are fairly outdated, referring to old versions of D2 and GCC. The compiler actually builds, but it cannot build Phobos, with these lines of errors: /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/gdc -B/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/./gcc/ -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw32/winsup/mingw -L/home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/windows/i686-mingw 2/winsup/w32api/lib -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/mingw/include -isystem /home/marco/Entwicklung/D/gdc/dev/gcc-4.6.2/winsup/w32api/include -B/usr/i686-mingw32/bin/ -B/usr/i686-mingw32/lib/ -isystem /usr/i686-mingw32/include -isystem /usr/i686-mingw32/sys-include -Wall -g -frelease -O2 -nostdinc -pipe -fdeprecated -I ../../../libphobos -I ./i686-mingw32 -fintfc-file=import/core/sys/windows/dbghelp.di -fsyntax-only ../../../libphobos/core/sys/windows/dbghelp.d ../../../libphobos/core/sys/posix/sys/un.d:17: Error: import __anonymous sa_family_t not found ../../../libphobos/core/sys/posix/sys/un.d:17: Error: alias core.sys.posix.sys.un.sa_family_t recursive alias decI don't think Johannes patch will fix that. That's a result of GDC's desire to make all the headers. Which ends up failing for Windows. Even DMD doesn't try to make that one. To fix, just wrap the import statement in version( posix ). It's what I have the MinGW builds do.
Mar 30 2012