1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
[[!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 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]]
|