in reply to Re^5: empty @INC in fresh compile of 5.12.2 on win32
in thread empty @INC in fresh compile of 5.12.2 on win32

I have done as you asked. I renamed perl-5.12.2 to perl-5.12.2-build, and extracted the tarball again and named the directory perl-5.12.2-clean and ran that diff.

Here is the result:

the.patch
  • Comment on Re^6: empty @INC in fresh compile of 5.12.2 on win32

Replies are listed 'Best First'.
Re^7: empty @INC in fresh compile of 5.12.2 on win32
by Anonymous Monk on Oct 17, 2010 at 08:12 UTC
    Wow sorry, I don't see anything troublesome now either.

    Here is how I prep my version

    the only thing you do differently is you use inc_version_list and build for 64bits using msvs6, where as I build for win32 using gcc (GCC) 3.4.5 (mingw-vista special r3)

    Do you have "Software\Perl" in your registry? Did you run nmake test?

    Your version doesn't even use win32_get_sitelib()

    Hmm, that could be a problem update: yup, looks like its a bug in perl.c in S_init_perllib(pTHX)

    #ifndef PRIVLIB_EXP # define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl" #endif #if defined(WIN32) s = win32_get_privlib(PERL_FS_VERSION, &len); if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE) +; #else # ifdef NETWARE S_incpush_use_sep(aTHX_ PRIVLIB_EXP, 0, INCPUSH_CAN_RELOCATE); # else S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_REL +OCATE); # endif #endif
    PRIVLIB_EXP isn't used when defined on win32

    Heck, even SITELIB_EXP seems to be ignored

    #ifdef SITELIB_EXP # if defined(WIN32) /* this picks up sitearch as well */ s = win32_get_sitelib(PERL_FS_VERSION, &len); if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOC +ATE); # else S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_EXP), INCPUSH_CAN_REL +OCATE); # endif #endif
    This looks very much geared toward ActivePerl, they don't compile using INST_VER/INST_VER, and they use the registry.