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
>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
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
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
> 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