in reply to Re^3: 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'm not sure what diff you mean. Do you mean my config.vc and config_H.vc ? If so, then here:

config.vc diff
config_H.vc diff
  • Comment on Re^4: empty @INC in fresh compile of 5.12.2 on win32

Replies are listed 'Best First'.
Re^5: empty @INC in fresh compile of 5.12.2 on win32
by Anonymous Monk on Oct 16, 2010 at 10:18 UTC
    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
      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.