Re: Transliteration operator(tr//)on EBCDIC platform
On Thu, 15 Sep 2005 18:31:43 +0530, Sastry [EMAIL PROTECTED] wrote Hi Sadahiro Having incorporated the changes in the doop.c and op.c I strangely get lots of failures and here are the test results. Seems like the first approach itself fails on tr// and there will certainly more failures when we run the entire test suite which uses these functions. In the second approach, the change seems to be affecting only tr// . Please let me know your suggestions for the changes which I can apply in S_scan_const() and see if it works. regards Sastry Here it is. All newer codes in toke.t are enclosed between #ifdef EBCDIC and #endif since they are redundant for ASCII platform. And I add some tests to tr.t. Regards, SADAHIRO Tomoyuki ! toke.t t/op/tr.t diff -ur [EMAIL PROTECTED]/t/op/tr.t [EMAIL PROTECTED]/t/op/tr.t --- [EMAIL PROTECTED]/t/op/tr.t Thu Aug 18 18:27:25 2005 +++ [EMAIL PROTECTED]/t/op/tr.t Sun Sep 18 19:59:13 2005 @@ -6,7 +6,7 @@ require './test.pl'; } -plan tests = 100; +plan tests = 120; my $Is_EBCDIC = (ord('i') == 0x89 ord('J') == 0xd1); @@ -259,7 +259,6 @@ # UTF8 range tests from Inaba Hiroto -# Not working in EBCDIC as of 12674. ($a = v300.196.172.302.197.172) =~ tr/\x{12c}-\x{130}/\xc0-\xc4/; is($a, v192.196.172.194.197.172,'UTF range'); @@ -272,6 +271,15 @@ ($a = \x{0100}) =~ tr/\x00-\x{100}/X/; is($a, X); +($a = \x{0100}) =~ tr/\x00-\x{101}/X/; +is($a, X); + +($a = \x{0100}\x{0101}) =~ tr/\x00-\x{102}/X/; +is($a, XX); + +($a = \x{0101}\x{0102}) =~ tr/\x00-\x{103}/X/; +is($a, XX); + ($a = \x{0100}) =~ tr/\x{}-\x{00ff}/X/c; is($a, X); @@ -303,8 +311,16 @@ is($c, 8); is($a, ); +$c = ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ tr/\x{1000}\x89-\x91/X/; +is($c, 8); +is($a, ); + +$c = ($a = \xc9\xca\xcb\xcc\xcd\xcf\xd0\xd1) =~ tr/\x{1000}\xc9-\xd1/X/; +is($c, 8); +is($a, ); + SKIP: { -skip not EBCDIC, 4 unless $Is_EBCDIC; +skip not EBCDIC, 12 unless $Is_EBCDIC; $c = ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ tr/i-j/X/; is($c, 2); @@ -313,7 +329,38 @@ $c = ($a = \xc9\xca\xcb\xcc\xcd\xcf\xd0\xd1) =~ tr/I-J/X/; is($c, 2); is($a, X\xca\xcb\xcc\xcd\xcf\xd0X); + +$c = ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ tr/\x{1000}i-j/X/; +is($c, 2); +is($a, X\x8a\x8b\x8c\x8d\x8f\x90X); + +$c = ($a = \xc9\xca\xcb\xcc\xcd\xcf\xd0\xd1) =~ tr/\x{1000}I-J/X/; +is($c, 2); +is($a, X\xca\xcb\xcc\xcd\xcf\xd0X); + +$c = ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ tr/i-j\x{1000}/X/; +is($c, 2); +is($a, X\x8a\x8b\x8c\x8d\x8f\x90X); + +$c = ($a = \xc9\xca\xcb\xcc\xcd\xcf\xd0\xd1) =~ tr/I-J\x{1000}/X/; +is($c, 2); +is($a, X\xca\xcb\xcc\xcd\xcf\xd0X); } + +($a = \xfc\xfd\xfe\xff) =~ tr/\x00-\xff/X/; +is($a, ); + +($a = \xfc\xfd\xfe\xff) =~ tr/\x{1000}\x00-\xff/X/; +is($a, ); + +($a = \xfc\xfd\xfe\xff\x{100}) =~ tr/\x{1000}\x00-\x{100}/X/; +is($a, X); + +($a = \xfc\xfd\xfe\xff\x{100}) =~ tr/\x00-\x{200}/X/; +is($a, X); + +($a = \xfc\xfd\xfe\xff\x{100}) =~ tr/\x{1000}\x00-\xff/X/c; +is($a, \xfc\xfd\xfe\xffX); ($a = \x{100}) =~ tr/\x00-\xff/X/c; is(ord($a), ord(X)); diff -ur [EMAIL PROTECTED]/toke.c [EMAIL PROTECTED]/toke.c --- [EMAIL PROTECTED]/toke.cWed Sep 14 17:40:19 2005 +++ [EMAIL PROTECTED]/toke.cMon Sep 19 12:05:41 2005 @@ -1407,6 +1407,7 @@ UV uv; #ifdef EBCDIC UV literal_endpoint = 0; +bool native_range = TRUE; /* turned to FALSE if the first endpoint is Unicode */ #endif const char *leaveit = /* set of acceptably-backslashed characters */ @@ -1429,8 +1430,14 @@ I32 i; /* current expanded character */ I32 min;/* first character in range */ I32 max;/* last character in range */ - - if (has_utf8) { +#ifdef EBCDIC + UV uvmax = 0; /* last character above byte */ +#endif + if (has_utf8 +#ifdef EBCDIC +!native_range +#endif + ) { char * const c = (char*)utf8_hop((U8*)d, -1); char *e = d++; while (e-- c) @@ -1443,12 +1450,41 @@ } i = d - SvPVX_const(sv);/* remember current offset */ +#ifdef EBCDIC + SvGROW(sv, SvLEN(sv) + (has_utf8 + ? (512 - UTF_CONTINUATION_MARK + UNISKIP(0x100)) + : 256)); + /* how many two-byte within 0..255: 128 in UTF-8, 96 in UTF-8-mod */ +#else SvGROW(sv, SvLEN(sv) + 256);/* never more than 256 chars in a range */ +#endif d = SvPVX(sv) + i; /* refresh d after realloc */ - d -= 2; /* eat the first char and the - */ +#ifdef EBCDIC + if (has_utf8) { +
[perl #37110] compiling perl 5.8.7 for win32 using free microsoft tools
[EMAIL PROTECTED] - Mon Sep 12 04:13:08 2005]: I was not aware that the Windows® Server 2003 SP1 Platform SDK can be used with WinXP (SP2). I have unfortunately not seen the remark on the downloadpage: This edition of the SDK replaces the previous SDKs for Windows XP SP2 and Windows Server 2003 and can be used to develop applications for those platforms. I think it would be a good idea to remove the link to PSDK for Win XPSP2 within the README.win32 file, because this PSDK seems really not to work and for Win XPSP2 mislead that this PSDK is the one and only suitable for WinXP (SP2). OK, I'll do something about updating those links. --- The Windows® Server 2003 SP1 PSDK indeed provides the src files within the CORE component. Unfortunately the compilation of perl 5.8.7 aborts because of another missing file: delayimp.lib Ah, you've missed a bit in the instructions. Right at the end of the section on building with the free toolkit it says: You will need to edit that file to comment-out CCTYPE = MSVC60 (since that enables delay-loading of the Winsock DLL which the free toolkit does not support) If you comment-out CCTYPE = MSVC60 like it says then delayimp.lib will no longer be required. (I don't know of anything free that provides this file, hence the instruction to simply avoid using it at all.) - Steve
[perl #37199] File::Basename Docs
# New Ticket Created by Smylers # Please include the string: [perl #37199] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37199 This is a bug report for perl from [EMAIL PROTECTED], generated with the help of perlbug 1.35 running under perl v5.8.7. - [Please enter your report here] The File::Basename docs have a mangled NAME section. I suspect this is why they aren't hyperlinked on Cpan Search: http://search.cpan.org/~nwclark/perl-5.8.7/ I have a patch which fixes this, making the NAME section follow the standard pattern (name of the module, hyphen, short description of the module as a whole) and moving the list of functions that was in the NAME section into the DESCRIPTION. While I was there I also tidied up a few other things: * stated that all the functions are exported by default * got rid of the =head1 EXAMPLES that was in the middle of the =over list of functions; the examples only apply to the =item in the list that immediately proceeds them, but having an =head1 there makes it look like the list of functions has ended, and it can be hard to spot that the list again starts after the examples * inserted =head1 FUNCTIONS to distinguish the quick list of the functions' descriptions in DESCRIPTION from the detail of each function Cheers. Smylers [Please do not change anything below this line] - --- Flags: category=docs severity=low --- Site configuration information for perl v5.8.7: Configured by ngregory at Wed Jul 6 17:34:09 UTC 2005. Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=freebsd, osvers=5.4-release, archname=i386-freebsd-64int uname='freebsd cp01.host.donhost.co.uk 5.4-release freebsd 5.4-release #0: sun may 8 10:21:06 utc 2005 [EMAIL PROTECTED]:usrobjusrsrcsysgeneric i386 ' config_args='-sde -Dprefix=/usr/local -Darchlib=/usr/local/lib/perl5/5.8.7/mach -Dprivlib=/usr/local/lib/perl5/5.8.7 -Dman3dir=/usr/local/lib/perl5/5.8.7/perl/man/man3 -Dman1dir=/usr/local/man/man1 -Dsitearch=/usr/local/lib/perl5/site_perl/5.8.7/mach -Dsitelib=/usr/local/lib/perl5/site_perl/5.8.7 -Dscriptdir=/usr/local/bin -Dsiteman3dir=/usr/local/lib/perl5/5.8.7/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dccflags=-DAPPLLIB_EXP=/usr/local/lib/perl5/5.8.7/BSDPAN -Doptimize=-O -pipe -Ud_dosuid -Ui_gdbm -Dusethreads=n -Dusemymalloc=y -Duse64bitint' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=y, bincompat5005=undef Compiler: cc='cc', ccflags ='-DAPPLLIB_EXP=/usr/local/lib/perl5/5.8.7/BSDPAN -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -I/usr/local/include', optimize='-O -pipe ', cppflags='-DAPPLLIB_EXP=/usr/local/lib/perl5/5.8.7/BSDPAN -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='3.4.2 [FreeBSD] 20040728', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='-pthread -Wl,-E -L/usr/local/lib' libpth=/usr/lib /usr/local/lib libs=-lm -lcrypt -lutil perllibs=-lm -lcrypt -lutil libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -Wl,-R/usr/local/lib/perl5/5.8.7/mach/CORE' cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib' Locally applied patches: defined-or --- @INC for perl v5.8.7: /home/smyers/lib/perl5/site_perl /home/smyers/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.7/mach /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.7/BSDPAN /usr/local/lib/perl5/5.8.7/mach /usr/local/lib/perl5/5.8.7 . --- Environment for perl v5.8.7: HOME=/home/smyers LANG=en_GB.ISO8859-15 LANGUAGE (unset) LC_COLLATE=C LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/smyers/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/games:/usr/local/controlpanel/bin:/usr/local/apache/bin PERL5LIB=/home/smyers/lib/perl5/site_perl:/home/smyers/lib/perl5 PERL_BADLANG (unset) SHELL=/usr/local/bin/bash
Re: [perl #37199] [PATCH] File::Basename Docs
Please find attached the patch I alluded to in the perlbug submission. Smylers -- May God bless us with enough foolishness to believe that we can make a difference in this world, so that we can do what others claim cannot be done. File-Basename_doc.patch Description: Binary data
Re: [perl #37190] -DT -e 'use warnings;' crashes
Nicholas Clark (via RT) wrote: Using -DT with use warnings; goes bang on OS X. I was able to get out of memory failures on FreeBSD, but everything works on x86/Linux, at least for me. I guess x86/Linux is just lucky - this seems to be a real bug, although quite where, I'm not sure. Starting gdb as gdb --args ./perl -Ilib -DT -e 'use warnings;' and running the program gives: Moreover, this makes valgrind crash, giving this warning before hanging and eating all CPU : ==13290== Warning: set address range perms: large range 171544052, a 0, v 1
Re: [perl #37102] Additional information
On 9/18/05, Geoff Mottram [EMAIL PROTECTED] wrote: The problem with regular expressions getting clobbered only occurs while running Perl with the -d (debug) option. I believe it is the sub() method of the DB.pm module that contains the regular expression that clobbers the running script's regular expression as described in my bug report. That's probable. In this case, other Devel:: modules might be affected if they use regular expressions this way. The proper fix would be somehow (hand waving follows) to save and restore the regexp context when entering a DB:: routine.
Re: t/io/fs.t triply linked issue - Test does not match comments
On 9/19/05, John E. Malmberg [EMAIL PROTECTED] wrote: When I enable hard links on VMS, it exposed that the t/io/fs.t is not testing what the comments indicate that it is testing. The correct test would be to see if the $mode of the third link matched the $mode for the original file. What the test is actually doing is testing to see if the umask function is behaving according to the UNIX definition. With VMS, setting the umask and related behaviors into the UNIX mode is not the default behavior. I need to make a change in this routine to get it to pass on VMS when hard links support is built in to Perl, it is skipped otherwise. One option is to fix the test to actually test what it claims to be testing. This could affect other platforms, but really should not. I'd like to have a patch for that. Now should the test be testing for a UNIX compliant umask()? And since VMS by default is not set to UNIX compliant, it would need to know when that pass would be expected to pass, or to when to put VMS into that mode. And, moreover, and optionnally, we could add a new test for testing umask() (there's no such test, at a first glance.) But of course it would make sense to skip it on non-UNIX platforms, including VMS.
Re: bleadperl DProf.xs:140: warning: `unused' attribute ignored
Yitzchak Scott-Thoennes wrote: bleadperl is getting: DProf.xs:140: warning: `unused' attribute ignored The following fixes it; I thought about defining a pTHX_bare in perl.h that leaves off the register and PERL_UNUSED_DECL from pTHX, but decided there really wasn't going to be a lot of other demand for it. The aTHX would have worked as is, but I thought it better to make both mentions just my_perl. --- p/ext/Devel/DProf/DProf.xs.orig 2005-07-08 10:03:01.0 -0700 +++ p/ext/Devel/DProf/DProf.xs 2005-09-18 18:13:43.028478400 -0700 Thanks, applied as change #25486.
Re: [perl #37190] -DT -e 'use warnings;' crashes
On Sat, Sep 17, 2005 at 11:31:11AM -0700, Nicholas Clark wrote: Using -DT with use warnings; goes bang on OS X. I was able to get out of memory failures on FreeBSD, but everything works on x86/Linux, at least for me. I guess x86/Linux is just lucky - this seems to be a real bug, although quite where, I'm not sure. It looks like its crashing in code I wrote, so its probably my fault. If you don't mind waiting for a couple of weeks, I'll try to have a look somretime. -- Thank God I'm an atheist.
[perl #37199] File::Basename Docs
Thanks for your bug report and patch. However, the mangled NAME section has already been fixed in the current development version of Perl, along with a great many other improvements to File::Basename and its documentation. The latest version can be found at the following URL: http://public.activestate.com/cgi-bin/perlbrowse?file=lib%2FFile%2FBasename.pmrev=
Re: RFC - VMS behavior changes proposal
On 9/18/05, John E. Malmberg [EMAIL PROTECTED] wrote: I am looking for comments on a couple of VMS specific behavior issues. Unless there are some objections, I would like to make these changes: They all seem sensible to me. (Although I don't understand the 2nd very well, but I trust the experts:) 1. Fix usage of HOME and a few other environment variables used inside of the Perl binary. Perl is assuming that the HOME and possibly some other environment variables are always in UNIX format early in the startup of the interpreter. When the CRTL is in UNIX mode, then this works, in the CRTL default mode the resulting file is an illegal filename from the combination of a VMS device and directory concatenated to a UNIX path or file. This is apparently stored and then used every time that Perl needs to look up certain types of files. I would like to make the change so that in the startup, environment variables like HOME that Perl expects to be in UNIX format are in UNIX format as I find them. These tend to get exposed while I am debugging other issue. 2. If the VMS process parse style is set to extended, then Perl will default to having the C features for EFS character sets and case preserved behavior enabled, once those modes are working. 3. If a way can be found to detect that Perl is running under the GNV bash shell in the LIB$INITIALIZE section, which means %ENV{SHELL} = bash, for Perl to default for the CRTL running UNIX filename report mode. And eventually assume that the GNV bash shell will be handling spawned commands. -John [EMAIL PROTECTED] Personal Opinion Only
Smoke [5.8.7] 25494 FAIL(m) MSWin32 WinXP/.Net SP2 (x86/2 cpu)
Automated smoke report for 5.8.7 patch 25494 Mugwump.uk.radan.com: Intel(R) Pentium(R) 4 CPU 3.40GHz(~3391 MHz) (x86/2 cpu) onMSWin32 - WinXP/.Net SP2 using ? unknown cc version smoketime 2 minutes 46 seconds (average 8.300 seconds) Summary: FAIL(m) O = OK F = Failure(s), extended report at the bottom X = Failure(s) under TEST but not under harness ? = still running or test results not (yet) available Build failures during: - = unknown or N/A c = Configure, m = make, M = make (after miniperl), t = make test-prep 25494 Configuration (common) -DINST_TOP=$(INST_DRV)\Smoke\doesntexist --- - m m m m -Dusemymalloc m m -Duselargefiles m m -Duselargefiles -Dusemymalloc m m -Duseithreads -Uuseimpsys m m -Duseithreads -Uuseimpsys -Dusemymalloc m m -Duseithreads -Uuseimpsys -Duselargefiles m m -Duseithreads -Uuseimpsys -Duselargefiles -Dusemymalloc m m -Duseithreads m m -Duseithreads -Duselargefiles | +- -DDEBUGGING +--- no debugging Locally applied patches: MAINT24637 Compiler messages(MSWin32): ..\dump.c(68) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(68) : warning C4024: 'Perl_dump_sub' : different types for formal and actual parameter 2 ..\dump.c(70) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(70) : warning C4024: 'Perl_dump_form' : different types for formal and actual parameter 2 ..\dump.c(73) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(73) : warning C4024: 'Perl_dump_packsubs' : different types for formal and actual parameter 2 ..\dump.c(303) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(303) : warning C4024: 'Perl_pv_display' : different types for formal and actual parameter 3 ..\dump.c(304) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(304) : warning C4024: 'Perl_pv_display' : different types for formal and actual parameter 3 ..\dump.c(1184) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(1184) : warning C4024: 'Perl_pv_display' : different types for formal and actual parameter 3 ..\dump.c(1185) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(1185) : warning C4024: 'Perl_pv_display' : different types for formal and actual parameter 3 ..\dump.c(1323) : warning C4090: 'function' : different 'const' qualifiers ..\dump.c(1323) : warning C4024: 'Perl_pv_display' : different types for formal and actual parameter 3 ..\gv.c(736) : warning C4090: 'function' : different 'const' qualifiers ..\gv.c(736) : warning C4024: 'Perl_is_utf8_idcont' : different types for formal and actual parameter 2 ..\gv.c(736) : warning C4024: 'Perl_is_utf8_digit' : different types for formal and actual parameter 2 ..\locale.c(535) : warning C4090: 'function' : different 'const' qualifiers ..\locale.c(535) : warning C4024: 'Perl_parse_unicode_opts' : different types for formal and actual parameter 2 ..\mg.c(1771) : error C2275: 'STRLEN' : illegal use of this type as an expression ..\mg.c(1771) : error C2146: syntax error : missing ';' before identifier 'n_a' ..\mg.c(1771) : error C2065: 'n_a' : undeclared identifier ..\mg.c(2102) : warning C4090: 'function' : different 'const' qualifiers ..\mg.c(2102) : warning C4024: 'Perl_get_debug_opts_flags' : different types for formal and actual parameter 2 -- Report by Test::Smoke v1.19_72 build 895 running on perl v5.9.3 (Reporter v0.026 / Smoker v0.026) Radan Computational Ltd. The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email.
Re: Lots of warnings building [EMAIL PROTECTED]
On Sat, 17 Sep 2005, Nicholas Clark wrote: I don't think that glibc has clean enough headers to allow perl to compile with -ansi -pedantic on Linux - I was doing it on FreeBSD, which does. So now I want valgrind dtrace gdb that works with threads *and* clean system headers all on the same platform. Is this too much to ask? (What are the system headers like on Solaris x86? Is anyone porting valgrind to it? This seems like the path of least resistance) I don't know about the x86 version, but at least in Solaris 8/SPARC, the system headers won't work with -ansi -pedantic. I'd be surprised if things were any different on Solaris 10/x86. -- Andy Dougherty [EMAIL PROTECTED]
[EMAIL PROTECTED] on cygwin looks pretty good
I see Nicholas Clark has been hard at work integrating patches into perl5.8.x. Trying a build on cygwin at patch 25494 passes all tests except for op/layers.t, which should be fixed once 24764 is integrated. It would be nice if the version number could be bumped to 5.8.8 soon; I inadvertently installed over my 5.8.7 :)
Re: [EMAIL PROTECTED] on cygwin looks pretty good
On Mon, Sep 19, 2005 at 12:45:33PM -0700, Yitzchak Scott-Thoennes wrote: I see Nicholas Clark has been hard at work integrating patches into perl5.8.x. Trying a build on cygwin at patch 25494 passes all tests except for op/layers.t, which should be fixed once 24764 is integrated. Ooh. Thanks for testing this. I see from Steve Hay's smoke that I broke Win32. But I've not yet worked out why/how to fix it. It would be nice if the version number could be bumped to 5.8.8 soon; I inadvertently installed over my 5.8.7 :) Until such time as someone figures out how to make maint type releases highly visible in the version number (or at least the -v output) I intend to continue refraining from bumping the version number until the first release candidate. It's something I've had no inspiration for. It's the first task mentioned in the TODO for the category Tasks that need a little C knowledge http://public.activestate.com/cgi-bin/perlbrowse?file=pod%2Fperltodo.podrev= (been moderately hard at work reordering the TODO to put the easier things earlier) Nicholas Clark
Problems building 64-bit Perl 5.8.7 on AIX 5.2
I am trying to build Perl 5.8.7 on AIX 5.2. I can build Perl as long as I do not define use 64-bit all. If I try and build a version with full 64-bit support I get the following error somewhere down in the compile: CCCMD = cc_r -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem =-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -I/usr/local/inclu de -q64 -DUSE_64_BIT_ALL -q64 -O cc_r -brtl -bdynamic -bmaxdata:0x8000 -L/usr/local/lib -q64 -b64 -o miniperl_nonshr miniperlmain.o \ opmini.o libperl_nonshr.a -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc -lbsd ld: 0711-317 ERROR: Undefined symbol: .flock ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: *** [miniperl_nonshr] Error 8 Any idea what is going on here? I am building with threads, but building without threads gives the same error. I am using the IBM compiler. Attempting to build Perl with GCC gives an error -b must be first when it tries to build a test program. I can post much more detailed information if you want it. Google searches have not resulted in any answers, only more questions. Thanks. -- The ODS Companies Alan Olsen Software Engineer (503) 228-6554 http://www.odscompanies.com http://www.odscompanies.com/ This message is intended for the sole use of the individual and entity to whom it is addressed, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the intended addressee, nor authorized to receive for the intended addressee, you are hereby notified that you may not use, copy, disclose or distribute to anyone the message or any information contained in the message. If you have received this message in error, please immediately advise the sender by reply email and delete the message.
Perl5 Bug Summary
Nick takes the lead! Requestors with most open tickets Nicholas Clark40 [EMAIL PROTECTED] 39 Mark-Jason Dominus25 Stas Bekman 15 David Dyck14 [EMAIL PROTECTED] 13 Tom Christiansen 12 Dan Jacobson 9 Zefram 8 Yitzchak Scott-Thoennes8 Perl5 Bug Summary http://rt.perl.org/rt3/NoAuth/perl5/Overview.html Generated at Mon Sep 19 13:00:05 2005 GMT --- * Total Issues * New Issues * Overview of Open Issues * Ticket Status By Version * Requestors with most open tickets --- Total Issues Open Tickets: 1513 --- New Issues New issues that have not been responded to yet 1 - 2 weeks old 37144 Data crash when executing substitution on the Perl debugger 37140 Building recent Perl on Mac OSX 37138 using XSUB as DB::DB causes perl to crash 37119 SelfLoader/fork() gotcha 2 - 3 weeks old 37058 script produces segfault (testcase attached) 37033 open2 oddity with eval ... and STDIN closed 3 - 4 weeks old 36999 Segfault in simple regular expression 4 - 5 weeks old 36949 Small error in Encode manpage 36937 Perl Bug durring test stage of install on Windows XP -- included source of error and possible fix 36909 $^R undefined on matches involving backreferences 36908 ?{ ...}) code loses local vars on subsequent matches 5 - 6 weeks old 36896 autouse + DProf == segmentation fault 36890 Missing ;. (nosemi) 36889 Missing warning for bogus dirhandle name 36875 Certain string handling functions don't warn on undef 36837 B::Deparse fails when it comes to ByteLoader programs 6 - 7 weeks old 36815 [PATCH] warnings.pl/pm: Croaker function: bug (perl v5.8, v5.9) 36795 Dprof/dprofpp reports incorrect subroutine call count if #Calls 99 7 - 8 weeks old 36691 string captured into $1, $2,... in pattern match sometimes have utf8 bit on and sometimes off. Even for the same patternmatch arguments 36689 =, |= and ^= overloads are nbot documented 36675 -'-10' eq '+10' 36664 Strange behavior of shared array 36653 POSIX::SigSet double free with threads 8 - 9 weeks old 36630 open =fd does not work like fdopen 36614 Build fails on NonStop-UX 9 - 10 weeks old 36539 Edge cases in find_perl algorithms 36516 attributes.pm documentation is recursive and incomplete 36513 Pod::Html exports two undocumented functions 10 - 11 weeks old 11 - 12 weeks old 36430 Sort within a sort does not set $a, $b 12 - 13 weeks old 36347 Object destruction incomplete 13 - 14 weeks old 36333 sort CONSTANT exhibits weird behavior 36291 incorrect $! from open nr with too many open files 14 - 15 weeks old 36248 print does not respect use encoding 'utf8' 36229 Bizarre copy of IO 15 - 16 weeks old 36094 Wrong line
Re: Perl5 Bug Summary
On Mon, Sep 19, 2005 at 01:16:34PM -0700, Robert Spier wrote: Nick takes the lead! Anyone would think that I programmed in Perl. (instead of on perl) Nicholas Clark
This Week on perl5-porters (12-18 September 2005)
This Week on perl5-porters - 12-18 September 2005 Nicholas Clark announced the plan for perl 5.8.8, so it was only fitting that someone should post a question asking how to compile 5.004. Elsewhere there continued to be lots of discussion of VMS, carrying on from last week. All told, a fairly busy week with lots of single post threads, which made summarising a bit difficult. 5.8.8 is Coming Nicholas Clark posted a plan for 5.8.8. The deadline for changes (in blead, to be integrated in maint) is 16th October 2005. He will be mostly incommunicado for the first weeks of October, but explained that it isn't a problem. Fixes of bugs in pseudohashes and 5.005 threads go directly to maint and little else does. Steve Peters suggested that changes to re-entrant functions could be another exception, but for Nicholas it would have to wait for someone to figure out how to merge the code. http://xrl.us/hn2o The Current TODO http://mirrors.develooper.com/perl/APC/perl-current/pod/perltodo.pod New Core Module Releases Jarkko Hietaniemi, fulfilling the promise of last week's Math::Complex atan2 bug thread, announced a patch with several pending updates for Math::Complex and Math::Trig. The result of atan2(0,0) is now documented as being dependent on the underlying library. Nadeem Douba pointed what he called a small technical bug. He called for an optional argument, rho, to the subroutine great_circle_destination and explained the rationale of a solution. Jarkko countered that he was confused by the proposal, which does not fit the usual concept of radians. The default coordinate system cannot be changed without breaking existing code and there is no *correct* spherical coordinate system. He proposed a special export tag as a possible way to incorporate Nadeem's suggestion. John Peacock released version-0.48 to CPAN and a corresponding patch vs. bleadperl. A pure Perl implementation is coming and John hopes he soon will be done with this project. But before that, the PAUSE indexer needs to be fixed and CPANPLUS, CPAN, Module::Build patched to use version.pm fulltime. Zlib on VMS The efforts to make Compress::Zlib work in blead on VMS continue. A long thread developed involving John E. Malmberg, Paul Marquess (Compress::Zlib), Tom Hughes (IO::Zlib), Jarkko Hietaniemi (external gzip support in IO::Zlib). It seems there are a zillion options to configure VMS Unix emulation and not all of these are handled gracefully by the Perl source code. Uncertainty concerning the differences of environment remains. The thread went on under the subject Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c where John Malmberg and Paul Marquess continued the detective work. John's last message is investigating a possible problem with glob() on VMS which can be responsible for some of the test failures. It was found that by just removing leading ./ from directory variables on a test script made all its tests to pass. Craig Berry explained how limited is the home-grown glob() on VMS and John Malmberg notices that, as of OpenVMS 7.3-2, a glob() function is provided in the C library that is better be used on releases that supported it. Paul Marquess and John Malmberg went on to discuss issues on the consistency of VMS conversions and how it could be made better. Peter Prymer confirmed some VMS oddities on filename handling. ZLIB 2.0 / Blead 25366 on VMS http://xrl.us/hn2p More VMS Issues John E. Malmberg spotted a bug on the VMS specific Perl_cando() and squashed it with patch @25388. H. Merijn Brand applied it. The patch http://xrl.us/hn2q John also confirmed ExtUtils::CBuilder 0.13_01 tests ok. http://xrl.us/hn2r He added a few comments on the discussion with Ken Williams about an enhanced file spec handling for current VMS versions. The week closed with the posting by John Malmberg of an RFC proposing some VMS behavior changes. Apparently those changes may improve the consistency and precision of VMS perl. http://xrl.us/hn2s Fiddling with the Bloody Grammar After the closing act of Michael Schwern, there was some subsequent traffic. Randal Schwartz discussed using for example, such as, and so on to say precisely what we mean. He thought it may be used as a general guideline for future writings, without crusades to fix it in the past. There was silence for a while. And then David Nicol offered a 92K patch over 5.9.2 replacing every e\.?g\.? and i\.?e\.? with *for example* and *that is*. Adding commas and removing Iitalics were left as an exercise for some willing person. No one volunteered. Michael closes http://xrl.us/hn2t Randal's advice http://xrl.us/hn2u Chainsaw patch http://xrl.us/hn2v OS X 10.4 Issues make test for maint on OXS 10.4 fails lib/locale.t. Randal says: At least it fails on
Re: [EMAIL PROTECTED] on cygwin looks pretty good
Nicholas Clark wrote: It's the first task mentioned in the TODO for the category Tasks that need a little C knowledge http://public.activestate.com/cgi-bin/perlbrowse?file=pod%2Fperltodo.podrev= (been moderately hard at work reordering the TODO to put the easier things earlier) Can't we just have any Perl that is built with PERL_PATCHNUM defined emit blue smoke from the monitor? That isn't #define'd except when building from p4 (or the mirrors). Something like this (not complete since it ignores the DGUX branch): === perl.c == --- perl.c (revision 18194) +++ perl.c (local) @@ -3179,8 +3179,14 @@ (void *)upg_version(PL_patchlevel); #if !defined(DGUX) PerlIO_printf(PerlIO_stdout(), - Perl_form(aTHX_ \nThis is perl, %SVf built for %s, + Perl_form(aTHX_ +#if defined(PERL_PATCHNUM) + \nThis is perl, %SVf-DEVEL%d built for %s, + vstringify(PL_patchlevel), PERL_PATCHNUM, +#else + \nThis is perl, %SVf built for %s, vstringify(PL_patchlevel), +#endif ARCHNAME)); #else /* DGUX */ /* Adjust verbose output as in the perl that ships with the DG/UX OS from EMC */ John -- John Peacock Director of Information Research and Technology Rowman Littlefield Publishing Group 4501 Forbes Boulevard Suite H Lanham, MD 20706 301-459-3366 x.5010 fax 301-429-5748
oddity in op.c
Merijn notices this line in 5.8.x in S_new_logop if ((type == OP_AND) == (SvTRUE(((SVOP*)first)-op_sv))) { It's wonky. It seems to be wrong. But it's been that way since 5.8.0 started. The corresponding point in blead is if ((type == OP_AND SvTRUE(((SVOP*)first)-op_sv)) || (type == OP_OR !SvTRUE(((SVOP*)first)-op_sv)) || (type == OP_DOR !SvOK(((SVOP*)first)-op_sv))) { This was patched by Marcus Holland-Moritz, changing that == to in the process: http://public.activestate.com/cgi-bin/perlbrowse?patch=22625 Presumably '==' is wrong. But if this is a bug, how can it be detected with a perl level regression test? Nicholas Clark
RE: oddity in op.c
On Mon, 19 Sep 2005, Nicholas Clark wrote: Merijn notices this line in 5.8.x in S_new_logop if ((type == OP_AND) == (SvTRUE(((SVOP*)first)-op_sv))) { It's wonky. It seems to be wrong. But it's been that way since 5.8.0 started. The corresponding point in blead is if ((type == OP_AND SvTRUE(((SVOP*)first)-op_sv)) || (type == OP_OR !SvTRUE(((SVOP*)first)-op_sv)) || (type == OP_DOR !SvOK(((SVOP*)first)-op_sv))) { This was patched by Marcus Holland-Moritz, changing that == to in the process: http://public.activestate.com/cgi-bin/perlbrowse?patch=22625 Presumably '==' is wrong. But if this is a bug, how can it be detected with a perl level regression test? If type can *only* be either OP_AND or OP_OR, then the code is actually equivalent as far as I can tell. The second form is just more robust in case type can assume any other value. Cheers, -Jan
Re: lib/test/simple/t/create.t help with VMS issue needed.
On Fri, Sep 16, 2005 at 08:47:42PM -0400, John E. Malmberg wrote: Anything happening with this for the 5.8.8 timeframe? I guess I can kick 0.61 out the door. -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet!
Re: BUG: MAKEMAKER 6.30_01 and blead in MM_UNIX.pm for VMS
On Sun, Sep 18, 2005 at 11:52:20PM -0400, John E. Malmberg wrote: As there is no false command on VMS, this is causing rerunning a make to fail. Would adding the following line before the return $m be the fix for this? Or is something else needed to make sure only the last line is removed? $m =~ s/false\n// if $IsVMS; I see a number of uses of false in MM_Unix. Rather than throw in more VMS exceptions (blech) I'll make a $(FALSE) which can be something safe like perl -e 'exit 1' -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet!
Re: [EMAIL PROTECTED] VMS fixes for cbuilder
On Sep 13, 2005, at 7:53 PM, John E. Malmberg wrote: Ken Williams wrote: On Sep 12, 2005, at 11:12 PM, John E. Malmberg wrote: Ken Williams wrote: Thanks, John. I've applied your patch (in a slightly modified form) and released a new beta, 0.13_01. It would be great if you (and/or a couple other people on the vmsperl list) could try it out, and then I can release 0.14 when it checks out. I just pulled the Platform/vms.pm over and ran all the Extutils tests with it and they all pass Okay, I've just uploaded it as version 0.14. Thanks for your help. -Ken
Upgrade MakeMaker in maint
Maint is still using MakeMaker 6.17 which is now TWO YEARS OLD! Last I checked there was some VMS failure or another possibly tied to File::Find but I don't have details. I really rather 5.8.8 not go out with 6.17 again, 6.30 is good and stable. Can we just take the plunge, put 6.30 into maintperl and work out the glitches? -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern Insulting our readers is part of our business model. http://somethingpositive.net/sp07122005.shtml
Re: Upgrade MakeMaker in maint
Michael G Schwern wrote: Maint is still using MakeMaker 6.17 which is now TWO YEARS OLD! Last I checked there was some VMS failure or another possibly tied to File::Find but I don't have details. I really rather 5.8.8 not go out with 6.17 again, 6.30 is good and stable. Can we just take the plunge, put 6.30 into maintperl and work out the glitches? As 6.30 appears to be in blead-perl now, I do not see any File::Find issues. The only issues I am seeing are resolved in cpan #14657 and the issue about the false command that you are looking at in your previous message. And this issue only seems to affect a test, and not building Perl: If the logical name BIN is defined on the VMS system, as the GNV product does on it's installation, then the following needs to be defined for the script lib/ExtUtils/t/basic.t to pass test 67. $define decc$disable_to_vms_logname_translation ENABLE Otherwise subdirectories named bin/ can not be accessed if they are the start of a relative path in UNIX notation and a logical name bin also exists. I am looking at adding the ability to set/read these features to the vmsish module as it seems the natural place for them. I just completed a test build with hard links and other new VMS 8.2 features enabled, and all the make-maker tests still passed. -John [EMAIL PROTECTED] Personal Opinion Only
Re: t/io/fs.t triply linked issue - Test does not match comments
Rafael Garcia-Suarez wrote: On 9/19/05, John E. Malmberg [EMAIL PROTECTED] wrote: When I enable hard links on VMS, it exposed that the t/io/fs.t is not testing what the comments indicate that it is testing. The correct test would be to see if the $mode of the third link matched the $mode for the original file. What the test is actually doing is testing to see if the umask function is behaving according to the UNIX definition. With VMS, setting the umask and related behaviors into the UNIX mode is not the default behavior. It appears that the behavior I was seeing before was an artifact of a pre-release version of OpenVMS that was fixed in a released version. I am trying to reproduce the failure now, and can not. As soon as a program calls umask() in the C library, the C library assumes that they want to use the UNIX mode. It is only if umask() is not called that the OpenVMS defaults are used instead of the UNIX defaults. One option is to fix the test to actually test what it claims to be testing. This could affect other platforms, but really should not. I'd like to have a patch for that. I can look into that. First, I want to submit the changes for enabling hard links and other VMS 8.2 features. Now should the test be testing for a UNIX compliant umask()? And since VMS by default is not set to UNIX compliant, it would need to know when that pass would be expected to pass, or to when to put VMS into that mode. And, moreover, and optionnally, we could add a new test for testing umask() (there's no such test, at a first glance.) But of course it would make sense to skip it on non-UNIX platforms, including VMS. If it is has hard links enabled and is passing test 5 of the io/fs.t test then it already is passing the Posix compliance. If nothing else, I will probably want to submit a patch so that the comments actually document what is being tested as I was very confused when I first saw the failure. -John [EMAIL PROTECTED] Personal Opinion Only
[EMAIL PROTECTED] Add hard link and V8.2 crtl support to VMS.
This patch adds the ability to build Perl on 64 bit VMS V8.2 with support for hard links, and the newer CRTL features. Changes to configure.com: 1. Protect the link operations for the tests from someone aliasing the link command to default for a /DEBUG build. 2. Allow override of the make being chosen. Currently only MMK or MMS are known to work for the build procedure. 3. Three prompts were waiting for input even when no additional prompt operation is selected. With output redirected to a command file, there was no explanation of what was being prompted for. Now no additional prompt mode really has no additional prompts. 4. Remove /00 from UNIX format names of VMS root directories. These should not be there as if they are passed to a C library routine they are an illegal syntax. vmsify() knows to remove these and this is why they usually have not caused problems. 5. Selecting maximal 64 bit mode also enables large file operation. 6. Removed second check for strtoq. 7. Add tests to see if hard links are enabled on the build volume and supported by the version of VMS and if pass enable hard links. 8. Add tests for symbolic link support for future version of VMS, which will only be enabled if large file operation is also enabled. 9. Add VMS 7.3-2 CRTL routines: getgrdid_r, getpgid, getpgrp, getpwnam_r, getpwuid_r, setgrent, ttyname_r, but only on 64 bit VMS 8.2 because I am not able to test the builds on earlier versions. 10. Prep for future support of seteuid, setpgid, setpgrp, seetregid, setreuid, setsid found in 7.3-2. 11. Add support for 64 bit VMS 8.2 fstatvfs and sockpair routine. 12. Add dormant support for _USE_STD_STAT option. Currently the values returned by stat() functions on VMS are not POSIX compliant, and Perl on VMS has some hacks to make it look like they are POSIX compliant. In the future it may be needed to for Perl to use the C library standard stat instead of the VMS hacks. This makes the support easy to add later. 13. Better Posix/UNIX filename support in VMS 8.2 requires using the CRTL provided dirent.h header definition. 14. Optional (and mostly undocumented) method of generating a PERL_SETUP.COM that can be put in a binary distribution kit. Changes to vms/descrip_mms.template: 1. Add support for _USE_STD_STAT option. 2. cleanup of extra.pods was missing from the REALCLEAN target. Changes to x2p/s2p.PL: 1. $0 parameter on VMS could be in unknown case, so it needs to be lower cased to for parameter to work when VMS is in case sensitive or case preserved mode. 2. The link command needs to use the same filename as the fall back copy command. -John [EMAIL PROTECTED] Personal Opinion Only --- configure.com_25502 Mon Sep 19 23:35:06 2005 +++ configure.com Sun Sep 18 22:38:33 2005 @@ -37,7 +37,7 @@ $ cat = type $ delete := delete ! local symbol overrides globals with qualifiers $ gcc_symbol = gcc -$ ld = Link +$ ld = Link/nodebug $ ans = $ macros = $ extra_flags = @@ -45,6 +45,7 @@ $ use_ieee_math = y $ be_case_sensitive = n $ unlink_all_versions = n +$ builder = MMK $ use_vmsdebug_perl = n $ use64bitall = n $ use64bitint = n @@ -790,7 +791,12 @@ brackets; typing carriage return will give you the default. $ EOD -$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ if (fastread) +$ then +$ echo4 +$ else +$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ endif $ TYPE SYS$INPUT: $ DECK @@ -800,7 +806,12 @@ options. $ EOD -$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ if (fastread) +$ then +$ echo4 +$ else +$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ endif $ TYPE SYS$INPUT: $ DECK @@ -821,7 +832,12 @@ $!If you make a mistake on a question, there is no easy way to back up to it $!currently. $! -$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ if (fastread) +$ then +$ echo4 +$ else +$ READ SYS$COMMAND/PROMPT=Type carriage return to continue ans +$ endif $ IF (F$SEARCH([-.CONFIG]INSTRUCT.).EQS.) $ THEN $ OPEN/WRITE CONFIG [-.CONFIG]INSTRUCT. @@ -840,7 +856,7 @@ $! echo Go find a public domain implementation or fix your PATH setting! $! echo $! echo Don't worry if any of the following aren't found... -$!: determine whether symbolic links are supported !sfn +$!: determine whether symbolic links are supported !sfn !jem- further down $!: see whether [:lower:] and [:upper:] are supported character classes !sfn $!: set up the translation script tr, must be called with ./tr of course !sfn $! @@ -885,6 +901,7 @@ $ config_symbols2 =|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|try_cxx|use64bitall|use64bitint| $ config_symbols3 =|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|usemultiplicity|usemymalloc|usedebugging_perl|useperlio|usesecurelog|