mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mingw-cross-env-list] guile 2.0.11


From: Kai-Martin Knaak
Subject: [Mingw-cross-env-list] guile 2.0.11
Date: Tue, 23 Sep 2014 04:21:31 +0200

In an effort to cross compile the electronics application geda I need to
bump guile. The geda utils depend on guile version > 2.0 .  So this is
what I did:

1) git cloned the current master branch of MXE

2) build the environment with
make gcc

3) bumped the version in guile.mk :

/----------------
PKG             := guile
#$(PKG)_IGNORE   := 2%
$(PKG)_VERSION  := 2.0.11
$(PKG)_CHECKSUM := ae86544b39048a160f4db1c0653a79b40b6c1ee6
(...)
define $(PKG)_BUILD
(...)
    '$(TARGET)-gcc' \
        -W -Wall -disable-Werror -ansi -pedantic \
        '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-guile.exe' \
        `'$(TARGET)-pkg-config' guile-$(call SHORT_PKG_VERSION,$(PKG))
--cflags --libs` \ -DGUILE_MAJOR_MINOR=\"$(call
SHORT_PKG_VERSION,$(PKG))\" endef
\----------------

In addition I added "-disable-Werror". The original "-Werror" flag made
the build process exit at the config stage. It complained about the
type "long long", which allegedly is not supported in c90.

With this flag warnings are ignored and the build declares success.

However, I get immediate segfault if I start the resulting guile.exe with
wine32. This should bring up a simple command line environment. Instead,
I get:
/----------------------------
/usr/local/src/minipack/result/bin$ wine32 guile.exe 
wine: Unhandled page fault on read access to 0x0000001d at address
0x709ca8eb (thread 0040), starting debugger... Unhandled exception: page
fault on read access to 0x0000001d in 32-bit code (0x709ca8eb). Register
dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:709ca8eb ESP:004327c0 EBP:00000015 EFLAGS:00010202(  R- --  I   - -
- ) EAX:00c7ffc0 EBX:709c2760 ECX:00000004 EDX:00000000
 ESI:00000000 EDI:00000000
(...)
00000022 (D) Z:\usr\local\src\minipack\result\bin\guile.exe
        00000033    0
        00000032    0
        00000021    0
        0000002e    0 <==
\------------------------------

I am lost here. How would I debug this? Any lead? Would gdb be an option?
What would be the most likely culprit?

---<)kaimartin(>---
PS: My host system is on Debian/testing/jessie, fairly recently updated.
-- 
Kai-Martin Knaak

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]