http://qs1969.pair.com?node_id=939683


in reply to Re^4: h2xs on Windows
in thread h2xs on Windows

Try prefixing LIBS with ":nosearch", don't ask me to explain this idiocy

Replies are listed 'Best First'.
Re^6: h2xs on Windows
by cavac (Parson) on Nov 23, 2011 at 15:38 UTC

    Try prefixing LIBS with ":nosearch"

    YES!!!! (insert image of me jumping up and down in joy to a comic sound)

    That did it! Thanks! You just saved my day!

    don't ask me to explain this idiocy

    Oh, come on. Since this problem will probably affect other people too, it could be helpfull.

    Don't use '#ff0000':
    use Acme::AutoColor; my $redcolor = RED();
    All colors subject to change without notice.

      don't ask me to explain this idiocy

      Oh, come on. Since this problem will probably affect other people too, it could be helpfull.

      Um, I can't explain, why the maintainers of ExtUtils::Liblist, "improved" their module, by necessitating :nosearch to get the old default behaviour

      I can't even remember why/when it changed, just that old way of people did things, you might get a dozen

      Note (probably harmless): No library found for -ltcl86 Note (probably harmless): No library found for -lmoldname Note (probably harmless): No library found for -lkernel32

      messages, but each and every -ltcl86 still got forwarded to the compiler/linker, and if the compiler/linker couldn't find -ltcl86 and it was really needed, then it would throw an error, and you'd know which one of the harmless warnings weren't harmless after all

      For example, mingw gcc, when you tell it -ltcl86, knows to check for a whole bunch of variations tcl86.lib, tcl86.a, tcl86.la, tcl86.o, libtcl86.lib, libtcl86.a, libtcl86.la, libtcl86.o... because it knows how to handle all these (both .a and .lib)

      But, MakeMaker/Liblist, after decades of letting the compiler/linker handle it as usual, finally tries to do its intended job (i guess), but it only consults

      $ perl -V:lib_ext lib_ext='.a';

      Which doesn't quite work for windows/mingw/gcc combination

      note: I'm aware some of the details above aren't 100% accurate, but the general gist is, liblist removes libs the compiler knows how to handle, :nosearch restores the old default