> Jonathan Worthington <[EMAIL PROTECTED]> wrote:
> > Ah, that's changed, 'cus it used to work with me doing that.  :-)  So
now it
> > loads the library, but fails here:-
>
> > dlfunc P0, P1, "MessageBoxA", "llttl"
>
> > With:-
>
> > Parrot VM: PANIC: Unknown signature type!
>
> Your parrot seems to lack JIT support. So all function signatures you
> want to use have to be included in src/call_list.txt.
Yes, JIT support is currently broken on Win32, but it hadn't used to be.
I've had a poke around to discover the cause of these errors:-

src\jit_cpu.c(95) : error C2065: 'RTYPE_COM' : undeclared identifier
src\jit_cpu.c(149) : error C2065: 'EXEC_CALLDISP' : undeclared identifier
src\jit_cpu.c(166) : error C2065: 'RTYPE_DATA' : undeclared identifier

And I believe the following warning to also be relevant:-

src\jit_cpu.c(95) : warning C4013: 'Parrot_exec_add_text_rellocation'
undefined; assuming extern returning int

These are all defined in exec.h, and are contained within a #if EXEC_CAPABLE
block.  Win32 is not EXEC_CAPABLE (or certainly, configuring
with --execcapable=1 causes a string of link errors due to unresolved
external symbols, e.g. _Parrot_exec_run).  It looks like JIT support has
become dependent on EXEC support - I'm way out of my depth as to whether
that's the way things should be.  :-)

> >> BTW - are the nci tests succeeding on Win32:
> >>
> >> $ make libnci.dll
> > That fails with:-
>
> > NMAKE : fatal error U1073: don't know how to make 'parrot'
>
> > libnci$(SO): $(SRC)\nci_test.c parrot$(EXE)
> >  $(LD) $(LD_SHARED) $(LD_SHARED_FLAGS) $(LDFLAGS) $< -o $@
>
> $(EXE) isn't defined it seems. I've checked in a change to use ${exe}
> here.
That fixes the original problem, but now I get:-

        rem blib/lib/libparrot_s.lib


link -out:parrot.exe -nologo -nodefaultlib -debug -opt:ref,icf    -machine:x
86  -debug imcc\main.obj blib/lib/libparrot_s.lib oldnames.lib kernel32.lib
user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib msvcrt.lib
LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /OPT specification
NMAKE : warning U4006: special macro undefined : '$<'
        link -dll -def:libparrot.def -nologo -debug  -o libnci.dll
LINK : warning LNK4044: unrecognized option "o"; ignored
LINK : fatal error LNK1181: cannot open input file "libnci.dll"
NMAKE : fatal error U1077: 'link' : return code '0x49d'
Stop.

> Thank you for your feedback,
You're welcome,

Jonathan


Reply via email to