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

[perl #37850] [BUG] tcl build trouble on win32

1 view
Skip to first unread message

Jerry Gay

unread,
Dec 8, 2005, 2:01:37 PM12/8/05
to bugs-bi...@rt.perl.org
# New Ticket Created by jerry gay
# Please include the string: [perl #37850]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37850 >


this is win32-msvc7. pbc_merge fails for tcl. here's the end of the
output from a tcl make session:

link -nologo -nodefaultlib -debug -dll -def:..\libparrot.def -out:tcl_group.dll
-def:tcl_group.def "lib-tcl_group.obj" "tclobject.obj" "tclstring.obj" "tclint.o
bj" "tclfloat.obj" "tcllist.obj" "tclarray.obj" oldnames.lib kernel32.lib user3
2.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib ole
aut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.
lib odbccp32.lib msvcrt.lib "D:/usr/local/parrot/trunk/parrot.lib"
LINK : LNK6004: tcl_group.dll not found or not built by the last incremental lin
k; performing full link
Creating library tcl_group.lib and object tcl_group.exp
D:\usr\local\perl\bin\perl.exe tcl.pl > lib\tcllib.pir
..\..\parrot.exe --output=lib\tcllib_temp.pbc lib\tcllib.pir
..\..\parrot.exe --output=lib\tclbinaryops.pbc lib\tclbinaryops.pir
..\..\parrot.exe --output=lib\tclcommand.pbc lib\tclcommand.pir
..\..\parrot.exe --output=lib\tclcommandlist.pbc lib\tclcommandlist.pir
..\..\parrot.exe --output=lib\tclconst.pbc lib\tclconst.pir
..\..\parrot.exe --output=lib\tclfunc.pbc lib\tclfunc.pir
..\..\parrot.exe --output=lib\tclops.pbc lib\tclops.pir
..\..\parrot.exe --output=lib\tclvar.pbc lib\tclvar.pir
..\..\parrot.exe --output=lib\tclword.pbc lib\tclword.pir
..\..\pbc_merge.exe -o lib\tcllib.pbc lib\tcllib_temp.pbc lib\tclbinaryo
ps.pbc lib\tclcommand.pbc lib\tclcommandlist.pbc lib\tclconst.pbc lib\tclfunc.pb
c lib\tclops.pbc lib\tclvar.pbc lib\tclword.pbc
NMAKE : fatal error U1077: '..\..\pbc_merge.exe' : return code '0xc0000005'
Stop.

D:\usr\local\parrot\trunk\languages\tcl>

~jerry

François PERRAD

unread,
Dec 9, 2005, 5:37:23 AM12/9/05
to perl6-i...@perl.org

With MinGW32, the behavior is the same.
I analyze the problem with gdb :
pbc_merge.exe loads tcl_group.dll,
in Parrot_lib_tcl_group_load(), the first call of pmc_new() raises a
segment fault.
pmc_new() is defined in pbc_merge.exe

I try a Nick Glencross's patch "Better support for libparrot.so" what use
an another method for dynamic linking.
This patch is out of date (october), but seems solve the problem.

François.

>~jerry


Jerry Gay

unread,
Apr 24, 2006, 5:04:18 PM4/24/06
to parrotbug...@parrotcode.org
On 4/22/06, Will Coleda via RT <parrotbug...@parrotcode.org> wrote:
> This issue is long dead, isn't it?
>
this has been fixed some time ago, yes. however, tcl's not building
for me right now for a different reason...

link -nologo -nodefaultlib -debug -dll -out:tcl_group.dll
"lib-tcl_group.obj" "tclobject.obj" "tclstring.obj" "tclint.obj"


"tclfloat.obj" "tcllist.obj" "tclarray.obj" 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
"D:/usr/local/parrot/bug/libparrot.lib"


Creating library tcl_group.lib and object tcl_group.exp

tcllist.obj : error LNK2019: unresolved external symbol _interpinfo_p
referenced in function _Parrot_TclList_get_string
tcl_group.dll : fatal error LNK1120: 1 unresolved externals
partial link tcl_group.dll failed (24576)
NMAKE : fatal error U1077: 'cd' : return code '0x2'

~jerry

Francois PERRAD

unread,
Apr 25, 2006, 6:12:57 AM4/25/06
to jerry gay, parrotbug...@parrotcode.org
At 14:04 24/04/2006 -0700, jerry gay wrote:
>On 4/22/06, Will Coleda via RT <parrotbug...@parrotcode.org> wrote:
> > This issue is long dead, isn't it?
> >
>this has been fixed some time ago, yes. however, tcl's not building
>for me right now for a different reason...

This linkage is broken on Win32 since revision 12321 (only the file
languages/tcl/src/pmc/tcllist.pmc).
Solved by revision12423.

François.

0 new messages