[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!meta title="Foster Perl programming"]] [[!template id=note text="""**2011-08**. A dependency loop in Debian GNU/Hurd currently leads to: *Could not perform immediate configuration on 'perl'*. Easy workaround: # apt-get install perl perl-base -o APT::Immediate-Configure=false """]] Resolve issues uncovered by Perl's test suite, and enable Hurd-specific features. There is a [[!FF_project 264]][[!tag bounty]] on this task. # Bugs in perl There is a bug in perl's putenv which makes it interact badly with fakeroot-tcp and fakeroot-sysv (not fakeroot-hurd), this shows up as this *** glibc detected *** /usr/bin/perl: free(): invalid pointer: 0x01026000 *** See http://rt.perl.org/rt3/Ticket/Display.html?id=91452 for details A workaround is to do this before building packages calling perl inside fakeroot: export FAKEROOTUID=0 FAKEROOTEUID=0 FAKEROOTSUID=0 FAKEROOTFUID=0 FAKEROOTGID=0 FAKEROOTEGID=0 FAKEROOTSGID=0 FAKEROOTFGID=0 --- # Part I First, make the language functional, have its test suite pass without errors. ## Original [[community/GSoC]] Task Description [[!inline pages=community/gsoc/project_ideas/perl_python feeds=no]] ## IRC, OFTC, #debian-hurd, 2011-11-08 <Dom> pinotree: so, with your three fixes applied to 5.14.2, there are still 9 tests failing. They don't seem to be regressions in perl, since they also fail when I build 5.14.0 (even though the buildd managed it). <Dom> What do you suggest as the way forward? <Dom> (incidentally I'm trying on strauss's sid chroot to see how that compares) <pinotree> Dom: samuel makes buildds build perl with nocheck (otherwise we'd have no perl at all) <pinotree> which tests still fail? <Dom> ../cpan/Sys-Syslog/t/syslog.t ../cpan/Time-HiRes/t/HiRes.t ../cpan/autodie/t/recv.t ../dist/IO/t/io_pipe.t ../dist/threads/t/libc.t ../dist/threads/t/stack.t ../ext/Socket/t/socketpair.t io/pipe.t op/sigdispatch.t <Dom> buildds> I see <pinotree> ah ok, those that are failing for me even with my patches <Dom> I hadn't spotted that the builds were done with nocheck. <Dom> (but only sometimes...) <Dom> Explains a lot <pinotree> syslog is kind of non-working on hurd, and syslog.t succeeds in buildds (as opposted to crash the machine...) because there's no /var/log in chroots <pinotree> libc.t appears to succeed too in buildds * Dom notices how little memory strauss has, and cancels the build, now that he *knows* that running out of memory caused the crahses <pinotree> iirc HiRes.t, io_pipe.t , pipe.t and sigdispatch.t fails because of trobules we have with posix signals <pinotree> socketpair.t is kind of curious, it seems to block on socketpair()... * Dom wonders if a wiki page tracking this would be worthwhile <pinotree> stack.t fails because we cannot set a different size for pthread stacks, yet (similar failing test cases are also in the python test suite) <Dom> if there are problems which aren't going to get resolved any time soon, it may be worth a few SKIPs conditional on architecture, depending on how serious the issue is <Dom> then we'd get better visibility of other/new issues <Dom> (problems which aren't bugs in perl, that is) <pinotree> understandable, yes <pinotree> i think nobody digged much deeper in the failing ones yet, to actually classify them as due to glibc/hurd/mach <pinotree> (eg unlike the pipe behaviour in sysconf.t i reported) ### 2011-11-26 <pinotree> cool, my recvfrom() fix also makes the perl test recv.t pass --- # Part II Next, Hurd-specific features can be added. Add an interface to the language/environment for being able to do [[RPC]] calls, in order to program [[hurd/translator]]s natively in Perl. ## Original [[community/GSoC]] Task Description [[!inline pages=community/gsoc/project_ideas/language_bindings feeds=no]]