Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^5: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location

by Anonymous Monk
on Dec 04, 2012 at 00:17 UTC ( #1006968=note: print w/ replies, xml ) Need Help??

Comment on Re^5: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
Re^6: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
by bulk88 (Priest) on Dec 04, 2012 at 22:43 UTC
    Open perl.exe, not somexsmodule.dll. Then it will not be greyed out.

      Aha, now that is more interesting -- taking your advice from earlier enabling debugging info  perl -pi.orig -le " if( m{^\s*(OPTIMIZE|CCFLAGS|LDDLFLAGS|LDFLAGS)\s*=}i ){ s{ -s }{   }g } " Makefile

      And now I'm cooking with gas :) The relevant snippet from depends.exe

      GetProcAddress(0x674C0000 [auto\io\IO.DLL], "boot_IO") called from "PE +RL516.DLL" at address 0x713DD74F and returned 0x674C2670. LoadLibraryExA("blib\arch\auto\XML\LibXML\LibXML.dll", 0x00000000, LOA +D_WITH_ALTERED_SEARCH_PATH) called from "PERL516.DLL" at address 0x71 +3DA0DE. LDR: LdrRelocateImageWithBias() failed 0xc000007b LDR: OldBase : 6E400000 LDR: NewBase : 010A0000 LDR: Diff : 0xffffffff92ca0000 LDR: NextOffset : 012D9F88 LDR: *NextOffset : 0x302e LDR: SizeOfBlock : 0x5c LoadLibraryExA("blib\arch\auto\XML\LibXML\LibXML.dll", 0x00000000, LOA +D_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: %1 is not a valid W +in32 application (193).

      now Dynaloader also spits out for module XML::LibXML: load_file:%1 is not a valid Win32 application ...

        Google (http://groups.google.com/group/microsoft.public.win32.programmer.kernel/msg/4e96409329944018?dmode=source) says you have a non-relocatable DLL. I think you messed up a different compiler flag when you removed -s, or there is a bug in your Mingw. Look for a PE .reloc section (looking at mingw produced dlls, they all have .reloc sections), or for a by the book answer 100% accurate answer, look in the Data Directory, then at IMAGE_DIRECTORY_ENTRY_BASERELOC entry ("Relocation Table") and make the RVA and size aren't 0. I use StudPE. There are other tools out there ("dumpbin mydll.dll" will show section names and sizes, I also know of PE Explorer (shareware)). Try running dependency walker on a dll that was compiled with "-s" and the makefile unchanged.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006968]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2014-09-22 00:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (176 votes), past polls