> I don't think the state of d_libname_unique is the issue.
> According to the Config docs:
> 
> ##################
> "d_libname_unique"
> From so.U:
>  This variable is defined if the target system insists on unique basenames
> for shared library files. This is currently true on Android, false
> everywhere else we know of. Defaults to "undef".
> #################

It is *exactly* what we wanted. According to my searches, when b.dll dpends
on a.dll, there is no path hard-coded inside b.dll, where to look for a.dll,
only its base name.


> Also, on my (Ubuntu-18.04) Linux box, d_libname_unique is undef but there's
> no issues with these modules there.

I have linux too, and that option is also off. This works, as linux linker
links the full path to the dependencies, i.e. 

ldd .../var/lib/x86_64-linux/auto/Geo/Geos/Geos.so 
        linux-vdso.so.1 (0x00007ffeabe65000)
        
/home/b/development/crazy-panda/realcraft-geos/meia/var/lib/x86_64-linux/auto/CPP/geos/geos.so
 (0x00007f4bfeb70000)
        
/home/b/development/crazy-panda/realcraft-geos/meia/var/lib/x86_64-linux/auto/Export/XS/XS.so
 (0x00007f4bfeb62000)
        
/home/b/development/crazy-panda/realcraft-geos/meia/var/lib/x86_64-linux/auto/next/XS/XS.so
 (0x00007f4bfeb56000)
        
/home/b/development/crazy-panda/realcraft-geos/meia/var/lib/x86_64-linux/auto/CPP/panda/lib/lib.so
 (0x00007f4bfeb1f000)
        
/home/b/development/crazy-panda/realcraft-geos/meia/var/lib/x86_64-linux/auto/XS/Framework/Framework.so
 (0x00007f4bfeaf9000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4bfe862000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f4bfe71d000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f4bfe703000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f4bfe540000)
        /lib/ld-linux-x86-64.so.2 (0x00007f4bfee38000)


> 
> I thought it might have something to do with the '.xs.dll' ending that
> Strawberry uses, but that's not the case.
> On my Windows perls where the ending is just plain ".dll' I still hit the
> issue you're seeing.
> 
> The fix that I would use is (for Windows only) to have next::XS create a
> dll that has a unique name (say XS.next.dll) and Export::XS to
> likewise create a uniquely named XS.expt.dll.
> The attached patches achieves this, though I didn't check to see whether it
> was necessary to uniquely name *both* next::XS and Export::XS dlls.

Thank you. Your solution is a bit simplier, than ours idea to localize 
"mod2fname",
we'll try it. 


> 
> This is a very low-traffic list, and I'm not sure who's here.
> I thought a better way of reporting it might be to raise an "Issue" at
> https://github.com/StrawberryPerl/Perl-Dist-Strawberry , but I don't see an
> "Issues" button there. (Perhaps just bad vision on my part.)
> In any case, I think it's probably some quirk of Windows that *you* (and
> not the Strawberry Perl developers) will have to attend to.

It is a bit sad if strawberry-perl devs aren't reacheable via official
mail-list listed on the site. 

As this is generic issue on Windows-platform, I think it should be fixed in 
via enabling d_libname_unique. It would be nice to hear devs, why not 
enable this option.

Reply via email to