Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2015-09-16

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

All times shown according to UTC.

Time Nick Message
00:01 rurban My cygwin perl is soo slow, I cannot work on that mess
00:07 bulk88 DynaLoader is built by make_ext.pl on Win32, there is no direct EUMM-less compiling of XS in Win32 perl like with Unix Perl
00:08 bulk88 my plan to make XS Config be more cpan/pause-friendly, maybe it can be spun off as an upgrade to P5P perl
00:10 bulk88 also trying to direct compile XS in the Win32 makefile is a maintainence nightmare, EUMM always knows how to make XS DLLs or static .o'es, with Clang+Visual C+GCC+whatever else out there, there is alot of special casing to maintain in the makefiles, so the simplest thing is to make XS Config make_ext.pl compatible
00:11 bulk88 cygwin perl failed at linking Config.o into Config.dll with you code in Makefile.SH, so that shows how fragile  doing that is
00:12 bulk88 there are also special snowflakes like HP-aCC and Z/OS and VMS which dont use GCC and what a DLL/SO is on those platforms also is alot of special casing
00:13 bulk88 heck, shared libraries are not even part of POSIX, and 1 unix OS might have multiple dl-loaders and dl file formats
00:15 willthechill lol "special snowflakes"
00:15 willthechill isn't that what they call the weird kids in kindergarten?  ;)
00:15 bulk88 exceptional snowflakes=retard, special snowflakes=weird
00:16 willthechill well then we're all "special snowflakes" here in the Perl community, ha!
00:23 bulk88 Mongolism->down syndrome->idiocy->retarded->disabled->differntly abled->exceptional->what is the next politically correct term?
00:30 rurban putting Config on CPAN sounds good
00:31 bulk88 I havent mentioned this until now, but gperf, which XS Config requires, isn't a standard win32 build tool, so automated building will fail
00:32 rurban My idea with make_ext.pl was to get rid of it for performance reasons. :) No create include makefiles for each ext, and use only one big one.
00:32 bulk88 also 90% of Config.dll is being stored in RW data section in the .dll, why isn't it all RO data (const in C)?
00:32 rurban gperf is not needed. That's why we have 2 templates, pre-generated
00:32 rurban 90% in RW? this sounds very bad, need to check the gperf options again.
00:33 rurban maybe because the tables are declared in the lookup function, not outside. but the doc says it's better inside for dll's
00:34 rurban I haven't finished my Perfect::Hash module yet, which I wanted to use instead. Then it would get really fast and small.
00:34 rurban And it would be pure-perl
00:34 bulk88 if its in the function, then the symbol is static/private without static token, that is ebtter for export everything platforms like ELF
00:35 bulk88 ill get you a pic of the problem
00:35 rurban it needs to be const, that's all
00:38 bulk88 http://imgur.com/vtvnV54
00:38 bulk88 it should be in .rdata not .data
00:38 rurban COW is ok
00:38 rurban .rdata would be better though
00:39 bulk88 COW is very unreliable on Win32
00:39 rurban Is this with DEBUGGING?
00:39 bulk88 no debugging
00:40 bulk88 DLL/EXE COW is very unreliable on Win32 and it is best to assume that optimization doesn't exist and just put "const" tags on all data vars
00:41 bulk88 there is alot of MS CRT libc boiler plate junk in each DLL and those vars are scattered in between the data vars you created, so chances are very high that most of the RW pages will be dirty
00:41 rurban sure. so we need to patch the gperf output further. no big deal. I already patch some parts there
00:42 rurban I only only looked at it on linux, and it looked fine there. Lots of memory savings, esp. with forked perl processes
00:42 rurban The shared lib alone saves us a lot
00:43 rurban .rdata will lead to much faster loading I think
00:44 rurban Do you want to add that enhancement ticket? I'll have to go to sleep now
00:44 rurban and please, not the same mistake as MD5.xs. static const, not the other way round.
01:13 j0e joined #perl11
05:33 bulk88 https://travis-ci.org/perl11/cperl/builds/80570062 race condition passing since XS COnfig is built twice probably or XS COnfig is is beuilt in prarallel with something loading COnfig.pm dueing building itself and that somethign else sees a partial file
05:33 bulk88 ill try something ewlse in the mean time
06:15 rurban joined #perl11
06:49 stephen joined #perl11
07:07 travis-ci perl11/cperl#126 (bugfix/gh39-win32 - e593875 : bulk88): The build is still failing. https://travis-ci.org/perl11/cperl/builds/80583059
07:09 sten joined #perl11
07:10 sten hi all
07:11 rurban hi
07:11 willthechill hi!
07:11 willthechill who are you?  :)
07:11 sten I tried to build cperl under windows with strawberryperl's toolchain, using gmake I got this error http://pastebin.com/vUpghezW
07:11 rurban bulk88: we need to create a proper boot_ext, with DynaLoader and Config (and later warnings)
07:12 rurban windows doesnt work yet. try the bugfix/gh39-win32 branch
07:13 rurban still working on it. lots of quirks
07:15 bulk88 i have 1 more patch set to try, configure uses config as is, win32 no configure uses make_ext . converting unix mkfile to make_Pext and remvcing boot_Pext isnt worth it
07:15 bulk88 too much time
07:16 bulk88 but i dont have my laptop out right now and im somewhere deep underground in a rail station atm
07:17 sten just tried bugfix/gh39-win32 - same issue
07:19 willthechill bulk88: yay trains!  XD
07:20 sten rurban, I told schmorp about cperl, he was surprised: "thats easily more innovation than the p5p clowns brought in half a decade or more"
07:20 sten :)
07:20 willthechill LOL
07:39 rurban I would rather say since 2002. p5p brought us the head-body merge and multideref. And that's it.
07:39 rurban I agree on the rest
07:41 rurban Still fighting with the windows buildbot: https://ci.appveyor.com/project/rurban/cperl/build/5.22.2.8/job/j0bb17rulcq3i43o
07:41 willthechill I'm fine w/ Perl v5.10
07:41 willthechill v5.6 and v5.8 were good until binary compatibility issues
07:41 willthechill anything after that is just a waste of time
07:46 bulk88 binary compatibility was a nightmare to improve anything, yearly releases are much nicer
07:47 bulk88 i cant change any flag values for better mask tests, I can't change private funcs that implement public macros to make them more efficienct, i cant make a fixed number of arg func into var arg
07:51 rurban c99 varargs are needed for our macros. die(__VA_ARGS__) for example. just a simple metaconfig probe
07:52 rurban #define die(…) Perl_die(__VA_ARGS__)
07:53 travis-ci perl11/cperl#127 (bugfix/gh39-win32 - d8ede83 : bulk88): The build was fixed. https://travis-ci.org/perl11/cperl/builds/80586066
07:53 bulk88 rurban the branch in my repo is better than the one in gh39, i fixed small details in 1 or 2 of the commits
07:54 bulk88 dont commit gh39
07:54 rurban sure. boot_DynaLoader concerns me also still
07:54 bulk88 how doe sit execute on unix perl?
07:55 rurban sit?
07:55 bulk88 *how does it execute
07:55 bulk88 dl_boot is only called from boot_DynaLoader, indirectly
07:55 bulk88 no dl_boot, no %INC entry, so use DynaLoader; fails
07:58 rurban the various DynaLoader xs do dl_private_init, this does dl_generic_private_init, which calls dl_boot()
07:59 rurban There was a bug, which prevented that on win32…
07:59 rurban But I rebased it away yesterday before your changes, so I forgot where exactly
08:00 rurban I guess lib/ExtUtils/Embed.pm it was
08:01 rurban ah, yes: e433ee91ce8a1a0a68ca113ff33119440d2e1da9 -Uusecperl: boot_DynaLoader, boot_core_xsutils()
08:01 rurban this adds boot_DynaLoader to perlmain.c
08:01 bulk88 AFK
08:01 rurban I guess win32 has it's own perlmain… so your fix sounds right
08:04 rurban our unix perlmain generator also needs to be improved, get_cv is silly
08:11 rurban Also ExtUtils::Embed, done
08:21 bulk88 newXS returns a CV *
08:21 bulk88 the 2nd get_cv needs to be removed
08:22 bulk88 your gh39 head commit
08:22 bulk88 SHA-1: d8ede838f58084c9b3ce8185f20310691a2094e6
08:22 bulk88 * win32: WIP see if porting/FindExt.t stops failing
08:22 rurban yes, just finishing up the rest also, symbian, os2, ...
08:22 bulk88 C:\sources\cperl\win32>..\cperl.exe bin\pl2bat.pl ..\utils\h2ph.PL..\utils\splai
08:22 bulk88 n..\utils\cperlbug..\utils\pl2pm config.ce..\utils\c2ph..\utils\pstruct..\utils\
08:22 bulk88 h2xs..\utils\cperldoc..\utils\cperlivp..\utils\libnetcfg..\utils\enc2xs..\utils\
08:22 bulk88 encguess..\utils\piconv..\utils\corelist..\utils\cpan..\utils\xsubpp..\utils\pod
08:22 bulk88 2html..\utils\prove..\utils\ptar..\utils\ptardiff..\utils\ptargrep..\utils\zipde
08:22 bulk88 tails..\utils\shasum..\utils\instmodsh..\utils\json_ppbin\exetype.plbin\runperl.
08:22 bulk88 plbin\pl2bat.plbin\perlglob.plbin\search.pl
08:22 bulk88 Attempt to free unreferenced scalar: SV 0x93f22c, Perl interpreter: 0x383fdc at C:/sources/cperl/lib/Config.pm line 83.
08:22 bulk88 Can't locate loadable object for module Config in @INC (@INC contains: C:/source
08:22 bulk88 s/cperl/lib .) at C:/sources/cperl/lib/Config.pm line 83.
08:22 bulk88 C:\sources\cperl\win32>
08:23 bulk88 egh, that looked liek less lines than I thought
08:25 rurban Interesting error
08:25 rurban I just pushed my updated gh39
08:26 bulk88 im not really online, i have 30 second internet at a time, so AFK-ish again
08:28 travis-ci perl11/cperl#129 (bugfix/gh39-win32 - caa099d : Reini Urban): The build was broken. https://travis-ci.org/perl11/cperl/builds/80593242
08:29 rurban Your Dummy.c is a good idea. Much better than mine
08:30 bulk88 in "ExtUtils-Embed 1.34c: optimize boot_DynaLoader" you removed the pushmark why? each xsub pops mark stack
08:30 rurban But now the Config dance begins again
08:30 rurban The boot_ also?
08:31 bulk88 an XSUB is an XSUB, check the machine code for handshake()
08:31 bulk88 or the XSUBPP output .c file
08:32 rurban This is the very first XS call, with SP=0 and MARK ditto
08:33 bulk88 boot subs are supposed to get thepackage name and version number as 1st and 2nd arg too, but dynalaoder is special cased to not look at the version number SV *
08:34 rurban I think I debugged the SP and MARK with boot_DynaLoader, esp. when debugging my warnings problems
08:41 bulk88 the regex change line in  "* win32: More win32/FindExt.pm quirks" is pointless
08:42 rurban btw: you CAN use commits. I keep them, and now the context then :)
08:42 rurban know
08:43 rurban yes, this regex is pointless, squashed it.
08:43 bulk88 diff --git a/NetWare/interface.cpp b/NetWare/interface.cpp
08:43 bulk88 @@ -106,6 +106,8 @@ static void xs_init(pTHX)
08:43 bulk88 newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
08:43 bulk88 +/* With cperl boot it now immediately */
08:43 bulk88 +boot_DynaLoader(aTHX_ cv);
08:43 bulk88 }
08:43 bulk88 what declared CV *?
08:43 bulk88 CV * cv
08:43 bulk88 and assigned to it
08:44 rurban mistake, already updated
08:46 rurban But why did travis fail on the new make_ext'd Config? need to look at the race logic again
08:47 bulk88 XS Config was buitl twice there
08:47 bulk88 the GNUMakefile  or Makefile warns Config.dll is declared/defined twice
08:47 bulk88 *unix
08:48 bulk88 *COnfig.so too much windows in my head
08:50 travis-ci perl11/cperl#130 (bugfix/gh39-win32 - adf6f90 : Reini Urban): The build is still failing. https://travis-ci.org/perl11/cperl/builds/80595965
08:55 rurban Config as proper XS really needs a seperate branch, but I'll keep it together for now
08:55 rurban I assume win32 is good, and try to fix Config now
08:56 rurban The mini/post logic needs to be added to the Config/Makefile.PL as some kind of post-build rule
09:00 basiliscos joined #perl11
09:12 bulk88 Revision: adf6f9099c455405d19c416998fc0ec6ec6554af
09:12 bulk88 Author: Reini Urban <rurban@cpanel.net>
09:12 bulk88 Date: 9/16/2015 4:24:21 AM
09:12 bulk88 Message: boot_DynaLoader now on all platforms
09:12 bulk88 ..\cperl.exe bin\pl2bat.pl *removed*
09:12 bulk88 Can't locate loadable object for module Config in @INC (@INC contains: C:/source
09:12 bulk88 s/cperl/lib .) at C:/sources/cperl/lib/Config.pm line 83.
09:12 bulk88 dmake:  Error code 130, while making 'utils'
09:13 rurban wait a sec, looks good now
09:14 rurban aargh: mingw-get' is not recognized as an internal or external command
09:14 rurban https://ci.appveyor.com/project/rurban/cperl/build/5.22.2.16/job/reu1svobawin5bra
09:16 bulk88 no comment since I dont use mingw officiall (only whatever strawberry ships)
09:16 rurban I'll switch now to msvc builds….
09:20 rurban can I dod that? nmake test TEST_JOBS=4
09:20 rurban do
09:21 travis-ci perl11/cperl#131 (bugfix/gh39-win32 - ff26834 : Reini Urban): The build is still failing. https://travis-ci.org/perl11/cperl/builds/80599176
09:22 rurban Ok, the special Config rules have to go now…
09:24 bulk88 nothing parallel on win32, no paralle building, no parallel testing, no matter what CC or makefile you use
09:24 bulk88 http://perl5.git.perl.org/perl.git/shortlog/c2c7bda0885d19e01f0d998f22d2248d7663e957 adds paralle building and should be backported one day
09:25 bulk88 ikd how to get dmake on your travis/whatever CI box
09:26 bulk88 AFK have to get off train
09:28 rurban Oh nice. will do for sure
09:45 bulk88 back, and finally on mains power (full CPU speed)
09:46 bulk88 dont commit gh39 branch to master, I need to change 2 commit messages/cleanup
09:47 bulk88 currently building " Config: regular XS extension " but an older commit since you've rebased since then
09:47 willthechill bulk88: are you at liberty to say under which continent you're railing around?
09:49 bulk88 https://twitter.com/LIRR/status/643847572218621952 :) if you actually subscribed to LIRR twitter, your phone's vibrator will be broken by the end of rush hour with the automated delay tweets
09:50 bulk88 *subscribed to it today
09:51 bulk88 I need to send a letter to the transit authority to replace https://pbs.twimg.com/media/BwuaHw_CMAAj1E1.jpg that they hand out on stuck trains with vodka, water wont help the passengers
09:52 willthechill :)
09:55 travis-ci perl11/cperl#132 (bugfix/gh39-win32 - a864285 : Reini Urban): The build was fixed. https://travis-ci.org/perl11/cperl/builds/80601380
09:59 bulk88 last week a tunnel wall collapses http://static01.nyt.com/images/2015/09/12/nyregion/DERAILMENTweb2/DERAILMENTweb2-superJumbo.jpg , and a train derails on the rubble, http://media.nbcnewyork.com/images/620*349/g+train+derailment+damage.JPG no human injuries
10:00 bulk88 the funny thing is, water leak rusted the steel brackets (lower left) https://www.flickr.com/photos/mtaphotos/21139855169/ that were holding the walkway together, and the steel braket broke the concrete fell apart, duct tape.....
10:01 bulk88 *lower right corner
10:02 bulk88 fix it, dont duct tape it, software or not software
10:08 rurban yeah, brooklyn is really ukraine 2, they need vodka on the trains
10:09 willthechill do they have vodka on the trains in the ukraine?
10:11 rurban passengers and personal do
10:11 rurban but if it's in the safety box, that's the question
10:11 rurban ukraine is not that bad as russia though
10:17 travis-ci perl11/cperl#134 (bugfix/gh39-win32+gh41 - b5ce19b : Daniel Dragan): The build failed. https://travis-ci.org/perl11/cperl/builds/80604292
10:18 travis-ci perl11/cperl#133 (bugfix/gh39-win32 - f993e65 : Reini Urban): The build was fixed. https://travis-ci.org/perl11/cperl/builds/80602101
10:19 rurban phantom fix, or phantom fail. should have passed one earlier…
10:20 rurban bulk88: I already cleaned up some commit messages. https://github.com/perl11/cperl/commit/4f993af2e55c3c902f29a42df771b753c23456fc looks good now. waiting for you, but can merge to master as it seems.
10:21 rurban oho. now it gets interesting: https://ci.appveyor.com/project/rurban/cperl/build/5.22.2.30 missing sys/types.h I remember those days…
10:35 bulk88 Revision: ff26834b06128b35abccdbbc876234535a70254b
10:35 bulk88 Author: Reini Urban <rurban@cpanel.net>
10:35 bulk88 Date: 9/16/2015 5:09:14 AM
10:35 bulk88 Message: Config: regular XS extension
10:35 bulk88 bin\search.pl
10:35 bulk88 Can't locate loadable object for module Config in @INC (@INC contains: C:/source
10:35 bulk88 s/cperl/lib .) at C:/sources/cperl/lib/Config.pm line 83.
10:35 bulk88 dmake:  Error code 130, while making 'utils'
10:36 bulk88 I will try latest
10:41 rurban if done, do you want to reword and file a PR against master?
10:41 rurban msvc setup is giving me headaches
10:49 bulk88 https://github.com/perl11/cperl/commit/4976ab5e3cc247d7fe51b240c0042ba49e4fd7ed#diff-bbefadb227d0d8935ddb38fe6f942601L2 why \n removal?
10:49 bulk88 rurban ^
10:51 bulk88 rurban there is something weird with your git client, it rebases the entire branch even tho earlier commits never changed, so the sha1s for the whole branch change, every time you do anything to the head commit
10:55 bulk88 rurban this is your https://github.com/bulk88/cperl/tree/bugfix/gh39-win32  bugfix/gh39-win32 branch with my fixed commit messages, no code changes except for 1 in my commit
10:55 bulk88 reset your branch to be equal to this one, then you can keep workong on your copy that was derived from mine
10:55 travis-ci perl11/cperl#137 (bugfix/gh39-win32 - 98a2c15 : Daniel Dragan): The build was broken. https://travis-ci.org/perl11/cperl/builds/80605843
10:58 travis-ci perl11/cperl#136 (master - 9c83e1a : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/80605822
11:08 travis-ci perl11/cperl#138 (bugfix/gh39-win32+gh41 - 4f993af : Reini Urban): The build has errored. https://travis-ci.org/perl11/cperl/builds/80605868
11:17 bulk88 7+6=13:00=lunch
11:21 travis-ci perl11/cperl#139 (bugfix/gh39-win32+gh41-smoke - 4f993af : Reini Urban): The build failed. https://travis-ci.org/perl11/cperl/builds/80611057
12:23 travis-ci RPerl build failed. Will Braswell says 'To Do List, Release Versions Update'
12:23 travis-ci https://travis-ci.org/wbraswell/rperl/builds/80618090 https://github.com/wbraswell/rperl/compare/9e688b7a7d95...aece05072544
12:30 rurban_phone joined #perl11
12:31 rurban_phone I'm lunch for 1hr.
13:52 AndChat|382025 joined #perl11
13:53 rurban joined #perl11
14:14 rurban_phone joined #perl11
14:15 rurban you should never reset a branch on which you worked on. always pull —rebase
14:17 AndChat|382025 joined #perl11
14:20 rurban I cannot find your changed commit message. Which one?
14:39 travis-ci perl11/cperl#141 (bugfix/gh39-win32+gh41-smoke - 54f0f5f : Reini Urban): The build is still failing. https://travis-ci.org/perl11/cperl/builds/80647613
15:22 travis-ci perl11/cperl#142 (bugfix/gh39-win32+gh41-smoke - 96e5c43 : Reini Urban): The build was fixed. https://travis-ci.org/perl11/cperl/builds/80653686
15:29 travis-ci perl11/cperl#143 (bugfix/gh39-win32+gh41-smoke - 3775008 : Reini Urban): The build has errored. https://travis-ci.org/perl11/cperl/builds/80655888
15:33 renormalist joined #perl11
15:57 travis-ci perl11/cperl#144 (master - cbf4d6f : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/80659499
15:58 rurban_phone joined #perl11
16:10 travis-ci perl11/cperl#145 (bugfix/gh8-cowrefcnt - c789a3a : Reini Urban): The build failed. https://travis-ci.org/perl11/cperl/builds/80666137
16:23 travis-ci perl11/cperl#146 (bugfix/gh26-qw-as-parens - c590141 : Reini Urban): The build failed. https://travis-ci.org/perl11/cperl/builds/80666157
16:53 travis-ci perl11/cperl#147 (bugfix/CM-891-rt123878-goto-die - bd39bf3 : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/80666170
17:14 travis-ci perl11/cperl#148 (master - 3519361 : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/80666192
18:10 rurban joined #perl11
18:56 stephen joined #perl11
18:59 dalek joined #perl11
19:10 rurban joined #perl11
19:17 travis-ci perl11/cperl#149 (bugfix/gh43-gperf-const - 0abd64a : Reini Urban): The build passed. https://travis-ci.org/perl11/cperl/builds/80696209
20:14 bpmedley joined #perl11
20:39 j0e joined #perl11
21:16 willthechill joined #perl11
22:23 rurban joined #perl11
22:54 bpmedley joined #perl11
23:43 travis-ci perl11/cperl#150 (bugfix/gh43-gperf-const - d369529 : Reini Urban): The build was broken. https://travis-ci.org/perl11/cperl/builds/80741740
23:50 j0e joined #perl11

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