[Parrot-users] Building parrot on cygwin

Bruce Gray bruce.gray at acm.org
Sat Aug 20 18:27:02 UTC 2011


On Aug 19, 2011, at 3:21 AM, Fredrik Rothamel wrote:

> I'm experiencing problems when building parrot on cygwin.
> (All recent cygwin and parrot versions).

By "recent", do you mean Parrot 3.6.0, 3.7.0, or a fresh checkout from  
Git?
Did you append anything to the command-line when you ran `perl  
Configure.pl`?


> I know this is a cygwin problem and not a bug in parrot's makefiles
> but I would like to know if anyone has managed to build successfully  
> on cygwin
> and if there are any known workarounds.

I remember that Parrot 3.6.0 built and tested with 0 errors on Windows  
7, but I do not know if it was 32 or 64-bit, or via Cygwin or just  
Mingw.
I *believe* that the last release (3.7.0) of Parrot builds OK on Cygwin.
I *know* that Parrot builds correctly in the following environment,  
because I installed a fresh Cygwin and built Parrot yesterday, just to  
examine this problem.


> Perl	5.10.1
> GCC	3.4.4
> Cygwin	1.7.9
> Windows 7 Enterprise SP1 64-bit

My environment:
	Parrot:	commit 865c88149b0ad02d8a12bc2f5b3ba4a0ef75955b	Date:   Thu  
Aug 18 15:47:22 2011 +0200
	OS:	Windows 2000 SP4 (32-bit)
	Perl:	This is perl, v5.10.1 (*) built for i686-cygwin-thread- 
multi-64int
	GCC:	gcc (GCC) 4.3.4 20090804 (release) 1
	Cygwin:	Whatever was current yesterday (1.7.9?)
Parrot built without a problem, and passed all but 3 tests (which were  
due to the age of Win2K relative to things like IPv6).
I tried to build with GCC 3.4.x, but could not even get Configure.pl  
to complete.


> Tail from makelog:
--snip--

> ./pbc_to_exe.exe parrot_nci_thunk_gen.pbc
> gcc-3 -o parrot_nci_thunk_gen.o -I"/home/fredrik/src/parrot/include"  
> -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  - 
> DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL  - 
> DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED  - 
> DHASATTRIBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT  - 
> DHASATTRIBUTE_COLD  -DHAS_GETTEXT  -c parrot_nci_thunk_gen.c
>     0 [main] pbc_to_exe 6544 exception::handle: Exception:  
> STATUS_ACCESS_VIOLATION
>   668 [main] pbc_to_exe 6544 open_stackdumpfile: Dumping stack trace  
> to pbc_to_exe.exe.stackdump
>     0 [main] pbc_to_exe 6748 exception::handle: Exception:  
> STATUS_ACCESS_VIOLATION
>   640 [main] pbc_to_exe 6748 open_stackdumpfile: Dumping stack trace  
> to pbc_to_exe.exe.stackdump
>     0 [main] pbc_to_exe 7916 exception::handle: Exception:  
> STATUS_ACCESS_VIOLATION
>   643 [main] pbc_to_exe 7916 open_stackdumpfile: Dumping stack trace  
> to pbc_to_exe.exe.stackdump
>     0 [main] pbc_to_exe 2476 child_copy: linked dll data write copy  
> failed, 0x1CE000..0x1D25C4, done 0, windows pid 6460, Win32 error 487
> Can't spawn child process
> current instr.: 'compile_file' pc 1138 (tools/dev/pbc_to_exe.pir:716)
--snip--

My thoughts:
1. Try installing these packages into Cygwin:
	gcc4
	gcc4-core
	gcc4-g++
2. Could you have run out of disk space at some point during the  
build? This has happened to me several times over the years, causing  
widely differing errors.
3. Parrot is under-smoked on all the 64-bit Windows environments,  
probably due to a lack of developers on x86-64. Now that an end user  
has expressed both interest and frustration, we have more reason to  
focus on that shortcoming. Please bear with us while we muster our  
resources.

-- 
Hope this helps,
Bruce Gray (Util on IRC)



More information about the Parrot-users mailing list