Hi,

Sorry for not being about for quite a while. Time to get Parrot building fully on Win32 again. :-)

At the moment, the Parrot executable is building fine, but dynclasses bit hits some problems. Some of them were down to various Win32-isms, e.g. \'s and spaces featuring in paths. The attached patch addresses these. I've tried not to do things that will break the build on any other OS, but I'd recommend checking before applying.

The bit I'm not so sure about is the link problem.  Here's what happens:-

--
link -nologo -dll -def:..\libparrot.def ../src/extend.obj -out:python_group.dll
lib-python_group.obj pybuiltin.obj pynci.obj pyclass.obj pyobject.obj pyboolean.
obj pycomplex.obj pydict.obj pyexception.obj pyfloat.obj pyfunc.obj pygen.obj py
int.obj pylist.obj pylong.obj pymodule.obj pynone.obj pytype.obj pystaticmeth.ob
j pyslice.obj pystring.obj pytuple.obj pyproxytype.obj pyproxyclass.obj pyiter.o
bj
libparrot.def : error LNK2001: unresolved external symbol Parrot_DynOp_core_0_1_1
libparrot.def : error LNK2001: unresolved external symbol Parrot_debug
libparrot.def : error LNK2001: unresolved external symbol Parrot_destroy
libparrot.def : error LNK2001: unresolved external symbol Parrot_disassemble
libparrot.def : error LNK2001: unresolved external symbol Parrot_init
libparrot.def : error LNK2001: unresolved external symbol Parrot_loadbc
libparrot.def : error LNK2001: unresolved external symbol Parrot_new
libparrot.def : error LNK2001: unresolved external symbol Parrot_readbc
libparrot.def : error LNK2001: unresolved external symbol Parrot_runcode
libparrot.def : error LNK2001: unresolved external symbol Parrot_setflag
libparrot.def : error LNK2001: unresolved external symbol Parrot_setwarnings
python_group.lib : fatal error LNK1120: 11 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
partial link python_group.dll failed (29952)
NMAKE : fatal error U1077: 'c:\Perl\bin\perl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'c:\Perl\bin\perl.exe' : return code '0x2'
Stop.
--

If I add:-

..\blib\lib\libparrot_s.lib

Into the link line, I get this:-

--
link -nologo -dll -def:..\libparrot.def ../src/extend.obj -out:python_group.dll
..\blib\lib\libparrot_s.lib lib-python_group.obj pybuiltin.obj pynci.obj pyclass
.obj pyobject.obj pyboolean.obj pycomplex.obj pydict.obj pyexception.obj pyfloat
.obj pyfunc.obj pygen.obj pyint.obj pylist.obj pylong.obj pymodule.obj pynone.ob
j pytype.obj pystaticmeth.obj pyslice.obj pystring.obj pytuple.obj pyproxytype.o
bj pyproxyclass.obj pyiter.obj
libparrot.def : error LNK2001: unresolved external symbol Parrot_setflag
python_group.lib : fatal error LNK1120: 1 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
partial link python_group.dll failed (29952)
NMAKE : fatal error U1077: 'c:\Perl\bin\perl.exe' : return code '0x2'
Stop.
--

I'm not sure if I should be putting that in the link line anyway, and I'm not sure what I'd add to locate that missing symbol.

Ideas?

Thanks,

Jonathan

Attachment: dynclasses_pl.diff
Description: Binary data



Reply via email to