Hi,

I finally found the problem with loading an installed module created with
Inline.

The problem is that the check_installed routine assumes that the shared
library (.dll) is installed under (assuming Math::Simple)

<libpath>/auto/Math/Simple/Simple.dll

but since I am using an architecture directory it was installed in

<libpath>/mswin32-x86/auto/Math/Simple/Simple.dll

therefore the -f filetest fails and the M30 error message appears.

Perhaps the Active State distributions don't use the architecture directory.
Nevertheless it's the default to have one (win32/Makefile in the source
tree)

Here the diff that corrects the problem (unchecked without arch dir, so
please check first):

389,390c389,390
<     my $obj =
"$realpath/auto/$o->{API}{modpname}/$o->{API}{modfname}.$suffix";
<     print "#DEBUG# \$obj: >>$obj<<\n";
---
>     my $arch   = $Config{archname};
>     my $obj =
"$realpath/$arch/auto/$o->{API}{modpname}/$o->{API}{modfname}.$suffix";

Thomas

Reply via email to