Subject: RE: perl DynaLoader problems
From: Kurt Indermaur <[email-masked]>
To: [email-masked], [email-masked]
Cc: "'Kurt Indermaur'" <[email-masked]>
Date: Fri, 23 Mar 2001 07:48:40 -0800 (PST)

Thanks for the guidance. "objdump -x" and cygcheck
don't report any errors (though I don't know enough to
know if any of the output is unusual), and the other
necessary DLLs are in the PATH. Looking more closely
at the compilation, there was a warning:

cp Calc.pm blib/lib/Date/Calc.pm
/usr/bin/perl -I/usr/lib/perl5/5.6.1/cygwin
-I/usr/lib/perl5/5.6.1
/usr/lib/perl5/5.6.1/ExtUtils/xsubpp  -typemap
/usr/lib/perl5/5.6.1/ExtUtils/typemap -typemap typemap
Calc.xs > Calc.xsc && mv Calc.xsc Calc.c
gcc -c  -DPERL_USE_SAFE_PUTENV -DHAS_SBRK_PROTO
-fno-strict-aliasing -DUSEIMPORTLIB -O2  
-DVERSION=\"4.3\" -DXS_VERSION=\"4.3\" 
-I/usr/lib/perl5/5.6.1/cygwin/CORE  Calc.c
gcc -c  -DPERL_USE_SAFE_PUTENV -DHAS_SBRK_PROTO
-fno-strict-aliasing -DUSEIMPORTLIB -O2  
-DVERSION=\"4.3\" -DXS_VERSION=\"4.3\" 
-I/usr/lib/perl5/5.6.1/cygwin/CORE  DateCalc.c
Running Mkbootstrap for Date::Calc ()
chmod 644 Calc.bs
rm -f blib/arch/auto/Date/Calc/Calc.dll
LD_RUN_PATH="" ld2 -o
blib/arch/auto/Date/Calc/Calc.dll  -s -L/usr/local/lib
Calc.o DateCalc.o  
/usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.a  
dllwrap --dllname Calc.dll --driver-name gcc --dlltool
dlltool --export-all-symbols --as as --output-def
libCalc.def --output-lib libCalc.a \
 -s -L/usr/local/lib Calc.o DateCalc.o
/usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.a
dllwrap: no export definition file provided
dllwrap: creating one, but that may not be what you
want
/usr/bin/ld: warning: cannot find entry symbol
__cygwin_dll_entry@12; defaulting to 66dc1000
/usr/bin/ld: warning: cannot find entry symbol
__cygwin_dll_entry@12; defaulting to 66dc1000
/usr/bin/ld: warning: cannot find entry symbol
__cygwin_dll_entry@12; defaulting to 66dc1000
mv Calc.dll libCalc.a blib/arch/auto/Date/Calc/
chmod 755 blib/arch/auto/Date/Calc/Calc.dll
cp Calc.bs blib/arch/auto/Date/Calc/Calc.bs
chmod 644 blib/arch/auto/Date/Calc/Calc.bs

Could this problem with dllwrap be what's causing my
DynaLoader troubles? If so, is there a way to create
an export definition file - or to resolve the missing
entry symbol so it doesn't use the default?

--Kurt

--- Eric Fifer <[email-masked]> wrote:
> 
> Charles Wilson wrote:
> >Kurt Indermaur wrote:
> >> 
> >> I am trying to build and use a CPAN module
> >> (Date::Calc, though it happens with many others,
> too).
> >> The module compiles ok, but when I try to use it,
> or
> >> even do "make test" (see below), I get dlopen
> errors
> >> with a strange error code (3221225622). The DLL
> file
> >> is where it's looking for it.
> >> 
> >> Is there a fix or workaround to this problem?
> >
> >I've never seen this problem; Eric -- any ideas?
> 
> Hard to say, Date::Calc works fine for me, builds
> with
> no errors and passes all the tests.  I would guess
> that
> something went wrong when building the Calc.dll. 
> Does
> your 'blib/arch/auto/Date/Calc/Calc.dll' seem
> corrupt?
> Try something like 'objdump -x' or 'cygcheck' on it
> to see
> if it is ok.
> 
> The other thing that it might be is that to
> successfully
> dlopen a DLL all the dependent DLLs must also be
> found
> (which may depend on your PATH).  But, in this case
> the only
> dependencies are cygwin1.dll, libperl5_6_1.dll and
> kernel32.dll.
> 
> Eric Fifer
> 

__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple