# [SOLVED] Crossdev mingw32 i crash zbudowanej apki pod Wine

## sebas86

Zainstalowałem toolchain i686-pc-mingw32 jednak nawet najprostsza aplikacja typu "Hello world" nie działa - Wine kończy działanie z komunikatem naruszenia ochrony pamięci. Testowy kod dla biblioteki SDL z tej strony http://wiki.gentoo.org/wiki/Mingw kończy się w ten sam sposób. Jeśli dla testowej aplikacji SDL używam biblioteki SDL.dll skompilowanej przy pomocy toolchaina to Wine odmawia jej (biblioteki) załadowania...

Toolchain instalowany po prostu: 

```
crossdev i686-pc-mingw32
```

Macie pomysł co może być nie tak?

```

$ emerge --info

Portage 2.1.11.31 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.15-r3, 3.5.7-gentoo x86_64)

=================================================================

System uname: Linux-3.5.7-gentoo-x86_64-Intel-R-_Core-TM-_i5-3317U_CPU_@_1.70GHz-with-gentoo-2.1

Timestamp of tree: Sun, 02 Dec 2012 18:30:01 +0000

ld GNU ld (GNU Binutils) 2.22

app-shells/bash:          4.2_p37

dev-java/java-config:     2.1.11-r3

dev-lang/python:          2.7.3-r2, 3.2.3

dev-util/cmake:           2.8.9

dev-util/pkgconfig:       0.27.1

sys-apps/baselayout:      2.1-r1

sys-apps/openrc:          0.11.5

sys-apps/sandbox:         2.5

sys-devel/autoconf:       2.13, 2.68

sys-devel/automake:       1.9.6-r3, 1.11.6

sys-devel/binutils:       2.22-r1

sys-devel/gcc:            4.5.4, 4.6.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4-r1

sys-devel/make:           3.82-r3

sys-kernel/linux-headers: 3.6 (virtual/os-headers)

sys-libs/glibc:           2.15-r3

Repositories: gentoo x-portage

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE AdobeFlash-10.3 RTCW-ETEULA skype-4.0.0.7-copyright PUEL cadsoft"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/openvpn/easy-rsa"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=core2 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

EMERGE_DEFAULT_OPTS="--quiet-build=y --keep-going=y"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="rsync://gentoo.prz.rzeszow.pl/gentoo http://gentoo.prz.rzeszow.pl http://gentoo.po.opole.pl ftp://gentoo.po.opole.pl http://gentoo.mirror.pw.edu.pl/"

LANG="pl_PL.UTF-8"

LC_ALL="pl_PL.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="pl"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="7zip X a52 aac acl acpi alsa amd64 apm autoipd avahi berkdb bluetooth branding bzip2 cairo cdda cdr cleartype cli connecting-sharing consolekit cracklib crypt cups cxx dbus dell djvu dri dts dvd dvdr dvi egl emboss encode exif fam ffmpeg firefox flac fortran fuse gdbm gif gles gles2 glitz gnome-keyring gnutls gpm gtk iconv ipv6 jingle jpeg jpeg2k laptop latex lcms ldap libkms libnotify lm_sensors mad madwifi mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib ncurses networkmanager new-login nls nptl ogg openal opengl openmp pam pango pcre pdf pmu png policykit ppds pppd pulseaudio qt3support rdesktop readline sdl session smp spell sse sse2 sse3 sse4 ssl ssse3 startup-notification svg tcpd theora tiff truetype udev udisks unicode upower usb vim-syntax vorbis wifi wxwidgets x264 xcb xcomposite xft xinerama xml xscreensaver xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
```

----------

## Garrappachc

Z crossdevem sprawa jest generalnie dosyć chybotliwa. Sam się tym bawię, bo kompiluję mój program pod windowsa właśnie via mingw. Z moich doświadczeń wynika, że trzeba zbudować mingw z gcc-4.5.3 i, jeżeli koniecznie potrzebujemy >=gcc-4.6, dopiero spod gcc-4.5 zbudować nowszą wersję. gcc-4.6 zbudowane z 4.6 nie działa.

----------

## sebas86

Dzięki! Próbowałem przebudować toolchain z GCC 4.5.4 ale widocznie i tak korzystał z nowszej wersji. Po całkowitym wywaleniu i zbudowaniu z GCC 4.5.3 działa.

----------

