Hi,
This question relates specifically to building perl-5.8.0 from source on Win32 using MinGW and dmake. (I have no problem with building 5.8.3 onwards.)
The error(s) killing the process:
D:/MinGW/bin/../libexec/gcc/mingw32/3.4.4/collect2.exe --subsystem con
+sole -Bdynamic -o ..\miniperl.exe D:/MinGW/bin/../lib/gcc/mingw32/3.4
+.4/../../../crt2.o D:/MinGW/bin/../lib/gcc/mingw32/3.4.4/crtbegin.o -
+LE:\perl580_M\lib\CORE -LD:\MinGW\lib -LD:/MinGW/bin/../lib/gcc/mingw
+32/3.4.4 -LD:/MinGW/bin/../lib/gcc -LD:/MinGW/bin/../lib/gcc/mingw32/
+3.4.4/../../../../mingw32/lib -LD:/MinGW/bin/../lib/gcc/mingw32/3.4.4
+/../../.. C:\DOCUME~1\Rob\LOCALS~1\Temp\mk2 -lmingw32 -lgcc -lmoldnam
+e -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw
+32 -lgcc -lmoldname -lmingwex -lmsvcrt D:/MinGW/bin/../lib/gcc/mingw3
+2/3.4.4/crtend.o
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:C
+:\DOCUME~1\Rob\LOCALS~1\Temp\mk2: file format not recognized; treatin
+g as linker script
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:C
+:\DOCUME~1\Rob\LOCALS~1\Temp\mk2:1: syntax error
collect2: ld returned 1 exit status
dmake: Error code 129, while making '..\miniperl.exe'
There's a reference in there to 'C:\DOCUME~1\Rob\LOCALS~1\Temp\mk2' which, afaict, does not exist either as a file or a directory, so my first thought was to remove that from the collect2.exe command. But when I manually enter the amended command I get a fatal complaint about WinMain@16:
D:/MinGW/bin/../libexec/gcc/mingw32/3.4.4/collect2.exe --subsystem co
+nsole -Bdynamic -o ..\miniperl.exe D:/MinGW/bin/../lib/gcc/mingw32/3.
+4.4/../../../crt2.o D:/MinGW/bin/../lib/gcc/mingw32/3.4.4/crtbegin.o
+-LE:\perl580_M\lib\CORE -LD:\MinGW\lib -LD:/MinGW/bin/../lib/gcc/ming
+w32/3.4.4 -LD:/MinGW/bin/../lib/gcc -LD:/MinGW/bin/../lib/gcc/mingw32
+/3.4.4/../../../../mingw32/lib -LD:/MinGW/bin/../lib/gcc/mingw32/3.4.
+4/../../.. -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lk
+ernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lm
+svcrt D:/MinGW/bin/../lib/gcc/mingw32/3.4.4/crtend.o
D:\MinGW\lib/libmingw32.a(main.o): In function `main':d:/src/mingw/bui
+ld/runtime/../../runtime/main.c:73: undefined reference to `WinMain@1
+6'
collect2: ld returned 1 exit status
Any advice ?
Anyone ever built 5.8.0 from source with MinGW and dmake on Win32 ?
I've just built some binaries using perl-5.8.8, hoping they would be usable on all earlier perls (back to 5.8.0), but there's a backwards incompatibility issue regarding 'PL_memory_wrap' (which doesn't seem to have arrived on the scene until 5.8.7). But ... do I really
need to build using 5.8.0 to avoid binary-incompatibility issues ? Perhaps if I build with 5.8.6 (or 5.8.3), that would be good enough ? Any thoughts about that, too, would also be appreciated. If it turns out that there's no need for me to bother building perl-5.8.0, then ... ummm ... I probably won't bother :-)
Cheers,
Rob
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.