octave-maintainers
[Top][All Lists]
Advanced

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

Re: who is building Octave on Windows systems?


From: John W. Eaton
Subject: Re: who is building Octave on Windows systems?
Date: Wed, 26 Jan 2011 03:05:59 -0500

On 25-Jan-2011, Benjamin Lindner wrote:

| Together with the cross-compilers provided from the mingw-w64 project
| http://sourceforge.net/projects/mingw-w64/ I guess this would enable
| you to cross-build from a linux host.

I tried this but haven't been able to generate a binary even for a
simple "hello world" program that I can run with Wine.

I'm guessing the problem is not with Wine since I was able to download
the Firefox installer for Windows, run it to install Firefox, and then
run Firefox and browse the web.

I'd be grateful if anyone could provide some clues.  My system is a
Debian amd64 (x86_64) system and so I downloaded

  mingw-w32-1.0-bin_x86_64-linux_20110114.tar.bz2

from the mingw-64 dowload page on sourceforge.  As I understand it,
the mingw-w32 part of this filename means that it is supposed to
generate executables for 32-bit Windows, which is what I want since
I'll be using Wine to execute them.  The x86_64_linux part means that
the compiler is supposed to run on an x86_64 Linux system.

After unpacking this into ~/mingw and adding ~/mingw/bin to my PATH,
I'm able to run

  i686-w64-mingw32-g++ -v foo.cc -o foo.exe

to compile the program

  #include <iostream>

  int
  main (void)
  {
    std::cerr << "foo-i-hithere" << std::endl;

    return 0;
  }

This seems to work and gives me a file called foo.exe, which appears
to be a Windows 32-bit binary:

  $ file foo.exe
  foo.exe: PE32 executable for MS Windows (console) Intel 80386 32-bit

(the copy of Firefox that I installed reports exactly the same thing).

I have Wine installed from the Debian (testing) package.  I added
Z:\\home\\jwe\mingw\\bin to my PATH in my ~/.wine/system.reg file so
that it can find the DLLS that are stored in that directory.

However, attempting to run my simple foo.exe program results in the
following, which, although long and apparently detailed, gives me no
clue about what to do to fix the problem.

  $ wine foo.exe
  fixme:msvcrt:__lconv_init  stub
  wine: Call from 0x6fc49b69 to unimplemented function 
msvcrt.dll.___lc_codepage_func, aborting
  wine: Unimplemented function msvcrt.dll.___lc_codepage_func called at address 
0x6fc49b69 (thread 0009), starting debugger...
  Unhandled exception: unimplemented function msvcrt.dll.___lc_codepage_func 
called in 32-bit code (0x7bc45c70).
  Register dump:
   CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
   EIP:7bc45c70 ESP:0061facc EBP:0061fb30 EFLAGS:00000206(   - 00      - -IP1)
   EAX:6fd08880 EBX:7bc89444 ECX:00000000 EDX:6fcce440
   ESI:0061fad8 EDI:6fcafba0
  Stack dump:
  0x0061facc:  7bc5db54 00110000 00000000 80000100
  0x0061fadc:  00000001 00000000 6fc49b69 00000002
  0x0061faec:  6fd08d6c 6fd08880 00000000 00000000
  0x0061fafc:  7b876424 0061fc18 0061fbac 00000029
  0x0061fb0c:  7bc5db54 00000000 7ffd8c00 7bc5101b
  0x0061fb1c:  7b876424 00000000 7ffd006d 6fcce440
  Backtrace:
  =>1 0x7bc45c70 in ntdll (+0x35c70) (0x0061fb30)
    2 0x6fc49b69 in libstdc++-6 (+0x9b69) (0x0061fb78)
    3 0x6fcaf39a in libstdc++-6 (+0x6f39a) (0x0061fba8)
    4 0x6fcaf4b2 in libstdc++-6 (+0x6f4b2) (0x0061fc08)
    5 0x6fcb1d09 in libstdc++-6 (+0x71d09) (0x0061fc88)
    6 0x6fcafbba in libstdc++-6 (+0x6fbba) (0x0061fca8)
    7 0x6fc488d2 in libstdc++-6 (+0x88d2) (0x0061fcd8)
    8 0x6fcafb83 in libstdc++-6 (+0x6fb83) (0x0061fcf8)
    9 0x6fcb38f4 in libstdc++-6 (+0x738f4) (0x0061fd58)
    10 0x6fcb4f54 in libstdc++-6 (+0x74f54) (0x0061fdc8)
    11 0x0040180e in foo (+0x180e) (0x0061fde8)
    12 0x00401836 in foo (+0x1836) (0x0061fe08)
    13 0x00401ff8 in foo (+0x1ff8) (0x0061fe28)
    14 0x004017ae in foo (+0x17ae) (0x0061fe48)
    15 0x0040142b in foo (+0x142b) (0x0061ff08)
    16 0x7b8783a8 in kernel32 (+0x583a8) (0x0061ffe8)
  0x7bc45c70: subl      $4,%esp
  Modules:
  Module        Address                 Debug info      Name (20 modules)
  PE      400000-  41d000       Export          foo
  PE    6cec0000-6cf32000       Deferred        libgcc_s_sjlj-1
  PE    6fc40000-7014d000       Export          libstdc++-6
  ELF   7b800000-7b939000       Export          kernel32<elf>
    \-PE        7b820000-7b939000       \               kernel32
  ELF   7bc00000-7bca5000       Export          ntdll<elf>
    \-PE        7bc10000-7bca5000       \               ntdll
  ELF   7bf00000-7bf03000       Deferred        <wine-loader>
  ELF   7edbf000-7ee29000       Deferred        msvcrt<elf>
    \-PE        7edd0000-7ee29000       \               msvcrt
  ELF   7ef9e000-7efaa000       Deferred        libnss_files.so.2
  ELF   7efaa000-7efc1000       Deferred        libnsl.so.1
  ELF   7efc1000-7efe7000       Deferred        libm.so.6
  ELF   f7501000-f750b000       Deferred        libnss_nis.so.2
  ELF   f750c000-f7510000       Deferred        libdl.so.2
  ELF   f7510000-f7657000       Deferred        libc.so.6
  ELF   f7658000-f7671000       Deferred        libpthread.so.0
  ELF   f7671000-f77a7000       Deferred        libwine.so.1
  ELF   f77a8000-f77b0000       Deferred        libnss_compat.so.2
  ELF   f77c2000-f77e0000       Deferred        ld-linux.so.2
  Threads:
  process  tid      prio (all id:s are in hex)
  00000008 (D) Z:\export\home\jwe\mingw\src\foo.exe
          00000009    0 <==
  0000000c 
          00000014    0
          00000013    0
          00000012    0
          0000000e    0
          0000000d    0
  0000000f 
          00000015    0
          00000011    0
          00000010    0
  Backtrace:
  =>1 0x7bc45c70 in ntdll (+0x35c70) (0x0061fb30)
    2 0x6fc49b69 in libstdc++-6 (+0x9b69) (0x0061fb78)
    3 0x6fcaf39a in libstdc++-6 (+0x6f39a) (0x0061fba8)
    4 0x6fcaf4b2 in libstdc++-6 (+0x6f4b2) (0x0061fc08)
    5 0x6fcb1d09 in libstdc++-6 (+0x71d09) (0x0061fc88)
    6 0x6fcafbba in libstdc++-6 (+0x6fbba) (0x0061fca8)
    7 0x6fc488d2 in libstdc++-6 (+0x88d2) (0x0061fcd8)
    8 0x6fcafb83 in libstdc++-6 (+0x6fb83) (0x0061fcf8)
    9 0x6fcb38f4 in libstdc++-6 (+0x738f4) (0x0061fd58)
    10 0x6fcb4f54 in libstdc++-6 (+0x74f54) (0x0061fdc8)
    11 0x0040180e in foo (+0x180e) (0x0061fde8)
    12 0x00401836 in foo (+0x1836) (0x0061fe08)
    13 0x00401ff8 in foo (+0x1ff8) (0x0061fe28)
    14 0x004017ae in foo (+0x17ae) (0x0061fe48)
    15 0x0040142b in foo (+0x142b) (0x0061ff08)
    16 0x7b8783a8 in kernel32 (+0x583a8) (0x0061ffe8)
  wine: Call from 0x6fc49b69 to unimplemented function 
msvcrt.dll.___lc_codepage_func, aborting


Yeah, I should ask the mingw-64 community for help, but I thought I
would ask here firstto see if anyone has a clue about this.  It would
also be interesting just to know whether anyone else here is using
mingw-64 to cross compile programs for Windows systems.

jwe


reply via email to

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