Current State of Building Parrot on Cygwin

3 views
Skip to first unread message

Ron Blaschke

unread,
Apr 1, 2007, 10:15:24 AM4/1/07
to perl6-i...@perl.org
Hi,

As recently discussed it is currently necessary to include the absolute
path to F<blib/lib> in the environment variable PATH. This should be
done before trying to built parrot, otherwise one gets a broken
F<runtime/parrot/include/config.fpmc> and F<src/parrot_config.c>. One
needs a "make clean" or remove *both* files before trying again. Make
sure to "export" the PATH changes, not just only "set" them, and use the
absolute path, not the relative (otherwise building some libs will fail
later on.)

If you see this error

> make runtime/parrot/library/Crow.pbc
./parrot.exe -o runtime/parrot/library/Crow.pbc
runtime/parrot/library/Crow.pir
error:imcc:syntax error, unexpected $end
in file 'runtime/parrot/library/Crow.pir' line 146
make: *** [runtime/parrot/library/Crow.pbc] Error 1

the file has Windows line endings, usually because checked out with
Windows' Subversion. Get the Cygwin version and a clean checkout.

Ron

Eric Hanchrow

unread,
Apr 1, 2007, 10:31:01 AM4/1/07
to perl6-i...@perl.org
>>>>> "Ron" == Ron Blaschke <mailin...@rblasch.org> writes:

Ron> If you see this error
...
Ron> the file has Windows line endings

Dare I suggest that parrot not be so fussy about line endings?

--
If you're trying to choose between two theories and one gives
you an excuse for being lazy, the other one is probably right.
-- Paul Graham

Steve Peters

unread,
Apr 1, 2007, 2:55:14 PM4/1/07
to r...@rblasch.org, perl6-i...@perl.org

I was beginning to think that was the problem with Cygwin. With Perl 5,
the build process keeps all the Perl library in the same directory with
executable. This seems to make things much easier for Windows, since
DLL's need to be on the PATH on Windows (including Cygwin). Once I
reboot into Windows, I'll see what I can do to help make this more automatic.

Steve Peters
st...@fisharerojo.org

Chromatic

unread,
Apr 1, 2007, 4:58:07 PM4/1/07
to perl6-i...@perl.org, r...@rblasch.org
On Sunday 01 April 2007 07:15, Ron Blaschke wrote:

> As recently discussed it is currently necessary to include the absolute
> path to F<blib/lib> in the environment variable PATH.  This should be
> done before trying to built parrot, otherwise one gets a broken
> F<runtime/parrot/include/config.fpmc> and F<src/parrot_config.c>.  One
> needs a "make clean" or remove *both* files before trying again.  Make
> sure to "export" the PATH changes, not just only "set" them, and use the
> absolute path, not the relative (otherwise building some libs will fail
> later on.)

Is it possible to pass flags to the linker that hint at a path to
libparrot.so? That's how the Linux version works anyway.

-- c

Ron Blaschke

unread,
Apr 2, 2007, 5:33:12 AM4/2/07
to perl6-i...@perl.org
Eric Hanchrow wrote:
>>>>>> "Ron" == Ron Blaschke <mailin...@rblasch.org> writes:
>
> Ron> If you see this error
> ...
> Ron> the file has Windows line endings
>
> Dare I suggest that parrot not be so fussy about line endings?

I second that. ;) Actually, both things are supposed only as
workarounds until fixed, to get Parrot fly on Cygwin again, if only with
a broken wing.

Ron

Ron Blaschke

unread,
Apr 2, 2007, 5:57:10 AM4/2/07
to chromatic, perl6-i...@perl.org

And that's quite convenient. Haven't seen anything similar on Windows,
though.

Ron

Ron Blaschke

unread,
Apr 2, 2007, 5:48:08 AM4/2/07
to Steve Peters, perl6-i...@perl.org
Steve Peters wrote:
> On Sun, Apr 01, 2007 at 04:15:24PM +0200, Ron Blaschke wrote:
>> As recently discussed it is currently necessary to include the absolute
>> path to F<blib/lib> in the environment variable PATH. This should be
>> done before trying to built parrot, otherwise one gets a broken
>> F<runtime/parrot/include/config.fpmc> and F<src/parrot_config.c>. One
>> needs a "make clean" or remove *both* files before trying again. Make
>> sure to "export" the PATH changes, not just only "set" them, and use the
>> absolute path, not the relative (otherwise building some libs will fail
>> later on.)
>>

> I was beginning to think that was the problem with Cygwin. With Perl 5,


> the build process keeps all the Perl library in the same directory with
> executable. This seems to make things much easier for Windows, since
> DLL's need to be on the PATH on Windows (including Cygwin). Once I
> reboot into Windows, I'll see what I can do to help make this more automatic.

See my "Link'n'Load on Windows" post for more thoughts. If you're
interested, here's how Windows loads DLLs.

Dynamic-Link Library Search Order
http://msdn2.microsoft.com/en-us/library/ms682586.aspx

Ron

Reply all
Reply to author
Forward
0 new messages