Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2016-07-14

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 mako joined #perl11
00:31 willthechill bulk88: sorry for the late reply
00:32 willthechill the command you are trying to run does not work because all the pre-compiled files (Inefficient.pmc, .h, .cpp) are in their inactive positions as renamed (Inefficient.pmc.CPPOPS_DUALTYPES, Inefficient.h.CPPOPS_CPPTYPES, Inefficient.cpp.CPPOPS_CPPTYPES)
00:34 willthechill those files are automatically copied and renamed by t/11_precompiled_sort.t
00:35 willthechill only the data types and data structures are kept in always-compiled-and-available format, and those exists at Array.pm (normal) and Array_cpp.pm (pre-compiled) instead of Array.pmc (no such file)
00:35 willthechill so this is the line you are looking for:
00:35 willthechill perl -Ilib -e "use RPerl; use RPerl::DataStructure::Array_cpp; RPerl::DataStructure::Array_cpp::cpp_load();"
04:06 travis-ci RPerl build passed. Will Braswell says 'Windows OS, Interpret Execute Test, Fix Absolute Path Handling'
04:06 travis-ci https://travis-ci.org/wbraswell/rperl/builds/144640092 https://github.com/wbraswell/rperl/compare/b4076b46a35c...7bf4c3390e9e
04:07 willthechill yay
04:14 willthechill bulk88: you around?
06:21 travis-ci RPerl build passed. Will Braswell says 'Types, Enable Integer & Number Size Control, Part 5'
06:21 travis-ci https://travis-ci.org/wbraswell/rperl/builds/144653605 https://github.com/wbraswell/rperl/compare/7bf4c3390e9e...bae0aa374e6b
06:35 willthechill yay
08:00 willthechill bulk88: I have made some significant updates related to both of your latest issues (absolute paths & integer types)
08:00 willthechill please take a look at my 2 latest commits and test it out on your computer
09:51 travis-ci perl11/cperl#1295 (smoke/relprep - b6ab00e : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/144686036
10:08 ashevchuk joined #perl11
12:01 mako joined #perl11
14:23 rurban joined #perl11
14:24 rurban unexec (dump to native binary) works now on solaris and elf with simple scripts. just some utf8 or IO syms need to fixed up at init. darwin is tricky, windows,cygwin,aix,hpux next.
16:06 rurban joined #perl11
16:09 rurban1 joined #perl11
16:30 rurban joined #perl11
16:31 rurban2 joined #perl11
16:31 rurban3 joined #perl11
16:32 rurban4 joined #perl11
16:34 rurban5 joined #perl11
16:34 rurban6 joined #perl11
16:35 rurban7 joined #perl11
17:07 ashevchuk joined #perl11
19:25 willthechill joined #perl11
19:59 travis-ci perl11/cperl#1296 (master - b6ab00e : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/144813719
20:26 bulk88 willthechill "Windows OS, Interpret Execute Test, Fix Absolute Path Handling" fixed t\09_interpret_execute.t  but commit "Types, Enable Integer & Number Size Control, Part 5" caused a bunch of new failures
20:30 bulk88 http://paste.scsys.co.uk/526982
20:35 willthechill okay
20:35 willthechill looking now
20:37 willthechill are those the only 2 new errors?
20:45 willthechill @bulk88: let's start by checking what integer type compiler flag is generated by the new code in rperltypes::type_integer_native_ccflag()
20:45 willthechill so delete your _Inline/ directory
20:45 willthechill set RPERL_DEBUG=1 and RPERL_VERBOSE=1 env vars
20:45 willthechill and simply run:     perl -e 'use RPerl;'
20:45 bulk88 I haven't gone past 06.t
20:45 willthechill okay
20:46 willthechill after you run the 'use RPerl;' command, please copy-and-paste me the entire g++ compiler command it shows you
20:47 willthechill mine looks like this:      g++ -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -xc++ -c  -I"rperl/rperl-latest" -Irperl/rperl-latest/lib -Ilib -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-unused-variable -DNO_XSLOCK
20:47 willthechill S -Wno-deprecated -std=c++11 -Wno-reserved-user-defined-literal -Wno-literal-suffix -D__CPP__TYPES -D__TYPE__INTEGER__LONG -D__TYPE__NUMBER__DOUBLE -O3 -fomit-frame-pointer -march=native -g   -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" -fPIC "-I/usr/lib/perl/5.18/CORE"   eval_435_89d0.c
20:47 willthechill the part we care about right now is the compiler flag:    -D__TYPE__INTEGER__LONG
20:47 willthechill I need to know which compiler flag you are getting
20:47 bulk88 http://paste.scsys.co.uk/526983
20:48 bulk88 ummmm
20:49 bulk88 i seem to have an installed rperl
20:49 willthechill okay that's definitely a problem
20:49 willthechill :P
20:49 willthechill cuz I was just now like DANG I don't see any -D__TYPE__INTEGER* flags
20:49 willthechill in your latest paste
20:49 willthechill so yes, please delete the installed RPerl and try again
20:51 bulk88 http://paste.scsys.co.uk/526984
20:51 willthechill OKAY GOOD
20:51 willthechill whew!
20:51 willthechill now at least you have the compiler flags
20:51 willthechill :-D
20:52 willthechill so now try running all tests again from the beginning
20:52 willthechill well actually you can skip the Inline tests
20:52 willthechill so you can skip to t/04
20:52 willthechill you can start with
20:52 willthechill 04_type_scalar.t
20:55 bulk88 04 passes
20:55 bulk88 05 fails
20:57 bulk88 05 failure http://paste.scsys.co.uk/526985
21:00 willthechill okay so we are failing at the same spot
21:00 willthechill as the first paste you sent
21:00 mako in 'rperltypes.pm': 'sub type_integer_native_ccflag' detected 'long long' on windows as expected. But compiler flag is still ' -D__TYPE__INTEGER__LONG'
21:01 willthechill um no, in the last paste you sent it is -D__TYPE__INTEGER__LONG_LONG
21:01 willthechill what are you looking at to get -D__TYPE__INTEGER__LONG?
21:07 mako the output of 'rperl -D -nop'. (still using 'hello world' example no. 1 of Learning RPerl)
21:09 mako Chapter 1 - Exercise 1 that is.
21:16 bulk88 willthechill who ar eyou talkign to?
21:19 mako ?
21:44 willthechill sorry I'm back
21:44 willthechill okay I was confused
21:44 willthechill I didn't realize mako had joined the conversation!  haha my bad  :P
21:45 willthechill mako: you need to upgrade to the latest github code
21:46 willthechill bulk88: I am looking at your issue
21:54 willthechill bulk88: please uncomment the following line and re-run your code    https://github.com/wbraswell/rperl/blob/master/lib/RPerl/DataStructure/Array.cpp#L805
21:54 willthechill re-run t/05
21:55 willthechill so we can see the debugging output
21:57 bulk88 http://paste.scsys.co.uk/526995
21:58 willthechill checking now
22:01 willthechill bulk88: we need a little more debugging info, please replace the just-uncommented debugging line with the following more informative line
22:01 willthechill fprintf(stderr, "in CPPOPS_PERLTYPES string_arrayref__typetest1(), bottom of for() loop, have i = %ld, (integer)(SvIV(my_size) - 1) = %ld, just set another Jeffy, BARBAR\n", i, (integer)(SvIV(my_size) - 1));
22:01 willthechill I suspect it may have something to do with the %ld format interacting with our newly-mangled 'integer' type, but I don't know yet
22:02 willthechill obviously it passes in Linux so this must be a Windows-specific issue
22:02 willthechill anyway, send me the paste when you re-run with the updated debugging line
22:02 willthechill :-)
22:04 bulk88 %ld isn't portable for c std lib
22:05 bulk88 older MSVCs require %I64d
22:05 bulk88 perl has echo #define IVdf "ld"&& \
22:06 bulk88 and later for VC @(echo #define IVdf "I64d"&& \
22:06 bulk88 perlcore uses printf("some string" IVdf  "some string", iv) usually
22:07 willthechill okay well %ld is working for i which is of our custom type 'integer', but %ld is not working for (integer)(SvIV(my_size) - 1)?
22:07 willthechill please send me the paste with the updated debugging line
22:09 bulk88 http://paste.scsys.co.uk/526997
22:09 willthechill checking
22:09 willthechill okay we see all 0's in the new debugging code
22:10 willthechill so now change the %ld formats in your code and see if it fixes it
22:11 willthechill and by "fix" I mean (integer)(SvIV(my_size) - 1) is not shown as 0, but is shown as 4
23:37 mako left #perl11
23:52 bulk88 av_store(people, (I32)i, newSVpvf("Jeffy Ten! %I64d/%I64d CPPOPS_PERLTYPES", i, (integer)(SvIV(my_size) - 1)));
23:52 bulk88 willthechill that makes 05.t pass for me
23:53 bulk88 Im still wondering how, cuz I thought perl implements its own printf string parsing and doesnt used libc
23:55 bulk88 http://perl5.git.perl.org/perl.git/blob/HEAD:/sv.c#l11265 perl's printf engien
23:57 bulk88 http://perl5.git.perl.org/perl.git/blob/HEAD:/sv.c#l11745 MS's I64 is special cased
23:58 bulk88 wait a minute, what is %ld anyway?
23:58 bulk88 is l mean long or long long?
23:59 bulk88 if %ld means 4 byte integer for perl, and 64 bit ints are passed on c stack on a 32 bit machine
23:59 bulk88 that explains the problem
23:59 bulk88 on a  64 bit perl, all 32 bit args are "extended" to 64 bits

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary