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

building parrot on windows

5 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