Greetings! Gabriel Dos Reis <g...@cs.tamu.edu> writes:
> Camm Maguire <c...@maguirefamily.org> writes: > > [...] > > | > Camm, what are the instructions to build and test GCL under wine? > | > > | > | This is the README.wine file: > > Hi Camm, > > Thanks for the instructions. My box is a x86_64 running openSUSE-11.2. > I don't think that matters substantially. However, a few notes for > anyone out there who would like to try the cross compile: > > | On Debian, for example, gcl can be run and tested under wine as follows: > | > | (as root) > | > | aptitude install mingw32 mingw32-runtime mingw32-binutils wine > | > | If necessary, as root > | > | update-binfmts --enable wine > > openSUSE does not have `update-binfmts', but: > (1) one can install wine through YAST > (2) enable wine as > > # echo ':DOSWin:M::MZ::/usr/bin/wine:' >> /proc/sys/fs/binfmt_misc/register > > On x86_64, the cross compiler tools for MinGW available through YAST > would have some trouble installing (because it does not have a 64-bit > cross build.) The simplest is to just build your own cross tool chain. > Here is what I did: > > (a) Build binutils: > (i) download binutils (2.20.1) > (ii) build with prefix /opt/cross and target i686-pc-mingw32 > (iii) install > > (b) Build minimal GCC > (i) download GCC -- I just took the development version > (ii) configure with prefix /opt/cross, target i686-pc-mingw32 and > other switches such as > --enable-languages='c,c++' \ > --disable-nls --disable-multilib \ > --disable-bootstrap > (iii) make all-gcc && sudo make install-gcc > > (c) Install MinGW headers and libraries > (i) donwload MinGW-RT and W32API from MinGW sourcefore website > (ii) unpack them in /opt/cross/i686-pc-mingw32 > > (d) Rebuild and install full GCC with (C and C++ compilers) > > | Then as a normal user, > | > | export PATH=/usr/i586-mingw32msvc/bin:$PATH > | export CC=/usr/bin/i586-mingw32msvc-gcc > | > | ./configure --host=mingw32 && make > | > > PATH=/optc/cross/i686-pc-mingw32/bin:$PATH > CC='i686-pc-mingw32-gcc' ./configure --host=i686-pc-mingw32 > --prefix=/opt/cross/i686-pc-mingw32 > make > > With that, the system built raw_pre_gcl.exe. But, the the boostrap > failed with the following: > > cp init_pre_gcl.lsp foo > echo " (in-package \"USER\")(system:save-system \"saved_pre_gcl\")" >>foo > ar x libpre_gcl.a $(ar t libpre_gcl.a |grep ^gcl_) > /home/gdr/src/gcl-2.6.8pre/unixport/raw_pre_gcl.exe > /home/gdr/src/gcl-2.6.8pre/unixport/ -libdir /home/gdr/src/gcl-2.6.8pre/ < foo > > Unrecoverable error: Can't allocate. Good-bye!. > Thanks for this report! This indicates an sbrk failure, emulated here in unexnt.c. If you can, try rebuilding with --enable-debug, you should then be able to then run winedbg, which has elementary gdb command capability. Break at sbrk, and step through, please, to see where the failure occurs. There is a call to the wine-emulated VirtualAlloc which I'm guessing is returning NULL. After the failure, you can 'p DisplayError("foo")' to see the error output. Non-wine related issues could be running with a limited .data segment size constraint (e.g. ulimit -a), or a general configure error leading to a bad heap size calculation. I think wine also has a trace facility which should let you watch VirtualAlloc. (Maybe set by environment variable as I recall?) I have been told by the wine developers that the standard wine build on a 64bit machine is an attempt at win64 emulation and is currently highly experimental. I doubt this is what you are seeing, but it might be wise to double check that everything is 32 bit here. On that note, just a reminder if you could to post that failed win64 configure. That would be most helpful. Take care, > > The system has 8GB of physical memory. Any idea as of why it gcl_pre > could not allocate? > > -- Gaby > > > > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel