Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[CVS ci] PLATFORMS

7 views
Skip to first unread message

Leopold Toetsch

unread,
Feb 23, 2004, 4:30:07 AM2/23/04
to P6I
Please help me fill out the blanks by sending or committing patches.
Please make sure to have the latest and best Parrot from CVS.

Thanks,
leo

Chromatic

unread,
Feb 23, 2004, 12:56:38 PM2/23/04
to Leopold Toetsch, P6I
On Mon, 2004-02-23 at 01:30, Leopold Toetsch wrote:

> Please help me fill out the blanks by sending or committing patches.
> Please make sure to have the latest and best Parrot from CVS.

I have a platform not listed. Where should I look for the appropriate
information?

-- c

Jonathan Worthington

unread,
Feb 23, 2004, 1:35:22 PM2/23/04
to Leopold Toetsch, P6I
Leo, [did try to send off list, but it bounced]

> Please help me fill out the blanks by sending or committing patches.
> Please make sure to have the latest and best Parrot from CVS.
>

Earlier today you popped a new file in CVS called PLATFORMS. Unfortunately,
there is also a directory there called platforms. Win32 (and other
platforms) aren't case sensitive; needless to say, my CVS client was more
than slightly confused. ;)

As the platforms directory seems pretty redundant, I'd say pull that and
keep the file. Platforms stuff seems to be put in config now. Or maybe it
has a secret future usage that I don't know about (it was empty as I
remember).

Thanks,

Jonathan


Leopold Toetsch

unread,
Feb 23, 2004, 2:00:47 PM2/23/04
to Chromatic, perl6-i...@perl.org
Chromatic <chro...@wgz.org> wrote:
> On Mon, 2004-02-23 at 01:30, Leopold Toetsch wrote:

>> Please help me fill out the blanks by sending or committing patches.
>> Please make sure to have the latest and best Parrot from CVS.

> I have a platform not listed.

Then lets add it. The list is for sure not complete.

> ... Where should I look for the appropriate
> information?

Create a platform name similar to existing ones. F<./myconfig> and the
output from Configure.pl + test results/skips should provide the
information to fill the line :)

> -- c

leo

Leopold Toetsch

unread,
Feb 23, 2004, 1:56:59 PM2/23/04
to Jonathan Worthington, perl6-i...@perl.org
Jonathan Worthington <jona...@jwcs.net> wrote:
> Leo, [did try to send off list, but it bounced]

>> Please help me fill out the blanks by sending or committing patches.
>> Please make sure to have the latest and best Parrot from CVS.
>>
> Earlier today you popped a new file in CVS called PLATFORMS. Unfortunately,
> there is also a directory there called platforms.

I don't have a directory named platforms in parrot root. You seem to be
missing the -P switch to cvs update.

$ find . -name platforms
$ find . -iname platforms
./PLATFORMS

> Jonathan

leo

Michael Scott

unread,
Feb 23, 2004, 4:50:42 PM2/23/04
to l...@toetsch.at, perl6-i...@perl.org
I have this problem too.

cvs [update aborted]: could not chdir to platforms: Not a directory

Same problem even if I do a new check out.

cvs [checkout aborted]: could not chdir to parrot/platforms: Not a
directory

There is no local platforms directory, yet CVS wants to go to it, so I
assume the problem is coming from the server end.

There is still a platforms directory on the server.

http://cvs.perl.org/cvsweb/parrot/platforms/

Mike

Will Coleda

unread,
Feb 23, 2004, 7:31:30 PM2/23/04
to Michael Scott, l...@toetsch.at, perl6-i...@perl.org
my .cvsrc has "update -dP", and I still get the same problem with the
platforms directory. (OS X)

--
Will "Coke" Coleda will at coleda
dot com

Chromatic

unread,
Feb 23, 2004, 8:30:34 PM2/23/04
to l...@toetsch.at, perl6-i...@perl.org
On Mon, 2004-02-23 at 11:00, Leopold Toetsch wrote:

> > ... Where should I look for the appropriate
> > information?
>
> Create a platform name similar to existing ones. F<./myconfig> and the
> output from Configure.pl + test results/skips should provide the
> information to fill the line :)

I think this is right. I don't see anything which indicates CGoto
support, and I'm guessing at thread and signal support since two of the
tests ran in each, though the others all skipped.

Linux x86 with gcc-3.3.2 also seems to work correctly.

-- c


platforms.patch

Leopold Toetsch

unread,
Feb 24, 2004, 5:15:01 AM2/24/04
to chromatic, perl6-i...@perl.org
chromatic wrote:

> On Mon, 2004-02-23 at 11:00, Leopold Toetsch wrote:
>>

[ patch ]

Thanks applied.


> I think this is right. I don't see anything which indicates CGoto
> support,

when core_ops_cg.c gets compiled, CGoto is enabled.

> ... and I'm guessing at thread and signal support since two of the


> tests ran in each, though the others all skipped.

t/pmc/threads.t
...

if ($^O eq 'linux' or $^O eq 'darwin') {
plan tests => 11;


We AFAIK don't have a config variable that states "threads are ok", so
platforms are hardcoded currently.


> Linux x86 with gcc-3.3.2 also seems to work correctly.

Yep.


>
> -- c
leo


Michael Scott

unread,
Feb 24, 2004, 6:35:23 AM2/24/04
to Will Coleda, perl6-i...@perl.org, l...@toetsch.at
Unfortunately until we get this solved those of us on dyslexic systems
can't update our local copies. So I'm waving an URGENT flag here.

After a bit of self-education on the CVS FAQ, I've come to the
conclusion that "renaming" (delete/add) PLATFORMS to PLATFORMS.txt is
the best way to solve this.

Am I right or wrong? Let those with greater knowledge speak...

Mike

Leopold Toetsch

unread,
Feb 24, 2004, 7:36:21 AM2/24/04
to Michael Scott, perl6-i...@perl.org, Robert Spier
Michael Scott <michae...@mac.com> wrote:
> Unfortunately until we get this solved those of us on dyslexic systems
> can't update our local copies. So I'm waving an URGENT flag here.

$ cvs remove -f platforms
cvs server: Removing platforms
cvs [server aborted]: could not chdir to platforms: No such file or directory

$ touch platforms

$ cvs add platforms
cvs server: cannot add file `platforms' since the directory
cvs server: `/cvs/public/parrot/platforms' already exists in the repository
cvs [server aborted]: illegal filename overlap

$ cvs remove -f platforms
cvs server: Removing platforms
cvs [server aborted]: could not chdir to platforms: No such file or directory

$root/platforms did exist some time ago, but there seem to be still trails
of it in CVS/*

> After a bit of self-education on the CVS FAQ, I've come to the
> conclusion that "renaming" (delete/add) PLATFORMS to PLATFORMS.txt is
> the best way to solve this.

Better it get fixed in CVS. There could be more errors of this kind.

> Mike

leo

Leopold Toetsch

unread,
Feb 24, 2004, 7:58:11 AM2/24/04
to perl6-i...@perl.org
Leopold Toetsch <l...@toetsch.at> wrote:
> $ touch platforms

Argghh:

$ mkdir platforms

$ cvs add platforms
Directory /cvs/public/parrot/platforms added to the repository

$ cvs ci -m"test" platforms
cvs commit: Examining platforms

$ cvs remove -f platforms
cvs server: Removing platforms

$ cvs ci -m"test" platforms
cvs commit: Examining platforms

Sh..

leo

Arvindh Rajesh Tamilmani

unread,
Feb 24, 2004, 9:06:17 AM2/24/04
to michae...@mac.com, l...@toetsch.at, perl6-i...@perl.org
>Same problem even if I do a new check out.
>
> cvs [checkout aborted]: could not chdir to
>parrot/platforms: Not a
>directory

Does the following command work?

$ cvs co '!parrot/platforms' parrot
# the order should be preserved.

>Mike

Arvindh


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools

Michael Scott

unread,
Feb 24, 2004, 9:58:31 AM2/24/04
to Arvindh Rajesh Tamilmani, perl6-i...@perl.org, Leopold Toetsch, Will Coleda

On 24 Feb 2004, at 15:06, Arvindh Rajesh Tamilmani wrote:

> Does the following command work?
>
> $ cvs co '!parrot/platforms' parrot
> # the order should be preserved.

on tcsh it gives me

cvs co '!parrot/platforms' parrot
tcsh: parrot/platforms: Event not found.

but on sh it did seem to do the trick.

cvs co '!parrot/platforms' parrot
? parrot/docs/html
U parrot/include/parrot/packfile.h
U parrot/pf/pf_items.c
U parrot/src/packfile.c
M parrot/src/stack_common.c
M parrot/types/bignum.c

Many thanks.

Mike

Jerry Gay

unread,
Feb 24, 2004, 10:00:53 AM2/24/04
to Arvindh Rajesh Tamilmani, michae...@mac.com, l...@toetsch.at, perl6-i...@perl.org
> Does the following command work?
>
> $ cvs co '!parrot/platforms' parrot
> # the order should be preserved.
>
> Arvindh
>

this works for me on win32

--jerry

**************************************************************************
This e-mail and any files transmitted with it may contain privileged or
confidential information. It is solely for use by the individual for whom
it is intended, even if addressed incorrectly. If you received this e-mail
in error, please notify the sender; do not disclose, copy, distribute, or
take any action in reliance on the contents of this information; and delete
it from your system. Any other use of this e-mail is prohibited. Thank you
for your compliance.

Michael Scott

unread,
Feb 24, 2004, 10:09:08 AM2/24/04
to perl6-i...@perl.org, Will Coleda
... and in tcsh (OS X)

cvs co '\!parrot/platforms' parrot

Mike

Arvindh Rajesh Tamilmani

unread,
Feb 24, 2004, 10:07:23 AM2/24/04
to wi...@coleda.com, perl6-i...@perl.org
>my .cvsrc has "update -dP", and I still get the
>same problem with the
>platforms directory. (OS X)

on -P, CVS prunes _empty_ directories only on its way
out (having built all the directories before that).
So -P fails in our case.

Arvindh Rajesh Tamilmani

unread,
Feb 24, 2004, 12:04:09 PM2/24/04
to perl6-i...@perl.org
>... and in tcsh (OS X)
>
> cvs co '\!parrot/platforms' parrot

a) to avoid the inconvenience of typing the above
command (with the bang sequence properly escaped) and
b) to fix the problem without _renaming_ anything,

the following lines may be added to CVSROOT/modules:

t -d parrot parrot
parrot -a !parrot/platforms t

I tried to reduce them to a single line entry,
but the closest I could get is

parrot -a !./parrot/platforms ./parrot

The (minor ?) problem with the single line version is,
when the parrot module is checked out, the current
directory effectively becomes a CVS working directory.

Arvindh

Robert Spier

unread,
Feb 24, 2004, 11:02:12 PM2/24/04
to Leopold Toetsch, Michael Scott, perl6-i...@perl.org
> > After a bit of self-education on the CVS FAQ, I've come to the
> > conclusion that "renaming" (delete/add) PLATFORMS to PLATFORMS.txt is
> > the best way to solve this.
>
> Better it get fixed in CVS. There could be more errors of this kind.

Confused. What would you like me to do?

Also.

cvs update -dP should work just fine for this.

at least it does for me. Unless -P doesn't work properly on
case-insensitive filesystems.

-R

Dan Sugalski

unread,
Feb 25, 2004, 8:01:30 AM2/25/04
to Robert Spier, Leopold Toetsch, Michael Scott, perl6-i...@perl.org
At 8:02 PM -0800 2/24/04, Robert Spier wrote:
> > > After a bit of self-education on the CVS FAQ, I've come to the
>> > conclusion that "renaming" (delete/add) PLATFORMS to PLATFORMS.txt is
>> > the best way to solve this.
>>
>> Better it get fixed in CVS. There could be more errors of this kind.
>
>Confused. What would you like me to do?

Can you delete the directory entirely from CVS?

>Also.
>
>cvs update -dP should work just fine for this.
>
>at least it does for me. Unless -P doesn't work properly on
>case-insensitive filesystems.

It doesn't work properly for this in case-insensitive file systems.
It tries doing directory things with platforms, which is at that
point PLATFORMS, which isn't at all a directory, and CVS dies with a
"platforms not a directory" error.
--
Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk

Robert Spier

unread,
Feb 25, 2004, 11:04:40 PM2/25/04
to Leopold Toetsch, perl6-i...@perl.org
> >>Better it get fixed in CVS. There could be more errors of this kind.
> > Confused. What would you like me to do?
>
> Please purge the platforms directory on the server. It collides with the
> PLATFORMS file on these poor pseudo-OS, that have case-insensitive
> filenames. (There could also still be a directory called "hints" on the
> server, it did exist some time ago. If yes please rm it too)


*POOF*

-R

Leopold Toetsch

unread,
Feb 26, 2004, 3:29:59 AM2/26/04
to perl6-i...@perl.org
Leopold Toetsch <l...@toetsch.at> wrote:
> Please help me fill out the blanks by sending or committing patches.
> Please make sure to have the latest and best Parrot from CVS.

Still a lot of platforms missing. Please ...

:r PLATFORMS

Parrot-0.0.999 was reported to compile and run tests successfuly on these
platforms:

Platform B8 Runloops Feature Compile Tests
CGoto JIT EXEC Threads Signals
---------------------------------------------------------------------
aix - Y - Y - Y Y
darwin
freebsd
hpux
?-ia64
irix6.5 Y Y Y/2
linux-amd64 8
linux-ppc-gcc3.2.3 B Y Y Y Y Y Y
linux-x86-gcc2.95.2 Y Y Y Y Y Y Y
linux-x86-gcc3.3.3 Y Y Y Y Y Y Y
openbsd Y Y/5 Y Y - Y Y
os2
solaris
tru64 8
vms
win32-bcc
win32-cygwin
win32-mingw
win32-msvc

- ... no
Y ... yes
Y/n ... tests with n failures

Platform is "OS-processor-compiler" or a unique shortcut.

B8 are Processor flags
B ... Processor is big endian
8 ... opcode_t is 8 byte, i.e. a 64 bit machine

CGoto ... CGoto runloop is supported
JIT ... JIT core is supported
EXEC ... compiling to native executables is supported
Threads . Parrot is multi-threaded
Signals . Parrot catches kind of a SIGINT (program termination) signal

Thanks,
leo

Leopold Toetsch

unread,
Feb 27, 2004, 3:27:36 AM2/27/04
to nigels...@btconnect.com, perl6-i...@perl.org
nigels...@btconnect.com <nigels...@btconnect.com> wrote:

> Here (and attached) is summary of the various make testX_imcc reports
> plus the myconfig information.

Can you please run all tests:
$ make test # or nmake
$ make testj
$ make testC
...

> Summary of my parrot 0.0.13 configuration:
> Compiler:
> cc='cl',

Could you please add some version information for 'cl'.

I've included preliminary results in PLATFORMS.

Thanks,
leo

Peter Sinnott

unread,
Feb 27, 2004, 6:19:57 AM2/27/04
to Leopold Toetsch, perl6-i...@perl.org
On Thu, Feb 26, 2004 at 09:29:59AM +0100, Leopold Toetsch wrote:
> Leopold Toetsch <l...@toetsch.at> wrote:
> > Please help me fill out the blanks by sending or committing patches.
> > Please make sure to have the latest and best Parrot from CVS.
>
> Still a lot of platforms missing. Please ...
>

Hi,

I have downloaded the snapshot dated 27-Feb-2004 00:01 from
http://cvs.perl.org/snapshots/parrot/ and tested it on hpux.

I order to get it to compile I have to revert to using inet_aton
at line 623 of io_unix.c. inet_pton was causing unsatisfied symbols
at link time.

The thread and signal tests are currently disabled for hpux.
After enabling them in the test scripts they both pass all their tests.

All tests successful, 70 subtests skipped.
Files=95, Tests=1380, 224 wallclock secs (126.22 cusr + 78.33 csys =
204.55 CPU)

Summary of my parrot 0.0.13 configuration:

configdate='Fri Feb 27 06:00:27 2004'
Platform:
osname=RISC2.0, archname=PA-RISC2.0
jitcapable=0, jitarchname=nojit,
jitosname=nojit, jitcpuarch=i386
execcapable=0
perl=perl
Compiler:
cc='gcc', ccflags='-D_HPUX_SOURCE -L/lib/pa1.1 -DUINT32_MAX_BROKEN
-I/usr/local/include',
Linker and Libraries:
ld='ld', ldflags='',
cc_ldflags='',
libs='-lnsl_s -ldld -lm -lndir -lcrypt -lsec -lpthread'
Dynamic Linking:
so='.so', ld_shared='-b',
ld_shared_flags=''
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=4 byteorder=4321,
nv=double, numvalsize=8, doublesize=8

bash-2.05$ uname -a
HP-UX gnbil2dv B.11.00 A 9000/800 unknown
bash-2.05$ gcc -v
Reading specs from
/usr/cygnus/bin/../lib/gcc-lib/hppa1.0-hp-hpux11.00/2.9-gnupro-98r2/specs
gcc version 2.9-gnupro-98r2
bash-2.05$ perl -v

This is perl, v5.6.0 built for PA-RISC2.0

--
We envision to professionally maintain progressive meta-services in order
to interactively integrate excellent catalysts for change because that
is what the customer expects

Leopold Toetsch

unread,
Feb 27, 2004, 6:46:12 AM2/27/04
to Peter Sinnott, perl6-i...@perl.org
Peter Sinnott wrote:

> I have downloaded the snapshot dated 27-Feb-2004 00:01 from
> http://cvs.perl.org/snapshots/parrot/ and tested it on hpux.
>
> I order to get it to compile I have to revert to using inet_aton
> at line 623 of io_unix.c. inet_pton was causing unsatisfied symbols
> at link time.

We need a config test here.


> The thread and signal tests are currently disabled for hpux.
> After enabling them in the test scripts they both pass all their tests.

Great thanks.

I've committed a line reading:
hpux-pa_risc2.0-gcc2.9 B - - Y Y Y*2 Y

with remark:
*2 need s/inet_pton/inet_aton/ in io_unix.c:623


Thanks,

leo


Andrew Dougherty

unread,
Feb 27, 2004, 11:51:51 AM2/27/04
to Perl6 Internals
On Fri, 27 Feb 2004, Leopold Toetsch wrote:

> Peter Sinnott wrote:
>
> > I have downloaded the snapshot dated 27-Feb-2004 00:01 from
> > http://cvs.perl.org/snapshots/parrot/ and tested it on hpux.
> >
> > I order to get it to compile I have to revert to using inet_aton
> > at line 623 of io_unix.c. inet_pton was causing unsatisfied symbols
> > at link time.
>
> We need a config test here.

Something like this ought to do the trick for now. Longer term, we need
to build up some infrastructure for testing for functions on our own. We
also need to centralize things more to avoid some of the duplication of
code and information we're ending up with here.


diff -r -u -N parrot-current/MANIFEST parrot-andy/MANIFEST
--- parrot-current/MANIFEST 2004-02-27 03:00:34.000000000 -0500
+++ parrot-andy/MANIFEST 2004-02-27 09:36:23.000000000 -0500
@@ -78,6 +78,7 @@
config/auto/format.pl []
config/auto/funcptr.pl []
config/auto/funcptr/test_c.in []
+config/auto/functions.pl []
config/auto/gc.pl []
config/auto/gc/test_c.in []
config/auto/gcc.pl []
diff -r -u -N parrot-current/config/auto/functions.pl parrot-andy/config/auto/functions.pl
--- parrot-current/config/auto/functions.pl 1969-12-31 19:00:00.000000000 -0500
+++ parrot-andy/config/auto/functions.pl 2004-02-27 09:36:56.000000000 -0500
@@ -0,0 +1,33 @@
+#! perl -w
+# Copyright: 20004 The Perl Foundation. All Rights Reserved.
+# $Id:$
+
+=head1 NAME
+
+config/auto/functions.pl - Probe for Various Functions
+
+=head1 DESCRIPTION
+
+This command probes for the existence of various functions.
+For the moment, it just pulls information from perl5's Configure;
+in the future, it ought to go looking on its own.
+
+=cut
+
+package Configure::Step;
+
+use strict;
+use vars qw($description @args);
+
+$description="Looking for various functions...";
+
+@args=();
+
+sub runstep {
+ # Do we have inet_aton() ?
+ Configure::Data->set(
+ d_inet_aton => $Config{d_inetaton},
+ );
+}
+
+1;
diff -r -u -N parrot-current/config/gen/feature_h/feature_h.in parrot-andy/config/gen/feature_h/feature_h.in
--- parrot-current/config/gen/feature_h/feature_h.in 2004-01-08 19:01:00.000000000 -0500
+++ parrot-andy/config/gen/feature_h/feature_h.in 2004-02-27 09:36:23.000000000 -0500
@@ -96,6 +96,21 @@

print OUT <<EOP;

+/* from config/auto/functions.pl */
+EOP
+if (${d_inet_aton}) {
+ print OUT <<EOP;
+#define PARROT_HAS_INET_ATON 1
+EOP
+}
+else {
+ print OUT <<EOP;
+/* #undef PARROT_HAS_INET_ATON */
+EOP
+}
+
+print OUT <<EOP;
+
/* from config/auto/inline */
EOP
if (${inline} ne '') {
diff -r -u -N parrot-current/io/io_unix.c parrot-andy/io/io_unix.c
--- parrot-current/io/io_unix.c 2004-02-19 19:00:06.000000000 -0500
+++ parrot-andy/io/io_unix.c 2004-02-27 11:09:48.000000000 -0500
@@ -617,11 +617,16 @@
{
struct sockaddr_in sa;
/* Hard coded to IPv4 for now */
- int family = AF_INET;
+#if !PARROT_HAS_INET_ATON
+ int family = AF_INET; /* for inet_pton() */
+#endif

char * s = string_to_cstring(interpreter, addr);
- /*if(inet_aton(s, &sa.sin_addr) != 0) {*/
+#if PARROT_HAS_INET_ATON
+ if(inet_aton(s, &sa.sin_addr) != 0) {
+#else
if(inet_pton(family, s, &sa.sin_addr) != 0) {
+#endif
/* Success converting numeric IP */
}
else {
diff -r -u -N parrot-current/lib/Parrot/Configure/RunSteps.pm parrot-andy/lib/Parrot/Configure/RunSteps.pm
--- parrot-current/lib/Parrot/Configure/RunSteps.pm 2003-11-27 19:00:50.000000000 -0500
+++ parrot-andy/lib/Parrot/Configure/RunSteps.pm 2004-02-27 09:36:23.000000000 -0500
@@ -4,6 +4,8 @@
use vars qw(@steps);

# EDIT HERE TO ADD NEW TESTS
+# Also update the slightly different version of this list
+# in Parrot::Configure::Docs:Section:Config.pm
@steps=qw(
init/manifest.pl
init/data.pl
@@ -23,6 +25,7 @@
auto/byteorder.pl
auto/pack.pl
auto/format.pl
+ auto/functions.pl
auto/gcc.pl
auto/isreg.pl
auto/jit.pl
diff -r -u -N parrot-current/lib/Parrot/Docs/Section/Config.pm parrot-andy/lib/Parrot/Docs/Section/Config.pm
--- parrot-current/lib/Parrot/Docs/Section/Config.pm 2004-02-26 03:00:28.000000000 -0500
+++ parrot-andy/lib/Parrot/Docs/Section/Config.pm 2004-02-27 09:36:23.000000000 -0500
@@ -66,6 +66,7 @@
$self->new_item('', 'config/auto/byteorder.pl'),
$self->new_item('', 'config/auto/pack.pl'),
$self->new_item('', 'config/auto/format.pl'),
+ $self->new_item('', 'config/auto/functions.pl'),
$self->new_item('', 'config/auto/gcc.pl'),
$self->new_item('', 'config/auto/isreg.pl'),
$self->new_item('', 'config/auto/jit.pl'),
@@ -98,4 +99,4 @@

=cut

-1;
\ No newline at end of file
+1;

--
Andy Dougherty doug...@lafayette.edu

Gordon Henriksen

unread,
Feb 27, 2004, 12:10:43 PM2/27/04
to Andrew Dougherty, Perl6 Internals
inet_pton is preferrable, as it supports IPv6. I think the code should
read either:

#if PARROT_HAS_INET_PTON
... use inet_pton ...
#else
... use inet_aton ...
#endif

or

#if PARROT_HAS_INET_PTON
... use inet_pton ...
#elsif PARROT_HAS_INET_ATON
... use inet_aton ...
#else
#error
#endif

That is, inet_pton should trump inet_aton if both are available.

On Mac OS X, the preferred technique would be to weak link with
inet_pton and test for its availability at run-time. (inet_pton is not
available on 10.1, but is available on 10.3.) This would be another case
entirely.

--

Gordon Henriksen
IT Manager
ICLUBcentral Inc.
gor...@iclub.com

Andrew Dougherty

unread,
Feb 27, 2004, 12:26:02 PM2/27/04
to Gordon Henriksen, Perl6 Internals
On Fri, 27 Feb 2004, Gordon Henriksen wrote:

> inet_pton is preferrable, as it supports IPv6.

> That is, inet_pton should trump inet_aton if both are available.

Probably, but that would require testing to see if inet_pton is available.
That information is not available from perl5's Configure, and there
currently is no infrastructure in parrot for making such a test.
Obviously that needs to change eventually.

> On Mac OS X, the preferred technique would be to weak link with
> inet_pton and test for its availability at run-time. (inet_pton is not
> available on 10.1, but is available on 10.3.) This would be another case
> entirely.

Yes, indeed, that's the sort of thing that makes testing for function
availability so much fun :-).

--
Andy Dougherty doug...@lafayette.edu

Gordon Henriksen

unread,
Feb 27, 2004, 1:36:44 PM2/27/04
to Andrew Dougherty, Perl6 Internals
Andrew Dougherty wrote:

Further, this trickery requires that such compatible builds of parrot
be built with the latest environment (where the function prototypes at
least are available)... Ah, fun, fun, fun.

nigels...@btconnect.com

unread,
Feb 27, 2004, 3:20:37 PM2/27/04
to Leopold Toetsch, perl6-i...@perl.org
27/02/2004 10:30:22, Leopold Toetsch <l...@toetsch.at> wrote:

>nigels...@btconnect.com wrote:
>
>> Compiler version:
>>
>> Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for 80x86
>
>Thanks update.
>
>
>> t\op\00ff-dos.t 255 65280 2 4 200.00% 1-2
>
>Strange
>

I've sent a patch that makes this problem "go away", though I do not understand
the cause. The 'fix' was to c&p the entire script into a new file, save it using
"codeset=ANSI" & "filetype=unix", overwriting the original.

Then the test completes without error.

Running "cvs diff -u -b" is the (attached)patch I've sent. I'll leave it to
others to interprete the diff.

>
>> c:\Perl\bin\perl.exe t\harness --gc-debug --running-make-test -C ubtests
>> failed, 10.96% okay.
>
>But -g is running. Even more Strange.
>

If I understand correctly (and it's quite likely I do not yet), the -C tests are
running with the "computed goto" core (core 4?). As far as I can determine from
some breif research on the web, msvc does not support this. Certainly, if I try
to compile config/auto/cgoto/test.c with default options I get

T:\config\auto\cgoto>cl test.c
Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for 80x86
Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.

test.c
test.c(9) : error C2059: syntax error : '&&'
test.c(12) : error C2059: syntax error : '*'

which I thought meant that this test would not be run, but I haven't figured out
what would stop it from being run when a "nmake fulltest" is invoked?

Looking through the output from "nmake testC", the only tests that are passing
are:

t\op\debuginfo..........ok
t\op\hacks..............ok
imcc\t\imcpasm\cfg......ok
imcc\t\imcpasm\opt0.....ok
imcc\t\imcpasm\opt1.....ok
imcc\t\imcpasm\opt2.....ok
imcc\t\imcpasm\optc.....ok
imcc\t\imcpasm\pcc......ok
imcc\t\imcpasm\sub......ok

These are what constitute the 10.96% passed figure, which tends to indicate that
these tests are not generally indicative of success in using the computed-goto
core (and should be placed somewhere else?).

The upshot is probably that the PLATFORMS line for this should probably now
read:

win32-ms-cl_13.00.9466 - Y/2 - - - Y Y/2

and note *1 can disappear.

I'd post a patch to this effect but I have no real confidence in my
interpretation.

>
>Thanks,
>
>leo
>
>
-- regards, Nigel.

00ff-dos.t.diff

S. Livingston

unread,
Feb 27, 2004, 3:46:53 PM2/27/04
to l...@toetsch.at, perl6-i...@perl.org
I compiled on Tru64
> uname -m -p -r -s -v
OSF1 V4.0 878 alpha

I compiled with the digital compiler, not gcc,
DEC C V5.6-075 on Digital UNIX V4.0 (Rev. 878)

I ran into the inet_pton problem described earlier. This installation
also does
not have snprintf() so I had to add an #ifdef HAS_SNPRINTF in
src/spf_render.c
to use sprintf. In src/embed.c, it did not like
if (program_code == MAP_FAILED)
so I had to change to read like in icu/source/common/umapfile.c
if(program_code == ((void *) MAP_FAILED) )

Everything else compiled fine though...

A few tests failed, I've attached the output from 'make test'.

-skip

parrot.test
myconfig

Goplat

unread,
Feb 27, 2004, 7:06:45 PM2/27/04
to perl6-i...@perl.org
--- nigels...@btconnect.com wrote:
> 27/02/2004 10:30:22, Leopold Toetsch <l...@toetsch.at> wrote:
>
> >nigels...@btconnect.com wrote:
> >
> >> Compiler version:
> >>
> >> Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for
> 80x86
> >
> >Thanks update.
> >
> >
> >> t\op\00ff-dos.t 255 65280 2 4 200.00% 1-2
> >
> >Strange
> >
>
> I've sent a patch that makes this problem "go away", though I do not
> understand
> the cause. The 'fix' was to c&p the entire script into a new file, save it
> using
> "codeset=ANSI" & "filetype=unix", overwriting the original.
>
> Then the test completes without error.
>
> Running "cvs diff -u -b" is the (attached)patch I've sent. I'll leave it to
>
> others to interprete the diff.

That defeats the whole point of 00ff-dos.t, which is to make sure parrot can
deal with lines ending in \r\n. IMO what should be done is to use \r\n in a
quoted string, instead of having the .t itself be \r\n (since that is what
was causing the problems, getting translated into \r\r\n). (See the
attachment for what I mean)

__________________________________
Do you Yahoo!?
Get better spam protection with Yahoo! Mail.
http://antispam.yahoo.com/tools

00ff-dos.t

Leopold Toetsch

unread,
Feb 28, 2004, 7:55:51 AM2/28/04
to S. Livingston, perl6-i...@perl.org
S. Livingston <ski...@yahoo.com> wrote:

> I compiled on Tru64
> > uname -m -p -r -s -v
> OSF1 V4.0 878 alpha

> I compiled with the digital compiler, not gcc,
> DEC C V5.6-075 on Digital UNIX V4.0 (Rev. 878)

> I ran into the inet_pton problem described earlier.

I've committeed this extension to config:

$ perl Configure.pl --define=inet_aton

> ... This installation


> also does
> not have snprintf() so I had to add an #ifdef HAS_SNPRINTF in
> src/spf_render.c
> to use sprintf.

Done too. Despite the comment about possible buffer overflows, *for now*
this is good enough. The buffer is 4096 bytes long. BTW in perlnum.pmc
is the same problem.

> ... In src/embed.c, it did not like


> if (program_code == MAP_FAILED)
> so I had to change to read like in icu/source/common/umapfile.c
> if(program_code == ((void *) MAP_FAILED) )

Applied.

> Everything else compiled fine though...

> A few tests failed, I've attached the output from 'make test'.

> -skip

Thanks for reporting,
leo

Leopold Toetsch

unread,
Feb 28, 2004, 7:40:24 AM2/28/04
to Andrew Dougherty, perl6-i...@perl.org
Andrew Dougherty <doug...@lafayette.edu> wrote:
> On Fri, 27 Feb 2004, Leopold Toetsch wrote:

[ inet_aton vs inet_pton ]

>> We need a config test here.

> Something like this ought to do the trick for now. Longer term, we need
> to build up some infrastructure for testing for functions on our own. We
> also need to centralize things more to avoid some of the duplication of
> code and information we're ending up with here.

Yes. I've for now expanded config_h.pl a bit:

$ perl Configure.pl --define=inet_aton,xyzzy

leads to this output in has_header.h:

/* defines from commandline */

#define PARROT_DEF_INET_ATON 1
#define PARROT_DEF_XYZZY 1

io/io_unix.c is adapted accordingly.

This is of course also a hack but could be useful to define some
features.

So for HPUX et al please run:

$ perl Configure.pl --define=inet_aton

leo

Leopold Toetsch

unread,
Feb 28, 2004, 8:03:32 AM2/28/04
to Goplat, perl6-i...@perl.org
Goplat <mrnob...@yahoo.com> wrote:

> That defeats the whole point of 00ff-dos.t, which is to make sure parrot can
> deal with lines ending in \r\n. IMO what should be done is to use \r\n in a
> quoted string, instead of having the .t itself be \r\n (since that is what
> was causing the problems, getting translated into \r\r\n). (See the
> attachment for what I mean)

Thanks, applied.
leo

Gordon Henriksen

unread,
Feb 29, 2004, 10:50:03 PM2/29/04
to Andrew Dougherty, Perl6 Internals

FWIW, this can't work across the 10.1/10.2 schizm.

http://developer.apple.com/technotes/tn2002/tn2064.html

So parrot would need to:

- either use a separate 10.1 binary (yuck),
- or forgo use of inet_pton and IPv6 on Mac OS X 10.2 even though it
is available (yuck),
- or link in at runtime a different driver DLL for 10.1 vs. 10.2
(yuck).

Roll-your-own doesn't really sound so bad. But until the implementation
is not hardcoded to IPv6, preferring inet_aton (as present) gets the
right behavior. But IPv6 can't be ignored forever.

Whatevsies.

Gordon Henriksen
mali...@mac.com

0 new messages