# New Ticket Created by FranÃois PERRAD
# Please include the string: [perl #33924]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=33924 >
I add some informations about building with MinGW32 in the file "README.win32".
With default configuration, the build process is OK.
The tests fail in NCI and System parts (see details in attached file
test.err) :
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/pmc/nci.t 42 10752 46 42 91.30% 1-2 4-43
t/pmc/sys.t 1 256 1 1 100.00% 1
With --gc=malloc (or --gc=malloc-trace), an error occurs during compiling
of src/malloc.c :
src/malloc.c:637: conflicting types for `sbrk'
src/malloc.c:270: previous declaration of `sbrk'
After a small patch, what's build.
FranÃois Perrad
--- README.win32.orig 2004-05-09 17:01:02.000000000 +0200
+++ README.win32 2005-01-23 23:04:42.000000000 +0100
@@ -19,7 +19,7 @@
Borland C++ (bcc) version xxx or later
Microsoft Visual C++ (cl) version 13.10.3077 or later
- MinGW32 with GCC (gcc) version xxx or later
+ MinGW32 with GCC (gcc) version 3.2.3 or later
Intel C++ (icl) version 8.0.48 works
=head2 Setting Up Parrot
@@ -28,16 +28,19 @@
=item Make
-You need "nmake" to build Parrot under Windows. It should be
-available via Microsoft Visual Studio .NET 2003 or the Microsoft .NET
-Framework SDK 1.1. The later can be downloaded from the Microsoft
-.NET Framework Homepage L<http://msdn.microsoft.com/netframework/>.
+You need "nmake" to build Parrot under Windows with Microsoft compilers.
+It should be available via Microsoft Visual Studio .NET 2003 or the
+Microsoft .NET Framework SDK 1.1. The later can be downloaded from the
+Microsoft .NET Framework Homepage L<http://msdn.microsoft.com/netframework/>.
nmake should also be available at:
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
or
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
+MinGW works with its GNU "make" port. It can be downloaded here:
+L<http://prdownloads.sf.net/mingw/mingw32-make-3.80.0-3.exe>
+
=item Command Shell
The surest way to build it is on Windows NT/2000/XP, using the cmd shell.
@@ -57,6 +60,8 @@
cd <parrot directory>
perl Configure.pl --icushared="C:\usr\lib\icu\lib\icudata.lib
C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include"
+With MinGW32, use icu-2.8-Win32_msvc6.zip .
+
=item Borland C++
XXX
@@ -75,7 +80,19 @@
=item MinGW32 with GCC
-XXX
+The latest release of MSYS package at the time of writing is 1.0.10,
+which contains gcc-3.2.3. It can be downloaded here:
+L<http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe>
+
+The HomePage is on L<http://www.mingw.org/>.
+
+As Configure.pl extracts configuration from the perl program,
+first build/install perl with MinGW (no binary distribution available).
+
+See details on L<http://search.cpan.org/dist/perl/README.win32>,
+and source on L<http://www.cpan.org/src/stable.tar.gz>.
+
+Nota: Use only the ICU binary distribution.
=item Intel C++
@@ -85,15 +102,15 @@
=head2 Building
- nmake
+ $MAKE
=head2 Testing
- nmake test
+ $MAKE test
=head2 Installation
- nmake install
+ $MAKE install
=head2 Usage Hints
@@ -127,6 +144,6 @@
This document borrows heavily from perl's README.win32.
-Last updated: 08 May 2004
+Last updated: 23 Jan 2005
=cut
# Failed test (t/pmc/nci.t at line 36)
# got: 'loaded
# dlfunced
# nok 1
# 4.000000
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 67)
# got: 'libnci was successfully loaded
# -4.128000
# '
# expected: 'libnci was successfully loaded
# -8.256000
# '
# Failed test (t/pmc/nci.t at line 117)
# got: 'loaded
# dlfunced
# nok 1
# 12.000000
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 149)
# got: 'loaded
# dlfunced
# nok 1
# 2
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 181)
# got: 'loaded
# dlfunced
# nok 1
# 2
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 213)
# got: 'loaded
# dlfunced
# nok 1
# 6
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 255)
# got: 'loaded
# dlfunced
# nok 1
# 0
# '
# expected: 'loaded
# dlfunced
# ok
# ok 2
# '
# Failed test (t/pmc/nci.t at line 285)
# got: 'loaded
# dlfunced
# ko
# nok 2
# '
# expected: 'loaded
# dlfunced
# ok worked
# ok 2
# '
# Failed test (t/pmc/nci.t at line 315)
# got: 'loaded
# dlfunced
# nok 1
# 4.000000
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# '
# Failed test (t/pmc/nci.t at line 350)
# got: 'loaded
# dlfunced
# ok 1
# nok 1
# 4.000000
# '
# expected: 'loaded
# dlfunced
# ok 1
# ok 2
# ok 3
# ok 4
# '
# Failed test (t/pmc/nci.t at line 392)
# got: '10
# '
# expected: '10 20 30
# 2
# '
# Failed test (t/pmc/nci.t at line 409)
# got: '-7
# '
# expected: '42
# '
# Failed test (t/pmc/nci.t at line 424)
# got: '-6
# -7
# '
# expected: '42
# 4711
# '
# Failed test (t/pmc/nci.t at line 449)
# got: 'ko
# '
# expected: 'ok worked
# '
# Failed test (t/pmc/nci.t at line 461)
# got: 'ko
# '
# expected: 'ok done
# '
# Failed test (t/pmc/nci.t at line 473)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: '42
# 100
# 66
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_17.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 505)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: '42.000000
# 100.000000
# 47.110000
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_18.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 537)
# 'set_pmc() not implemented in class 'PerlArray'
# '
# doesn't match '/10
# 20
# (4|8)
# /
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_19.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 571)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: 'hello
# 20
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_20.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 599)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: '10
# 100
# 77
# 200.000000
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_21.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 654)
# got: 'set_pmc() not implemented in class 'OrderedHash'
# '
# expected: '32
# 127
# 12345
# 100
# 77
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_22.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 724)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: 'hello call_back
# 4711
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_23.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 754)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: '32
# 127
# 12345
# 33
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_24.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 809)
# got: 'set_pmc() not implemented in class 'PerlArray'
# '
# expected: '32
# 127
# 12345
# 33
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_25.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 864)
# got: 'set_pmc() not implemented in class 'OrderedHash'
# '
# expected: '32
# 127
# 12345
# 33
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_26.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 919)
# got: 'libnci was successfully loaded
# set_pmc() not implemented in class 'PerlArray'
# '
# expected: 'libnci was successfully loaded
# 55555
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_27.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 958)
# got: '1
# '
# expected: 'hello from Parrot
# 31
# '
# Failed test (t/pmc/nci.t at line 1004)
# got: ''
# expected: 'ok
# got null
# '
# Failed test (t/pmc/nci.t at line 1021)
# got: 'ok 1
# ok 2
# cb didnt run
# '
# expected: 'ok 1
# ok 2
# in callback
# user data: 42
# external data: succeeded
# done.
# '
# Failed test (t/pmc/nci.t at line 1080)
# got: 'created a callback sub
# loaded a function that takes a callback
# get_string() not implemented in class 'UnManagedStruct'
# '
# expected: 'created a callback sub
# loaded a function that takes a callback
# in callback
# user data: 42
# external data: succeeded
# the callback has run
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_31.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1154)
# got: 'ok 1
# ok 2
# cb didnt run
# '
# expected: 'ok 1
# ok 2
# in callback
# user data: 42
# external data: 77
# done.
# '
# Failed test (t/pmc/nci.t at line 1213)
# got: 'created a callback sub
# loaded a function that takes a callback
# get_string() not implemented in class 'UnManagedStruct'
# '
# expected: 'created a callback sub
# loaded a function that takes a callback
# in callback
# user data: 42
# external data: 99
# the callback has run
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_33.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1300)
# got: 'ok 1
# ok 2
# cb didnt run
# '
# expected: 'ok 1
# ok 2
# in callback
# user data: 42
# external data: succeeded
# done.
# '
# Failed test (t/pmc/nci.t at line 1359)
# got: 'ok 1
# ok 2
# cb didnt run
# '
# expected: 'ok 1
# ok 2
# in callback
# user data: 42
# external data: 88
# done.
# '
# Failed test (t/pmc/nci.t at line 1417)
# got: 'created a callback sub
# loaded a function that takes a callback
# get_string() not implemented in class 'UnManagedStruct'
# '
# expected: 'created a callback sub
# loaded a function that takes a callback
# in callback
# user data: 42
# external data: 88
# the callback has run
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_36.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1491)
# got: 'created a callback sub
# loaded a function that takes a callback
# get_string() not implemented in class 'UnManagedStruct'
# '
# expected: 'created a callback sub
# loaded a function that takes a callback
# in callback
# user data: 42
# external data: 111
# the callback has run
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_37.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1579)
# got: 'get_string() not implemented in class 'ManagedStruct'
# '
# expected: 'Count: 4
# X: 100
# Y: 110
# W: 120
# H: 130
# X: 200
# Y: 210
# W: 220
# H: 230
# X: 300
# Y: 310
# W: 320
# H: 330
# X: 400
# Y: 410
# W: 420
# H: 430
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_38.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1657)
# got: 'no bigint lib loaded'
# expected: 'Double: 6
# Triple: 6
# Sum: 12
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_39.pasm")' failed with exit code 1
# Failed test (t/pmc/nci.t at line 1692)
# got: 'Old X: 100
# Old Y: 200
# get_string() not implemented in class 'ManagedStruct'
# '
# expected: 'Old X: 100
# Old Y: 200
# X: 1
# Y: 2
# 2
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_40.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1761)
# got: 'set_pmc() not implemented in class 'OrderedHash'
# '
# expected: 'Count: 4
# 0: 100
# 1: 200
# 2: 400
# 3: 800
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_41.pasm")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1830)
# got: 'libnci was successfully loaded
# set_pmc() not implemented in class 'PerlArray'
# '
# expected: 'libnci was successfully loaded
# -55555
# 4444
# 333
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_42.imc")' failed with exit code 74
# Failed test (t/pmc/nci.t at line 1884)
# got: 'libnci was successfully loaded
# set_pmc() not implemented in class 'PerlArray'
# '
# expected: 'libnci was successfully loaded
# -4444
# -13332
# -39996
# -119988
# -359964
# '
# '(cd . && .\parrot.exe -b --gc-debug
"C:\perl\tmp\parrot-0.1.1\t\pmc\nci_43.imc")' failed with exit code 74
# Looks like you failed 42 tests of 46.
# Failed test (t/pmc/sys.t at line 26)
# got: ''.' is not recognized as an internal or external command,
# operable program or batch file.
# 1
# '
# expected: 'Hello, World!
# 0
# '
# Looks like you failed 1 tests of 1.
Failed 2/122 test scripts, 98.36% okay. 43/1923 subtests failed, 97.76% okay.
make: *** [test] Error 255
--- malloc.c.orig 2004-09-28 14:30:10.000000000 +0200
+++ malloc.c 2005-01-25 09:51:22.000000000 +0100
@@ -632,7 +632,7 @@
#ifdef LACKS_UNISTD_H
-#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) &&
!defined(__GNUC__)
#if __STD_C
extern Void_t* sbrk(ptrdiff_t);
#else