| Author |
Message |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 23, 2005 5:36 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
..^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 23, 2005 5:36 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
..^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 23, 2005 5:36 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
..^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 23, 2005 5:36 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
..^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 23, 2005 5:36 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
..^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 10:18 am Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
Nicholas Clark wrote:
| Quote: | On Sat, Jul 23, 2005 at 03:36:39PM -0400, John E. Malmberg wrote:
How do I reproduce this?
I pulled down perl-5.9.2 and started a build and it fails with:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/List
#$d_sitecustomize USE_SITECUSTOMIZE /**/
.^
%CC-W-BADDIRECTIVE, "$d_sitecustomize" is an invalid preprocessor
directive, an
at line number 3462 in file PERL_BUILD_ROOT:[000000]config.h;1
%MMK-F-ERRUPD, error status %X10B91260 occurred when updating target
MINIPERLMA
23-JUL-2005 15:28:53
The perl 5.9.2 release is now somewhat out of date. That bug has been fixed.
And new ones introduced instead :-(
The best way to get the current source is with rsync. The master source
repository is in perforce, and there isn't anonymous access to that.
We don't tend to make snapshots, I think partly because everyone actively
developing is very happy with rsync, and partly because snapshots seem to
generate near zero feedback, suggesting the time is better spent elsewhere.
(I suspect that the widespread use of rsync helps explain the lack of
interest in specific snapshots. In effect every commit gets treated like a
snapshot)
There are a few paragraphs on what can be got with rsync in perlhack.pod:
http://search.cpan.org/~rgarcia/perl-5.9.2/pod/perlhack.pod#Keeping_in_sync
but most simply if you run
rsync -avz rsync://ftp.linux.activestate.com/perl-current/ perl/
|
I suppose it would be simple if I had a stable rsync to run. However
rsync source as supplied depends on one of those fork() things to work.
Well I will try my experimental prototype threaded version rsync. If I
run it enough times, it usually will get the stuff. I also may have to
delete some corrupted files.
Is the stuff in porting/.*.* important? It seems I have a bug in
mkstemp() to work around, nothing in that directory with a leading "."
transfered.
Aside from that, the first pass got me to:
xsutils.c
%SYSTEM-F-STKOVF, stack overflow, PC=FFFFFFFF810AD3C4, PS=0000001B
Subsequent passes hang at Changes5.6.
Maybe I got enough to do a build.
The copy of rsync source that I am using rsync to pull down is now clean
compiling, but I have to implement the POSIX thread synchronization code
before it will be usable.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 7:48 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
Abe Timmerman wrote:
| Quote: | Hi all,
Blead on VMS is still not building. This is on the hp-testdrive machine
SPE180:
CC/DECC/NOANSI_ALIAS /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/
NoList/float=ieee/ieee=denorm/Define=PERL_CORE DOIO.C
if (UNLINK(s))
....................^
%CC-W-NOTCONSTQUAL, In this statement, the referenced type of the pointer
value "(s)" is const, but the referenced type of the target of this
assignment is not.
at line number 1838 in file USER1:[ABELTJE.PERL-CURRENT]DOIO.C;1
|
Ok, I am reproducing the problem now. There seems to be two different
cases, one for if you build with -dunlink_all_versions and one with
default. My last build attempt was with -dunlink_all_versions.
In order to get more useful information in the listings when Perl is
built in debug on OpenVMS, the following patch is needed.
It gives the assembler code, and shows all the macro expansions. The
second is what I need to track down what routines are missing the
"const" modifier.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 8:08 pm Post subject:
Re: What's holding up mainperl from upgrading MakeMaker?
|
|
|
Michael G Schwern wrote:
| Quote: | On Sun, Jul 24, 2005 at 12:58:57PM -0500, Craig A. Berry wrote:
At 4:27 PM +0100 7/23/05, Nicholas Clark wrote:
However, VMS is currently failing to build even miniperl, due to its C
compiler being more stringent about const consistency than anything else
on the planet.
It's the same compiler as the Tru64 compiler, but the default options
on the build tools reflect the assumption that all warnings will be
fixed before proceeding.
Wow, it treats warnings as errors? That's... ummm-- can you turn that off?
|
It is MMK/MMS that treats the warnings as errors.
I usually run with a higher level of warnings enabled on the compiler.
That way it finds other errors, including "legal" code that has a high
probability of having a bug.
| Quote: | I'm testing a patch against blead that should get it building again.
|
Craig,
Please look at the descrip_mms.template patch that I just sent along.
With out it, the debug listings on VMS are not very useful.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 9:09 pm Post subject:
Re: blead@25210 on OpenVMS (not good)
|
|
|
John E. Malmberg wrote:
| Quote: | Abe Timmerman wrote:
Hi all,
Blead on VMS is still not building. This is on the hp-testdrive
machine SPE180:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/
NoList/float=ieee/ieee=denorm/Define=PERL_CORE DOIO.C
if (UNLINK(s))
....................^
%CC-W-NOTCONSTQUAL, In this statement, the referenced type of the
pointer value "(s)" is const, but the referenced type of the target of
this assignment is not.
at line number 1838 in file USER1:[ABELTJE.PERL-CURRENT]DOIO.C;1
|
This requires fixing in multiple places.
perl.h, util.c, and embed.fnc, and this seems to require a running perl
to rebuild proto.h
There is also an ext/Devel.PPPort/parts/embed.fnc that has a reference.
A look at this file shows that it appears to be a few generations
behind embed.fnc.
This will get the build to the next compiler warning which is the VMS
specific code in mg.c.
The VMS specific code is modifying what the compiler has been told is a
pointer to a constant, instead of making a copy and then modifying it.
It is quite possible that the Perl_my_getenv() could actually return a
pointer to non-writable memory, so if this compiler warning is
suppressed here, it could lead to an access violation at run time.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 9:16 pm Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
Craig A. Berry wrote:
| Quote: | At 5:48 PM -0400 7/24/05, John E. Malmberg wrote:
if (UNLINK(s))
....................^
%CC-W-NOTCONSTQUAL, In this statement, the
And this should take care of it. Accidentally left out of my patch of two hours ago.
--- doio.c_orig Sat Jul 23 18:54:47 2005
+++ doio.c Sat Jul 23 18:54:48 2005
@@ -1835,14 +1835,14 @@
s = SvPV_nolen_const(*mark);
APPLY_TAINT_PROPER();
if (PL_euid || PL_unsafe) {
- if (UNLINK(s))
+ if (UNLINK((char *)s))
|
Please do not do that, you are possibly introducing either a silent data
corrupter or an intermittent access violation. Both of which may be
hard to diagnose.
I would strongly recommend the patch that I posted before I received this.
The const modifier needs to be put on the unlink() wrappers, and the
prototypes that reference it.
The const modifier is also an important part of compiler optimization
and lint features.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 9:58 pm Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
John E. Malmberg wrote:
| Quote: | Craig A. Berry wrote:
At 5:48 PM -0400 7/24/05, John E. Malmberg wrote:
if (UNLINK(s))
....................^
%CC-W-NOTCONSTQUAL, In this statement, the
And this should take care of it. Accidentally left out of my patch of
|
| Quote: | I would strongly recommend the patch that I posted before I received this.
|
I accidentally left off the "-u" from GNU diff, these have the patches
in unified diff format.
Also is what I think is the fix to mg.c to resolve where it may be
attempting to modify read-only memory.
Next on the list that pp_ctl.c is is trying to pass a string constant to
tounixpath() and tounixname() to be converted to a UNIX name.
From the code optimization issue, it is better if I can just add a
const qualifier to the routines in VMS.C. I can try putting such a
qualifier in the header files and VMS.C and see what shakes out when
VMS.C gets compiled.
Has VMS.C changed any from Perl 5.8.7?
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 10:57 pm Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
Michael G Schwern wrote:
| Quote: | On Sun, Jul 24, 2005 at 07:58:27PM -0400, John E. Malmberg wrote:
Has VMS.C changed any from Perl 5.8.7?
Between bleadperl and 5.8.7? Yes. Looks like mostly elimination of
5.005threads and consting and some of that char * casting you don't like.
You can get a copy of bleadperl via FTP, rsync is just more convenient.
ftp://ftp.linux.activestate.com/pub/staff/gsar/APC/perl-current/
|
I have a copy of bleadperl that I pulled down by rsync this morning
before I left to watch one of the local minor league teams grasp defeat
from the jaws of victory.
What I do not have locally is an unpacked copy of unmodified 5.8.6 or
5.8.7. The local copies on this system already have my ODS-5, UNIX, and
POSIX fixes, so I do not have a quick way to do a diff, and vms.c got
significant changes. And since then I have discovered a small buffer
highwater mark overrun in the original code. That fix is also only on
my work copy.
All of that reference stuff is on the work server where I did the changes.
I was just trying to see if I could get this fixed quickly, while I
worked on getting the current "blead" rsync to actually run using Posix
Threads.
Removing the consting is not a good thing unless the caller of the
routine is expecting the value to be modified. More consting is better
for optimizing compilers, particularly if their target is a CPU with
pipelining and lots of registers, which is the situation for Alpha and I64.
And that includes numeric constants, where a numeric location is
initialized at compile time, and never changed by the code. Putting a
const qualifier on it can make the resulting code more efficient.
Particularly if the variable has scope outside of the module it is
defined in.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sun Jul 24, 2005 11:40 pm Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
John E. Malmberg wrote:
| Quote: | John E. Malmberg wrote:
Next on the list that pp_ctl.c is is trying to pass a string constant to
tounixpath() and tounixname() to be converted to a UNIX name.
From the code optimization issue, it is better if I can just add a
const qualifier to the routines in VMS.C. I can try putting such a
qualifier in the header files and VMS.C and see what shakes out when
VMS.C gets compiled.
|
Ok, I got to VMS.C. It and vmsish.h are going to need a bit of fixes in
order to work with the rest of Perl.
Mostly fixing it so that it has the const qualifiers that Perl expects
the wrapper and OS specific routines to have, and that also means making
sure that those routines to not modify them.
Each pass through is revealing more routines that have either have to
maintain the const attribute or make a copy of the data.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Mon Jul 25, 2005 1:00 am Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
Ok,
Here are the patches to vms.c and vmsish.h that when combined with the
other patches that I have posted will allow bleadperl to compile on VMS
up to the creation of miniperl.
I did not include the fix for the buffer high-water mark overrun as my
notes on that are at work.
The link of miniperl is failing because of an undefined symbol in the
transfer vector.
"Perl_stashpv_hvname_match".
It appears that when USE_ITHREADS is not defined, either that transfer
vector entry should not be written for VMS, or a stub routine should be
present either in util.c or vms.c
This is all I have time for tonight.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Mon Jul 25, 2005 1:20 am Post subject:
Re: [PATCH] Re: blead@25210 on OpenVMS (not good)
|
|
|
Michael G Schwern wrote:
| Quote: | On Sun, Jul 24, 2005 at 08:57:52PM -0400, John E. Malmberg wrote:
Might I suggest you check your local copies of Perl into a local version
control system? I usually use RCS for small changes to small groups of files
or I dump the whole thing into darcs for larger changes.
|
I was not intending on working on bleadperl, or doing any perl
development at home. It is just that this bug report kept showing up on
the vmsperl list, and fixing this type of bug is usually more trivial
than it turned out to be.
So I got sucked in, and was unprepared :-)
I do not have remote access to the work system, so if the code is there,
I do not have access to it until Monday.
I only put in a modified copy here last week in case I got around to
using one of the Perl scripts that potentially need it.
Now that I have a copy of bleadperl pretty much almost linking, I should
be able to keep it running.
I really need to get my copy of rsync fixed though. The quick and dirty
hacked version has some strange bugs.
I think that Craig can verify that I am probably the only one running
rsync on VMS at all.
Craig, if you can still build your snapshot of rsync I posted earlier,
modifying the pthread attributes before the thread creation to have a
stack of about 32K should hide many of the problems.
One of these days I need to get a LINUX system set up here.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|