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

Whole source tree diff
diff -ru perl-5.12.2-clean perl-5.12.2-build >the.patch
or if you're building from a git enviroment,
git diff >the.patch
I've looked over your reverse patches , but nothing jumps out

Replies are listed 'Best First'.
Re^6: empty @INC in fresh compile of 5.12.2 on win32
by pcard (Initiate) on Oct 16, 2010 at 16:31 UTC
    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
      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.