Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

building parrot on windows

34 views
Skip to first unread message

Cal Henderson

unread,
May 4, 2003, 8:09:30 PM5/4/03
to perl6-i...@perl.org
i'm not sure what the current state of building on win32 is, but
i'm getting linker errors building parrot.exe:

io.obj : error LNK2001: unresolved external symbol _pio_win32_layer
io_buf.obj : error LNK2001: unresolved external symbol _PIO_win32_getblksize
io_buf.obj : error LNK2001: unresolved external symbol _PIO_win32_isatty

i'm using:

nmake 1.62.7022
link 5.00.7022
cl 11.00.7022
latest CVS snapshot (parrot_2003-05-04_070000.tar.gz)
(and the headers and libraries from vc5)

these symbols look like they depend on PIO_OS_WIN32 being defined.

am i using the wrong tools to build or is this a known issue?


--cal


Bruce Gray

unread,
May 5, 2003, 6:36:33 PM5/5/03
to perl6-i...@perl.org, Cal Henderson
On Mon, 5 May 2003 01:09:30 +0100 (BST), Cal Henderson wrote:

>i'm not sure what the current state of building on win32 is, but
>i'm getting linker errors building parrot.exe:
>io.obj : error LNK2001: unresolved external symbol _pio_win32_layer

--snip--


>am i using the wrong tools to build or is this a known issue?

Your tools look fine.
I think this a new issue, a bug introduced 2003-04-27, as part of
the "Don't #include <windows.h> from win32.h" patch. See:
http://cvs.perl.org/cvsweb/parrot/io/io_win32.c

http://cvs.perl.org/cgi/cvsweb.cgi/parrot/io/io_win32.c.diff?r1=1.20&r2=1.21

Does the attached patch fix your problem?
If so, I will submit it in RT, with an explanation of the problem.

--
Hope this helps,
Bruce Gray

io_win32_shuffle_includes.patch

Cal Henderson

unread,
May 6, 2003, 5:15:52 PM5/6/03
to perl6-i...@perl.org
At 23:36 GMT 05.05.03, Bruce Gray <bruce...@acm.org> wrote:
: Does the attached patch fix your problem?

: If so, I will submit it in RT, with an explanation of the problem.

yup - latest CVS snapshot now compiling ok


still got some warning during the build, but nothing fatal:


dotgnu.ops(113) : warning C4761: integral size mismatch in
argument; conversion supplied

3 times - twice for core_ops.c and once for core_ops_prederef.c
113 is a call to vtable->set_integer_native()


spf_render.c(576) : warning C4761: integral size mismatch in
argument; conversion supplied

during compile of spf_render.c, at call to gen_sprintf_call()


would doing regular windows builds be useful?

--cal


Steve Fink

unread,
May 9, 2003, 3:07:19 AM5/9/03
to Cal Henderson, perl6-i...@perl.org
On May-06, Cal Henderson wrote:
> would doing regular windows builds be useful?

Yes. Doing it as a tinderbox would be good, too.

Cal Henderson

unread,
May 9, 2003, 5:22:01 AM5/9/03
to st...@fink.com, perl6-i...@perl.org
At 08:07 GMT 09.05.03, Steve Fink <st...@fink.com> wrote:

: On May-06, Cal Henderson wrote:
: > would doing regular windows builds be useful?
:
: Yes. Doing it as a tinderbox would be good, too.

i have a script set up to grab the latest snapshot, do a "Configure.pl",
"make", "make test", "cd languages/imcc;make" and a "make test IMCC=..."

it's still failing with the latest snapshot, but bruce gray's patch clears
the problems.

is there something more automated i can set up?


also, imcc cannot be made before running "make test" at the moment on
windows since the default make target doesn't build parrotlib. is this
intentional?

--cal


Mattia Barbon

unread,
May 9, 2003, 6:18:26 PM5/9/03
to perl6-i...@perl.org, Cal Henderson
On Fri, 9 May 2003 10:22:01 +0100 (BST) Cal Henderson <c...@iamcal.com> wrote:

> also, imcc cannot be made before running "make test" at the moment on
> windows since the default make target doesn't build parrotlib. is this
> intentional?

Probably not, but IIRC (I haven't a clean tree), just running "nmake
static" will create a parrotlib.

Regards
Mattia


0 new messages