View previous topic :: View next topic |
Author |
Message |
vanger n00b
Joined: 04 Jan 2014 Posts: 56
|
Posted: Tue Feb 17, 2015 7:40 pm Post subject: |
|
|
khayyam wrote: |
vanger ... then this may just be a problem with crossdev. As I said, I gave up on it, if I were to looking to build for a sh4 then I'd grab a system image of Aboriginal Linux for that target and build it ... no fuss, no bother.
|
OK. Thank you for your help!
It seemed that if such rather popular (as I thought) targets fails to build, the problem should be famous and transparent.
I gave sh4 just for example. My current need is to build for Linux and Windows. To build for the latter I use virtual machine and it's fine, but I wanted to make things even more convenient. |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Feb 17, 2015 8:24 pm Post subject: |
|
|
vanger wrote: | It seemed that if such rather popular (as I thought) targets fails to build, the problem should be famous and transparent. |
vanger .... aha! hehe, yeah. You might ask on chat.freenode.net #gentoo-embedded or (who knows) #gentoo-toolchain ... and/or add to the above linked bug.
vanger wrote: | I gave sh4 just for example. My current need is to build for Linux and Windows. To build for the latter I use virtual machine and it's fine, but I wanted to make things even more convenient. |
Yeah, I know, I only pointed to how I do it because you mentioned sh4 target ... I knew that Aboriginal would not be any help for cross-*-mingw32.
best ... khay |
|
Back to top |
|
|
Lucretia n00b
Joined: 15 Oct 2002 Posts: 69
|
Posted: Tue Apr 14, 2015 10:41 pm Post subject: |
|
|
khayyam wrote: | vanger wrote: | Piece of information from the end of the first one (skipping enormously long lines):
Code: | Makefile:416: recipe for target 'sanitizer_libc.lo' failed
make[4]: *** [sanitizer_libc.lo] Error 1 |
|
vanger ... yes, but before this we have have some warnings about -fPIC and the following:
Code: | bc.cc: In function ‘void __sanitizer::break_optimization(void*)’:
/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libsanitizer/sanitizer_common/sanitizer_libc.cc:21:8: error: expected ‘(’ before ‘;’ token __asm; |
So, this seems to be a bug in gcc-4.9.2 rather than an issue with crossdev ... I would try building your target using stable rather than ~arch.
best ... khay |
I can confirm that crossdev doesn't work here either for 32 bit mingw.
Code: |
libtool: compile: /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/./gcc/gfortran -B/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/./gcc/ -L/var/tmp/portage/cro
ss-i686-pc-mingw32/gcc-4.9.2/work/build/i686-pc-mingw32/winsup/mingw -L/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/i686-pc-mingw32/winsup/w32api/lib -isystem /var/tmp/po
rtage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/winsup/mingw/include -isystem /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/winsup/w32api/include -B/usr/i686-pc-m
ingw32/bin/ -B/usr/i686-pc-mingw32/lib/ -isystem /usr/i686-pc-mingw32/include -isystem /usr/i686-pc-mingw32/sys-include -DHAVE_CONFIG_H -I. -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-
4.9.2/work/gcc-4.9.2/libgfortran -iquote/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/io -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/
libgfortran/../gcc -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/../gcc/config -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfort
ran/../libquadmath -I../.././gcc -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/../libgcc -I../libgcc -I . -Wall -fimplicit-none -fno-repack-arrays -fno-u
nderscoring -fallow-leading-underscore -O2 -pipe -c /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/generated/_sin_c16.F90 -DDLL_EXPORT -o .libs/_sin_c16.o
/bin/bash ./libtool --tag=FC --mode=compile /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/./gcc/gfortran -B/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/.
/gcc/ -L/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/i686-pc-mingw32/winsup/mingw -L/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/build/i686-pc-mingw32/winsup/w32
api/lib -isystem /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/winsup/mingw/include -isystem /var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/winsup/w32
api/include -B/usr/i686-pc-mingw32/bin/ -B/usr/i686-pc-mingw32/lib/ -isystem /usr/i686-pc-mingw32/include -isystem /usr/i686-pc-mingw32/sys-include -DHAVE_CONFIG_H -I. -I/var/tmp/por
tage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran -iquote/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/io -I/var/tmp/portage/cross-i686-pc-m
ingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/../gcc -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/../gcc/config -I/var/tmp/portage/cross-i686-pc-mingw32/g
cc-4.9.2/work/gcc-4.9.2/libgfortran/../libquadmath -I../.././gcc -I/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/../libgcc -I../libgcc -I . -Wall -fimplic
it-none -fno-repack-arrays -fno-underscoring -fallow-leading-underscore -O2 -pipe -c -o _cos_r8.lo `test -f '/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/
generated/_cos_r8.F90' || echo '/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran/'`/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libgfortran
/generated/_cos_r8.F90
/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libsanitizer/sanitizer_common/sanitizer_libc.cc: In function ‘void __sanitizer::break_optimization(void*)’:
/var/tmp/portage/cross-i686-pc-mingw32/gcc-4.9.2/work/gcc-4.9.2/libsanitizer/sanitizer_common/sanitizer_libc.cc:21:8: error: expected ‘(’ before ‘;’ token
__asm;
^
|
The logfiles for debugging are here.
I have converted to the new plug-in system, btw.
Edit: I have just been in the GCC git tree and found that they have changed an #if causing my problem at least.
Luke. |
|
Back to top |
|
|
Lucretia n00b
Joined: 15 Oct 2002 Posts: 69
|
Posted: Wed Apr 15, 2015 7:32 pm Post subject: |
|
|
I managed to get it installed with the following command:
Code: |
USE="-sanitize" crossdev --ov-output /usr/local/portage -t i686-pc-mingw32
|
|
|
Back to top |
|
|
geeksheik Tux's lil' helper
Joined: 07 Sep 2003 Posts: 99 Location: Zürich, Switzerland
|
Posted: Tue Jul 21, 2015 8:28 am Post subject: |
|
|
@Lucretia: thank you! Your solution worked for me. I used a slightly modified form of the command, as I didn't see a need for the '--ov-output' directive. The use flag appears to be the important point.
My build statement:
Code: | USE="-sanitize" crossdev -t i686-pc-mingw32 |
This issue is not exclusive to gcc 4.9.
Quote: | So, this seems to be a bug in gcc-4.9.2 rather than an issue with crossdev ... I would try building your target using stable rather than ~arch.
|
I had the same problem with currently-stable gcc 4.8.4 (x86_64-pc-linux-gnu-4.8.4). I have not experimented with other versions. |
|
Back to top |
|
|
bazz n00b
Joined: 18 Mar 2016 Posts: 2
|
Posted: Fri Mar 18, 2016 7:37 pm Post subject: |
|
|
Just wanted to confirm that I am also experiencing this issue (cross-i686-pc-mingw32/gcc-4.9.3) Code: | crossdev -S -t i686-pc-mingw32 | . I will try the -sanitize, although it's a bit disappointing _________________ Do you feel lucky, punk?
Well do ya? |
|
Back to top |
|
|
|