On Mon, Mar 4, 2013 at 9:21 AM, ZloySystem <
zloys...@gmail.com> wrote:
> Hi Reini
>
> today i try compile test program with C backend on windows with 5.16.2 and
> latest git master a18841fdb3e9
Please try the git branch release instead.
I'm also right now working to get windows fixed before the release.
Yesterday I gave up on windows because all those internal symbols you listed
below are not exported in libperl.
Today I reactivated B::C/B::CC support again, because those symbols
are already booted and need not to be initialized again. I rather have
to fix the
CV initialization of those internals.
So the rest is to provide a Dynaloader archive or object file in the location
where ExtUtils::Embed looks for it. That looks doable for the experienced
windows user.
Just create a DynaLoader.lib from the DynaLoader.obj and copy it to
archlib/auto/DynaLoader/DynaLoader.lib
On my cygwin distribution I already added the DynaLoader object to libperl, but
Windows packagers are usually not aware of those issues.
> i do these steps:
>
> install MSVC 2010 express compiler
> download perl-compiler src and perl-5.16.2 src
> compile perl and after perl-compiler
>
> i test on simple code:
> use LWP;
> use EV;
> use Coro;
> use AnyEvent;
> use common::sense;
> use v5.12;
>
> my %S = (1 => 2);
> $a = async {
> print 1+2+3;
> EV::unloop;
> }->join();
>
> print 1+2;
> EV::loop();
>
>
> perl -MO=C,-l1800,-otest.c
test.pl
>
test.pl syntax OK
>
> perl c:\perl5162\bin\cc_harness /Od -o test.exe test.c
> running cl -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE
> -DNO_STRICT
> -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
> -DUSE_PERLI
> O -D_USE_32BIT_TIME_T -I"C:\perl5162\lib\CORE" -c -Fooutput.obj /Od -o
> test.ex
> e test.c cl : Command line warning D9025 : overriding '/O1' with '/Od'
> cl : Command line warning D9035 : option 'o' has been deprecated and will be
> rem
> oved in a future release
> test.c
> test.c(201974) : warning C4013: 'New' undefined; assuming extern returning
> int
> test.c(201974) : error C2059: syntax error : 'type'
> test.c(201998) : error C2059: syntax error : 'type'
> test.c(229519) : error C2059: syntax error : 'type'
> test.c(327239) : error C2059: syntax error : 'type'
> running link -out:output output.obj -nologo -nodefaultlib -debug -opt:ref,ic
> f -libpath:"c:\perl5162\lib\CORE" -machine:x86
> C:\perl5162\lib\CORE\perl516.l
> ib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB\oldnames.lib"
> "C:
> \Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib"
> "C:\Program
> Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib" "C:\Program Files
> (x86)
> \Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib" "C:\Program Files
> (x86)\Microsoft S
> DKs\Windows\v7.0A\lib\winspool.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windo
> ws\v7.0A\lib\comdlg32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\
> lib\advapi32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\shell
> 32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib"
> "C:\
> Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib"
> "C:\Program F
> iles (x86)\Microsoft SDKs\Windows\v7.0A\lib\netapi32.lib" "C:\Program Files
> (x86
> )\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib" "C:\Program Files
> (x86)\Microsoft S
> DKs\Windows\v7.0A\lib\ws2_32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows
> \v7.0A\lib\mpr.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\win
> mm.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\version.lib" "C
> :\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib"
> "C:\Program F
> iles (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib" "C:\Program Files
> (x86
> )\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib" "C:\Program Files
> (x86)\Microso
> ft Visual Studio 10.0\VC\LIB\msvcrt.lib" perl516.lib kernel32.lib
> msvcrt.libLINK
> : fatal error LNK1181: cannot open input file 'output.obj'
>
> on error lines:
> New(0,sv_list[6336].sv_u.svu_pv,5618,char);
>
> try replace with:
> Newx(sv_list[6336].sv_u.svu_pv,5618,char);
>
> now:
>
> perl c:\perl5162\bin\cc_harness /Od -o test.exe test.c
> running cl -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE
> -DNO_STRICT
> -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
> -DUSE_PERLI
> O -D_USE_32BIT_TIME_T -I"C:\perl5162\lib\CORE" -c -Fooutput.obj /Od -o
> test.ex
> e test.c cl : Command line warning D9025 : overriding '/O1' with '/Od'
> cl : Command line warning D9035 : option 'o' has been deprecated and will be
> rem
> oved in a future release
> test.c
> test.c(451262) : warning C4101: 'targ' : unreferenced local variable
> running link -out:output output.obj -nologo -nodefaultlib -debug -opt:ref,ic
> f -libpath:"c:\perl5162\lib\CORE" -machine:x86
> C:\perl5162\lib\CORE\perl516.l
> ib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB\oldnames.lib"
> "C:
> \Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib"
> "C:\Program
> Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib" "C:\Program Files
> (x86)
> \Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib" "C:\Program Files
> (x86)\Microsoft S
> DKs\Windows\v7.0A\lib\winspool.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windo
> ws\v7.0A\lib\comdlg32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\
> lib\advapi32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\shell
> 32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib"
> "C:\
> Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib"
> "C:\Program F
> iles (x86)\Microsoft SDKs\Windows\v7.0A\lib\netapi32.lib" "C:\Program Files
> (x86
> )\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib" "C:\Program Files
> (x86)\Microsoft S
> DKs\Windows\v7.0A\lib\ws2_32.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows
> \v7.0A\lib\mpr.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\win
> mm.lib" "C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\lib\version.lib" "C
> :\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib"
> "C:\Program F
> iles (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib" "C:\Program Files
> (x86
> )\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib" "C:\Program Files
> (x86)\Microso
> ft Visual Studio 10.0\VC\LIB\msvcrt.lib" perl516.lib kernel32.lib
> msvcrt.liboutp
> ut.obj : error LNK2019: unresolved external symbol _XS_UNIVERSAL_DOES
> referenced
> in function _perl_init_aaaa
> output.obj : error LNK2019: unresolved external symbol _XS_UNIVERSAL_VERSION
> ref
> erenced in function _perl_init_aaaa
> output.obj : error LNK2019: unresolved external symbol _XS_UNIVERSAL_can
> referen
> ced in function _perl_init_aaaa
> output.obj : error LNK2019: unresolved external symbol _XS_UNIVERSAL_isa
> referen
> ced in function _perl_init_aaaa
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_downgrade
> refere
> nced in function _perl_init_aaac
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_encode
> reference
> d in function _perl_init_aaad
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_upgrade
> referenc
> ed in function _perl_init_aaad
> output.obj : error LNK2019: unresolved external symbol
> _XS_mro_method_changed_in
> referenced in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_is_utf8
> referenc
> ed in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_decode
> reference
> d in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol
> _XS_utf8_native_to_unicod
> e referenced in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol
> _XS_utf8_unicode_to_nativ
> e referenced in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol _XS_utf8_valid
> referenced
> in function _perl_init_aaah
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_SvREADONLY
> referenced in function _perl_init_aaao
> output.obj : error LNK2019: unresolved external symbol _XS_version_is_qv
> referen
> ced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_numify
> refere
> nced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_vcmp
> referenc
> ed in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_is_alpha
> refe
> renced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_boolean
> refer
> enced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_new
> reference
> d in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_qv
> referenced
> in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_stringify
> ref
> erenced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_noop
> referenc
> ed in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol _XS_version_normal
> refere
> nced in function _perl_init_aaay
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_load_fi
> le referenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_install
> _xsub referenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_find_sy
> mbol referenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol _XS_DynaLoader_CLONE
> refe
> renced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_error r
> eferenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol _XS_re_regname
> referenced
> in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol _XS_re_is_regexp
> referenc
> ed in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol _XS_re_regexp_pattern
> ref
> erenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol _XS_re_regnames_count
> ref
> erenced in function _perl_init_aabb
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_SvREFCNT re
> ferenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_rehash_seed
> referenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_HvREHASH re
> ferenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_hash_seed r
> eferenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_Internals_hv_clear_pl
> acehold referenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_unload_
> file referenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_DynaLoader_dl_undef_s
> ymbols referenced in function _perl_init_aabc
> output.obj : error LNK2019: unresolved external symbol
> _XS_PerlIO__Layer__find r
> eferenced in function _perl_init_aabe
> output.obj : error LNK2019: unresolved external symbol
> _XS_PerlIO__Layer__NoWarn
> ings referenced in function _perl_init_aabe
> output.obj : error LNK2019: unresolved external symbol _XS_PerlIO_get_layers
> ref
> erenced in function _perl_init_aabe
> output : fatal error LNK1120: 43 unresolved externals
>
>
> what to do next, I do not know :( may be you can write short instruction?
> thx