Re: OpenVMS V7.2-1H1 configure.pl results using the defaults
On Mon, Apr 01, 2002 at 07:00:57AM -0800, Charles Bunders wrote: > Checking some things by compiling and running another small C program (this > could take a while): > > Building ./testparrotsizes.cfrom testparrotsizes_c.in... > > #include "parrot/parrot.h" > ..^ > %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include > directive. > at line number 9 in file TESTPARROTSIZES.C;1 > C compiler died! at (eval 1) line 13. > %RMS-E-FNF, file not found This problem came up a few weeks ago. http:[EMAIL PROTECTED]/msg08963.html If I'm reading it correctly, it seems one can't mix Unix and VMS path styles between your INCLUDE_DIRECTORY and header files. So this combination will work: CC/DECC /INCLUDE=("./include") testparrotsizes.c #include "parrot/parrot.h" but this will not: CC/DECC /INCLUDE=("[.include]") testparrotsizes.c #include "parrot/parrot.h" which just seems wrong. It has to be wrong, because Perl5 builds with things like: CC/DECC/NOANSI_ALIAS /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm_results /Include=([],[.ext.dynaloader])/Object=[.EXT.DYNALOADER]DL_VMS.OBJ [.EXT.DYNALOADER]DL_VMS.C Ahh, here's something I didn't notice before. compiletestc() is coming from hints/vms.pl. It's different from the one in Configure.pl most significantly in that it doesn't tell you what the command was. Fixing that, we get: C compiler died! Command was 'CC/DECC /Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/include=([.include],"/here") testparrotsizes.c' now what's that "/here" thing doing there? Taking it out doesn't fix things. I'm stumped. I'll go ask on VMSperl. -- Michael G. Schwern <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One I'm successful because I'm lucky. The harder I work, the luckier I get.
OpenVMS V7.2-1H1 configure.pl results using the defaults
Configure.pl had a few problems. Thought I would send it to the list. Below this is a 'perl -"V"' if you want to know that info. Thanks... Parrot Version 0.0.4 Configure Copyright (C) 2001-2002 Yet Another Society Since you're running this script, you obviously have Perl 5--I'll be pulling some defaults from its configuration. Checking the MANIFEST to make sure you have a complete Parrot kit... Okay, we found everything. Next you'll need to answer a few questions about your system. Defaults are in square brackets, and you can hit enter to accept them. If you don't want the default, type a new value in. If that new value starts with a '+', it will be concatenated to the default value. What C compiler do you want to use? [CC/DECC] How about your linker? [Link] What flags would you like passed to your C compiler? [/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/include=([.incl ude],"/here")] What flags would you like passed to your linker? [/NoTrace/NoMap] Which libraries would you like your C compiler to include? [ ] How big would you like integers to be? [long] And your floats? [double] What is your native opcode type? [long] Now I have to find out what opcode files you would like to compile into your Parrot. The following opcode files are available: core.ops io.ops obscure.ops rx.ops WARNING: Bad Things may happen if the first file on the list isn't core.ops. WARNING: These file names will not be checked for spelling, and typing them wrong will force you to run Configure again. WARNING: I worry way too much about Configure users. Which opcode files would you like? [core.ops io.ops rx.ops] Determining if your C compiler is actually gcc (this could take a while): Your C compiler is not gcc. Probing Perl 5's configuration to determine which headers you have (this could take a while on slow machines)... Determining C data type sizes by compiling and running a small C program (this could take a while): Building ./test.c from test_c.in... Figuring out what integer type we can mix with pointers... We'll use 'unsigned int'. Building a preliminary version of include/parrot/config.h, your Makefiles, and other files: Building include/parrot/config.hfrom config_h.in... Building ./Makefile from Makefile.in... Use of uninitialized value in substitution iterator at configure.pl line 811. Building ./classes/Makefile from classes/Makefile.in... Building ./docs/Makefilefrom docs/Makefile.in... Building ./languages/Makefile from languages/Makefile.in... Building ./languages/jako/Makefile from languages/jako/Makefile.in... Building ./languages/miniperl/Makefile from languages/miniperl/Makefile.in... Building ./languages/scheme/Makefilefrom languages/scheme/Makefile.in... Building lib/Parrot/Types.pmfrom Types_pm.in... Building lib/Parrot/Config.pm from Config_pm.in... Checking some things by compiling and running another small C program (this could take a while): Building ./testparrotsizes.cfrom testparrotsizes_c.in... #include "parrot/parrot.h" ..^ %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive. at line number 9 in file TESTPARROTSIZES.C;1 C compiler died! at (eval 1) line 13. %RMS-E-FNF, file not found $ perl -"V" Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=VMS, osvers=V7.2-1, archname=VMS_AXP uname='VMS briana V7.2-1 AlphaStation 200 4/233' config_args='-"des" -"Dcf_email=system"' hint=none, useposix=false, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='CC/DECC', ccflags ='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS', optimize='', cppflags='undef' ccversion='60490005', gccversion='', gccosandvers='undef' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='int', lseeksize=4 alignbytes=8, usemymalloc=N, prototype=define Linker and Libraries: ld='Link', ldflags ='/NoTrace/NoMap' libpth=/sys$share /sys$library libs= perllibs= libc=(DECCRTL), so=exe, useshrplib=undef, libperl=undef Dynamic Linking: dlsrc=dl_vms.c, dlext=exe, d_dlsymun=undef, ccdlflags='' cccdlflags='', lddlflags='/Share' Characteristics of this PERLSHR image: Compile-time options: DEBUGGING Built under VMS Compiled at Aug 16 2001 15:46:23 %ENV: PERLLIB="PERL_ROOT:[LIB]" PERLSHR="$4$DUA1:[PERL-5_6_1]PERLSHR.EXE" PERL_ROOT="$4$DUA1:[PERL-5_6_1.]" @INC: PERL_ROOT:[LIB] perl_root:[lib.VM
Re: [PATCH Configure.pl] (still broken) Re: OpenVMS can't getpast configure
At 10:08 PM -0500 3/17/02, Michael G Schwern wrote: >Poking around in the DECC manual, there's two problems. >http://www.openvms.compaq.com/commercial/c/5492p004.htm#index_x_113 > >First, its INCLUDE_DIRECTORY, not INCLUDE (although INCLUDE works). VMS applies the shortest unique prefix rule with commands and switches. I think /inc would work too, but that's probably a bit too short for comfort. >Second, there seems to be some confusing rules about mixing VMS and >Unix style paths. It seems that the style used in INCLUDE_DIRECTORY >has to match the style used in the #include. > >so this works: > > CC/DECC /INCLUDE=("./include") testparrotsizes.c > >but you might want to get independent confirmation from the vmsperl >folks about that. That's new. Older versions of the Dec C compiler didn't do that--the bit before the / was considered either a logical name or ignored. So you'd need a PARROT: logical to make it work. If the ./include scheme is OK, we'll go with that and require folks to have reasonably modern versions of Dec C. Given our rollout schedule, I don't consider that excessive. -- Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: [PATCH Configure.pl] (still broken) Re: OpenVMS can't get past configure
On Sun, Mar 17, 2002 at 05:06:35PM -0800, Brent Dax wrote: > # Checking some things by compiling and running another small C > # program (this > # could take a while): > # > # Building ./testparrotsizes.cfrom testparrotsizes_c.in... > # > # > # #include "parrot/parrot.h" > # #include "parrot/parrot.h" > # ..^ > # ..^ > # %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" > # specified in #include directive. > # %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" > # specified in #include directive. > # at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 > # at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 > # C compiler died! at (eval 1) line 13. > # %RMS-E-FNF, file not found > > Yikes. Does the C compiler recognize that sort of path? How about > the -I switch (it may be set differently by VMS's hints file) that tells > it to look in ./include? main::(configure.pl:668): compiletestc("testparrotsizes"); DB<2> s main::CODE(0x7a1c8c)((eval 4)[configure.pl:297]:10): 10: my $name; DB<2> n main::CODE(0x7a1c8c)((eval 4)[configure.pl:297]:11): 11: $name = shift; DB<2> main::CODE(0x7a1c8c)((eval 4)[configure.pl:297]:12): 12: $name = "test" unless $name; DB<2> main::CODE(0x7a1c8c)((eval 4)[configure.pl:297]:13): 13: system("$c{cc} $c{ccflags} $name.c") and die "C compiler died!"; DB<2> x "$c{cc} $c{ccflags} $name.c" 0 'CC/DECC /Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/include=([.include],"/here") testparrotsizes.c' DB<3> use Cwd DB<4> x cwd 0 'USER1:[SCHWERN.SRC.PARROT]' DB<5> n #include "parrot/parrot.h" #include "parrot/parrot.h" ..^ ..^ %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive. %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive. at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;3 at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;3 C compiler died! at (eval 4)[configure.pl:297] line 13. main::__ANON__[(eval 4)[configure.pl:297]:15]('testparrotsizes') called Debugged program terminated. Use q to quit or R to restart, Poking around in the DECC manual, there's two problems. http://www.openvms.compaq.com/commercial/c/5492p004.htm#index_x_113 First, its INCLUDE_DIRECTORY, not INCLUDE (although INCLUDE works). Second, there seems to be some confusing rules about mixing VMS and Unix style paths. It seems that the style used in INCLUDE_DIRECTORY has to match the style used in the #include. Search the places specified in the /INCLUDE_DIRECTORY qualifier, if any. A place that can be parsed successfuly as an OpenVMS file-spec and that does not contain an explicit file type or version specification is edited to append the default header file type specification (".h" or "."). A place containing a "/" character is considered to be a UNIX-style name. If the name in the #include directive also contains a "/" character that is not the first character and is not preceded by a "!" character (it is not an absolute UNIX-style pathname), then the name in the #include directive is appended to the named place, separated by a "/" character, before applying the decc$to_vms pathname translation function. The result of the decc$to_vms translation is then used as the filespec to try to open. so this works: CC/DECC /INCLUDE=("./include") testparrotsizes.c but you might want to get independent confirmation from the vmsperl folks about that. -- Michael G. Schwern <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One Not king yet
RE: [PATCH Configure.pl] (still broken) Re: OpenVMS can't get past configure
Michael G Schwern: # On Sun, Mar 17, 2002 at 10:13:58AM -0800, Brent Dax wrote: # > Lines in question: # > # > # > foreach(grep {/^i_/} keys %Config) { # > $c{$_}=$Config{$_}; # > $c{headers}.=defineifdef((/^i_(.*)$/)); # > } # > # > I think VMS is too lame to handle the grep line. Honestly, # I'd rather # > not change it to bow to a retarded OS, but apparently we # have to. You # > can probably just say: # > # > foreach(keys %Config) { # > next unless /^i_/; # > $c{$_}=$Config{$_}; # > $c{headers}.=defineifdef((/^i_(.*)$/)); # > } # # If one wanted to do that in a memory efficient manner... # # --- Configure.plSun Mar 17 15:53:06 2002 # +++ Configure.pl Sat Mar 16 15:00:00 2002 # @@ -483,9 +481,10 @@ # # Set up HAS_HEADER_ # # # # -foreach(grep {/^i_/} keys %Config) { # -$c{$_}=$Config{$_}; # -$c{headers}.=defineifdef((/^i_(.*)$/)); # +while(my($k, $v) = each %Config) { # +next unless $k =~ /^i_/; # +$c{$k} = $v; # +$c{headers} .= defineifdef(($k =~ /^i_(.*)$/)); # } # # print <<"END"; # # # But even with this in place it still takes forever with 5.005_03. So # I'll just chalk it up to a perl bug. 5.7.2 fares much better, but # still bombs later on... # # # Your C compiler is not gcc. # # # Probing Perl 5's configuration to determine which headers you # have (this could # take a while on slow machines)... # # Determining C data type sizes by compiling and running a # small C program (this # could take a while): # # Building ./test.c from test_c.in... # # Figuring out the formats to pass to pack() for the various # Parrot internal # types... # Figuring out what integer type we can mix with pointers... # We'll use 'unsigned int'. # # Building a preliminary version of include/parrot/config.h, # your Makefiles, and # other files: # # Building include/parrot/config.hfrom config_h.in... # Building ./Makefile from Makefile.in... # Use of uninitialized value in substitution iterator at # configure.pl line 803. # Building ./classes/Makefile from classes/Makefile.in... # Building ./docs/Makefilefrom docs/Makefile.in... # Building ./languages/Makefile from # languages/Makefile.in... # Building ./languages/jako/Makefile from # languages/jako/Makefile.in... # Building ./languages/miniperl/Makefile from # languages/miniperl/Makefile.in... # Building ./languages/scheme/Makefilefrom # languages/scheme/Makefile.in... # Building lib/Parrot/Types.pmfrom Types_pm.in... # Building lib/Parrot/Config.pm from Config_pm.in... # # # Checking some things by compiling and running another small C # program (this # could take a while): # # Building ./testparrotsizes.cfrom testparrotsizes_c.in... # # # #include "parrot/parrot.h" # #include "parrot/parrot.h" # ..^ # ..^ # %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" # specified in #include directive. # %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" # specified in #include directive. # at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 # at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 # C compiler died! at (eval 1) line 13. # %RMS-E-FNF, file not found Yikes. Does the C compiler recognize that sort of path? How about the -I switch (it may be set differently by VMS's hints file) that tells it to look in ./include? # PS You're not qualified to yell at VMS until you grok the mystery of: # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # $ rm foo # rm.exe: foo: no such file or directory # # :) Nine versions of foo. A nice feature, IMHO. ;^) --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) #define private public --Spotted in a C++ program just before a #include
RE: OpenVMS can't get past configure
>personal dislike for VMS. I don't know enough about VMS to form an >opinion on it--its popular days were before my time. ;^) I never cared for the VMS command shell (I think it was DCL, been a few years since I worked on it), but there is a lot to be learned from the VMS architecture itself. For one, it has security features that would make you cringe. Also, it just plain doesn't crash. That aside, to each his own. You'll take my UN*X when you pry it from my cold, dead, hardware. -Melvin
[PATCH Configure.pl] (still broken) Re: OpenVMS can't get past configure
On Sun, Mar 17, 2002 at 10:13:58AM -0800, Brent Dax wrote: > Lines in question: > > > foreach(grep {/^i_/} keys %Config) { > $c{$_}=$Config{$_}; > $c{headers}.=defineifdef((/^i_(.*)$/)); > } > > I think VMS is too lame to handle the grep line. Honestly, I'd rather > not change it to bow to a retarded OS, but apparently we have to. You > can probably just say: > > foreach(keys %Config) { > next unless /^i_/; > $c{$_}=$Config{$_}; > $c{headers}.=defineifdef((/^i_(.*)$/)); > } If one wanted to do that in a memory efficient manner... --- Configure.plSun Mar 17 15:53:06 2002 +++ Configure.pl Sat Mar 16 15:00:00 2002 @@ -483,9 +481,10 @@ # Set up HAS_HEADER_ # -foreach(grep {/^i_/} keys %Config) { -$c{$_}=$Config{$_}; -$c{headers}.=defineifdef((/^i_(.*)$/)); +while(my($k, $v) = each %Config) { +next unless $k =~ /^i_/; +$c{$k} = $v; +$c{headers} .= defineifdef(($k =~ /^i_(.*)$/)); } print <<"END"; But even with this in place it still takes forever with 5.005_03. So I'll just chalk it up to a perl bug. 5.7.2 fares much better, but still bombs later on... Your C compiler is not gcc. Probing Perl 5's configuration to determine which headers you have (this could take a while on slow machines)... Determining C data type sizes by compiling and running a small C program (this could take a while): Building ./test.c from test_c.in... Figuring out the formats to pass to pack() for the various Parrot internal types... Figuring out what integer type we can mix with pointers... We'll use 'unsigned int'. Building a preliminary version of include/parrot/config.h, your Makefiles, and other files: Building include/parrot/config.hfrom config_h.in... Building ./Makefile from Makefile.in... Use of uninitialized value in substitution iterator at configure.pl line 803. Building ./classes/Makefile from classes/Makefile.in... Building ./docs/Makefilefrom docs/Makefile.in... Building ./languages/Makefile from languages/Makefile.in... Building ./languages/jako/Makefile from languages/jako/Makefile.in... Building ./languages/miniperl/Makefile from languages/miniperl/Makefile.in... Building ./languages/scheme/Makefilefrom languages/scheme/Makefile.in... Building lib/Parrot/Types.pmfrom Types_pm.in... Building lib/Parrot/Config.pm from Config_pm.in... Checking some things by compiling and running another small C program (this could take a while): Building ./testparrotsizes.cfrom testparrotsizes_c.in... #include "parrot/parrot.h" #include "parrot/parrot.h" ..^ ..^ %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive. %CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive. at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1 C compiler died! at (eval 1) line 13. %RMS-E-FNF, file not found PS You're not qualified to yell at VMS until you grok the mystery of: $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo $ rm foo rm.exe: foo: no such file or directory :) -- Michael G. Schwern <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One It wasn't false, just differently truthful. -- Abhijit Menon-Sen in <[EMAIL PROTECTED]>
RE: OpenVMS can't get past configure
At 11:52 AM -0800 3/17/02, Brent Dax wrote: >Dan Sugalski: ># At 10:13 AM -0800 3/17/02, Brent Dax wrote: ># ># Probing Perl 5's configuration to determine which headers you ># ># have (this could ># ># take a while on slow machines)... ># ># Out of memory! ># ># %SYSTEM-F-ABORT, abort ># > ># >Lines in question: ># > ># > ># >foreach(grep {/^i_/} keys %Config) { ># > $c{$_}=$Config{$_}; ># > $c{headers}.=defineifdef((/^i_(.*)$/)); ># >} ># > ># >I think VMS is too lame to handle the grep line. ># ># No, it's not. Perl works fine on VMS, just as it does on dozens of ># other platforms. If that code's throwing a fit, then either perl ># itself is broken, or the configure script is broken. ># ># Likely the error is someplace else. > >We saw this error on VMS before, and that was the cause. That line >_does_ take a lot of memory: > > -the hash > -a list of the keys > -the result list from the grep In which case it's not a VMS problem, but a memory one. I expect the quotas on the test drive machines that Schwern's using are pretty low to keep any one user from adversely impacting another. Odds are that an attempt at another time would work, if there were fewer users on the system--the system will hand out extra memory to a process if its available, but makes no guarantees on having overflow. More importantly, this is a sign we're going to have problems on systems without ample memory. (I'm not looking forward to the expected footprint for a compile of core.ops with full optimization on...) I'm going to try and get a VMS test system out of some of the folks I know in VMS engineering. Won't be the latest and greatest, but there'll be fewer limits. ># >Honestly, I'd rather not change it to bow to a retarded OS ># ># I think, perhaps, that namecalling at software would best be saved ># for other places. > >The namecalling was because it couldn't handle grep's memory >requirements (which, granted, are non-trivial), not because of any >personal dislike for VMS. I don't know enough about VMS to form an >opinion on it--its popular days were before my time. ;^) Still, the namecalling's inappropriate. Operating systems are software, and all software sucks. Singling out a particular piece of it's pretty pointless--might as well point out that one particular spot on the sun's awfully bright. ;) -- Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: OpenVMS can't get past configure
I suspect that it's not that VMS can't handle it- it's more likely that VMS does a better job of placing quotas on memory usage than other OSes. There's probably something analogous to "ulimit" which would fix the issue, but requiring that in order to build parrot isn't really reasonable. If we can make it take less memory, that'd be preferable. Though if it's running out of memory on that grep, i hesitate to imagine what it will do on trying to compile some of those giant autogenerated .c files. --Josh At 11:52 on 03/17/2002 PST, "Brent Dax" <[EMAIL PROTECTED]> wrote: > Dan Sugalski: > # At 10:13 AM -0800 3/17/02, Brent Dax wrote: > # ># Probing Perl 5's configuration to determine which headers you > # ># have (this could > # ># take a while on slow machines)... > # ># Out of memory! > # ># %SYSTEM-F-ABORT, abort > # > > # >Lines in question: > # > > # > > # >foreach(grep {/^i_/} keys %Config) { > # > $c{$_}=$Config{$_}; > # > $c{headers}.=defineifdef((/^i_(.*)$/)); > # >} > # > > # >I think VMS is too lame to handle the grep line. > # > # No, it's not. Perl works fine on VMS, just as it does on dozens of > # other platforms. If that code's throwing a fit, then either perl > # itself is broken, or the configure script is broken. > # > # Likely the error is someplace else. > > We saw this error on VMS before, and that was the cause. That line > _does_ take a lot of memory: > > -the hash > -a list of the keys > -the result list from the grep > > # >Honestly, I'd rather not change it to bow to a retarded OS > # > # I think, perhaps, that namecalling at software would best be saved > # for other places. > > The namecalling was because it couldn't handle grep's memory > requirements (which, granted, are non-trivial), not because of any > personal dislike for VMS. I don't know enough about VMS to form an > opinion on it--its popular days were before my time. ;^) > > --Brent Dax <[EMAIL PROTECTED]> > @roles=map {"Parrot $_"} qw(embedding regexen Configure) > > #define private public > --Spotted in a C++ program just before a #include
RE: OpenVMS can't get past configure
Dan Sugalski: # At 10:13 AM -0800 3/17/02, Brent Dax wrote: # ># Probing Perl 5's configuration to determine which headers you # ># have (this could # ># take a while on slow machines)... # ># Out of memory! # ># %SYSTEM-F-ABORT, abort # > # >Lines in question: # > # > # >foreach(grep {/^i_/} keys %Config) { # > $c{$_}=$Config{$_}; # > $c{headers}.=defineifdef((/^i_(.*)$/)); # >} # > # >I think VMS is too lame to handle the grep line. # # No, it's not. Perl works fine on VMS, just as it does on dozens of # other platforms. If that code's throwing a fit, then either perl # itself is broken, or the configure script is broken. # # Likely the error is someplace else. We saw this error on VMS before, and that was the cause. That line _does_ take a lot of memory: -the hash -a list of the keys -the result list from the grep # >Honestly, I'd rather not change it to bow to a retarded OS # # I think, perhaps, that namecalling at software would best be saved # for other places. The namecalling was because it couldn't handle grep's memory requirements (which, granted, are non-trivial), not because of any personal dislike for VMS. I don't know enough about VMS to form an opinion on it--its popular days were before my time. ;^) --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) #define private public --Spotted in a C++ program just before a #include
RE: OpenVMS can't get past configure
At 10:13 AM -0800 3/17/02, Brent Dax wrote: ># Probing Perl 5's configuration to determine which headers you ># have (this could ># take a while on slow machines)... ># Out of memory! ># %SYSTEM-F-ABORT, abort > >Lines in question: > > >foreach(grep {/^i_/} keys %Config) { > $c{$_}=$Config{$_}; > $c{headers}.=defineifdef((/^i_(.*)$/)); >} > >I think VMS is too lame to handle the grep line. No, it's not. Perl works fine on VMS, just as it does on dozens of other platforms. If that code's throwing a fit, then either perl itself is broken, or the configure script is broken. Likely the error is someplace else. >Honestly, I'd rather not change it to bow to a retarded OS I think, perhaps, that namecalling at software would best be saved for other places. -- Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
RE: OpenVMS can't get past configure
Michael G Schwern: # Using 5.005_03 on OpenVMS 7.3... # # # Determining if your C compiler is actually gcc (this could # take a while): # # # Your C compiler is not gcc. # # # Probing Perl 5's configuration to determine which headers you # have (this could # take a while on slow machines)... # Out of memory! # %SYSTEM-F-ABORT, abort Lines in question: foreach(grep {/^i_/} keys %Config) { $c{$_}=$Config{$_}; $c{headers}.=defineifdef((/^i_(.*)$/)); } I think VMS is too lame to handle the grep line. Honestly, I'd rather not change it to bow to a retarded OS, but apparently we have to. You can probably just say: foreach(keys %Config) { next unless /^i_/; $c{$_}=$Config{$_}; $c{headers}.=defineifdef((/^i_(.*)$/)); } --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) #define private public --Spotted in a C++ program just before a #include
OpenVMS can't get past configure
Using 5.005_03 on OpenVMS 7.3... Determining if your C compiler is actually gcc (this could take a while): Your C compiler is not gcc. Probing Perl 5's configuration to determine which headers you have (this could take a while on slow machines)... Out of memory! %SYSTEM-F-ABORT, abort -- Michael G. Schwern <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One no paste enema lycos is taught about it my ass is sealed -- Schwern
RE: SV: OpenVMS
Dan Sugalski: # At 02:56 PM 10/4/2001 +0100, Simon Cozens wrote: # >Can't we just use a hints file? :( # # Give me a day or so and I'll get it fixed properly. I'm used # to that by If you're hacking in that area, can you package the test.c stuff in a subroutine for ease of hints overloading? # now... :) (There's a reason we just chucked it all and do our # own thing to # configure stuff in perl 5 on VMS) I thought that was funny shell syntax and other such things. With Perl 5's portability stuff (think File::Spec, etc.) we should be able to have One True Configure, at least while it's still implemented in Perl. Right? --Brent Dax [EMAIL PROTECTED] Configure pumpking for Perl 6 They *will* pay for what they've done.
Re: SV: OpenVMS
At 02:45 PM 10/4/2001 +0100, Simon Cozens wrote: >On Wed, Oct 03, 2001 at 01:18:04PM -0700, Brent Dax wrote: > > foreach(grep {/pattern/} keys %Config) { > > blah blah blah > > > > with: > > > > while($_=each %Config) { > > next unless /pattern/; > > blah blah blah > >Better, but it doesn't appear to ever *end*. :( > >Moreover: > print scalar keys %Config >doesn't end either. Nor does %foo = %config; What, on the test drive VMS system? That's bizarre. It *should* work. (The perl they're using is, for all intents and purposes, the one I used in production for a year or so) I gotta get an account there and find out what's going on. Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: SV: OpenVMS
At 02:56 PM 10/4/2001 +0100, Simon Cozens wrote: >Can't we just use a hints file? :( Give me a day or so and I'll get it fixed properly. I'm used to that by now... :) (There's a reason we just chucked it all and do our own thing to configure stuff in perl 5 on VMS) Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: SV: OpenVMS
On Thu, Oct 04, 2001 at 02:45:31PM +0100, Simon Cozens wrote: > Oh dear. Even if I hack it wildly: Alright, now I'm gonna check some stuff by compiling and running a small C program. This could take a bit... Use of uninitialized value at configure.pl line 140. CC/DECC /float=ieee/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList -I./include -o test_siz test.c %DCL-W-VALREQ, missing qualifier or keyword value - supply all required values \INCLUDE\ C compiler died! at configure.pl line 140. Can't we just use a hints file? :( -- Heh, heh, heh, heh... the NOISE of a bursar CHEWING Proctors' Memoranda. - Henry Braun is Oxford Zippy
Re: SV: OpenVMS
On Wed, Oct 03, 2001 at 01:18:04PM -0700, Brent Dax wrote: > foreach(grep {/pattern/} keys %Config) { > blah blah blah > > with: > > while($_=each %Config) { > next unless /pattern/; > blah blah blah Better, but it doesn't appear to ever *end*. :( Moreover: print scalar keys %Config doesn't end either. Nor does %foo = %config; Oh dear. -- Britain has football hooligans, Germany has neo-Nazis, and France has farmers. -The Times
RE: SV: OpenVMS
Michael G Schwern: # On Wed, Oct 03, 2001 at 07:09:06PM +0100, Simon Cozens wrote: # > On Wed, Oct 03, 2001 at 01:55:39PM -0400, Dan Sugalski wrote: # > > If you want to wait, that's fine. I don't think I'm going # to get untangled # > > for another day or three, though. # > # > Waiting might also help to shake out whatever's wrong with # Win2K. Maybe # > it's just Brent's system being funny. (And I'd try playing # with Compaq # > Test Drive's OpenVMS system, but I can't find gzip, vmstar # or, unfortunately, # > perl. And damn, it's been a long time since I used DCL.) # # Unpleasent things happen with 5.005_03 ... # Okay. Now I'm gonna probe Perl 5's configuration to see # what headers you have around. This could take a bit on slow # machines... # Out of memory! # Out of memory! # %SYSTEM-F-ABORT, abort Oof. It probably doesn't like the 'grep {/pattern/} keys %Config' very much. Replace: foreach(grep {/pattern/} keys %Config) { blah blah blah with: while($_=each %Config) { next unless /pattern/; blah blah blah (untested) and it ought to work okay. (Fill in the correct /pattern/, of course.) # bleadperl 12109 is slightly less unpleasent. # # Okay. Now I'm gonna probe Perl 5's configuration to see # what headers you have around. This could take a bit on slow # machines... # # Alright, now I'm gonna check some stuff by compiling and running # a small C program. This could take a bit... # Use of uninitialized value in concatenation (.) or string at # configure.pl line 137. # %DCL-W-VALREQ, missing qualifier or keyword value - supply # all required values \INCLUDE\ # C compiler died! at configure.pl line 137. # %RMS-E-FNF, file not found Yeah, that whole test.c thing is highly Unix-centric. I'll probably wrap it up in a function so hints files can override its behavior. If you can't figure out how to adapt what's there for VMS, you can always replace the split() with the actual values of the things. (Yucky, I know, but it would at least work.) --Brent Dax [EMAIL PROTECTED] Configure pumpking for Perl 6 They *will* pay for what they've done.
Re: SV: OpenVMS
On Wed, Oct 03, 2001 at 07:09:06PM +0100, Simon Cozens wrote: > On Wed, Oct 03, 2001 at 01:55:39PM -0400, Dan Sugalski wrote: > > If you want to wait, that's fine. I don't think I'm going to get untangled > > for another day or three, though. > > Waiting might also help to shake out whatever's wrong with Win2K. Maybe > it's just Brent's system being funny. (And I'd try playing with Compaq > Test Drive's OpenVMS system, but I can't find gzip, vmstar or, unfortunately, > perl. And damn, it's been a long time since I used DCL.) Unpleasent things happen with 5.005_03 $ perl Configure.pl Subroutine ln redefined at /perl_root/lib/ExtUtils/Manifest.pm line 27. Parrot Configure Copyright (C) 2001 Yet Another Society Since you're running this script, you obviously have Perl 5--I'll be pulling some defaults from its configuration. First, I'm gonna check the manifest, to make sure you got a complete Parrot kit. Okay, we found everything. Next you'll need to answer a few questions about your system. Rules are the same as Perl 5's Configure--defaults are in square brackets, and you can hit enter to accept them. What C compiler do you want to use? [CC/DECC] How about your linker? [Link] What flags would you like passed to your C compiler? [/float=ieee/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList -I./include] Which libraries would you like your C compiler to include? [] How big would you like integers to be? [long] And your floats? [double] What is your native opcode type? [long] Okay. Now I'm gonna probe Perl 5's configuration to see what headers you have around. This could take a bit on slow machines... Out of memory! Out of memory! %SYSTEM-F-ABORT, abort bleadperl 12109 is slightly less unpleasent. Okay. Now I'm gonna probe Perl 5's configuration to see what headers you have around. This could take a bit on slow machines... Alright, now I'm gonna check some stuff by compiling and running a small C program. This could take a bit... Use of uninitialized value in concatenation (.) or string at configure.pl line 137. %DCL-W-VALREQ, missing qualifier or keyword value - supply all required values \INCLUDE\ C compiler died! at configure.pl line 137. %RMS-E-FNF, file not found -- Michael G. Schwern <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/ Perl6 Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One 36 haikus would scare the shit out of me. Thank goodness for paste! -- Schwern
Re: SV: OpenVMS
On Wed, Oct 03, 2001 at 01:55:39PM -0400, Dan Sugalski wrote: > If you want to wait, that's fine. I don't think I'm going to get untangled > for another day or three, though. Waiting might also help to shake out whatever's wrong with Win2K. Maybe it's just Brent's system being funny. (And I'd try playing with Compaq Test Drive's OpenVMS system, but I can't find gzip, vmstar or, unfortunately, perl. And damn, it's been a long time since I used DCL.) No release today, folks. False alarm. -- With the arrest of Dimitry Sklyarov it has become apparent that it is not safe for non US software engineers to visit the United States. - Alan Cox
Re: SV: OpenVMS
At 06:49 PM 10/3/2001 +0100, Simon Cozens wrote: >On Wed, Oct 03, 2001 at 01:52:05PM -0400, Dan Sugalski wrote: > > If we don't build on VMS it's not a show-stopper for 0.02. > >I think it is. There's not much point having a core platforms >list if we selectively ignore it. :( Well, like any other rule you occasionally get a pass. :) If you want to wait, that's fine. I don't think I'm going to get untangled for another day or three, though. Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: SV: OpenVMS
On Wed, Oct 03, 2001 at 01:52:05PM -0400, Dan Sugalski wrote: > If we don't build on VMS it's not a show-stopper for 0.02. I think it is. There's not much point having a core platforms list if we selectively ignore it. :( -- * DrForr digs around for a fresh IV drip bag and proceeds to hook up. Coffee port. Firewalled, like everything else around here.
Re: SV: OpenVMS
At 07:47 PM 10/3/2001 +0200, Henrik Tougaard wrote: > > Fra: Simon Cozens [mailto:[EMAIL PROTECTED]] > > > > Botheration, I forgot all about this. How's it coming on? > >I haven't had any tuits yet. >Has anybody involved the vms-perl list? I have, but everyone's tied up. As am I, unfortunately. > >Does VMS have to be on the core list?? > Yes. Partially for the same reason that Windows native is--it's *not* by any stretch of the imagination Unix. If we don't build on VMS it's not a show-stopper for 0.02. Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
SV: OpenVMS
> Fra: Simon Cozens [mailto:[EMAIL PROTECTED]] > > Botheration, I forgot all about this. How's it coming on? I haven't had any tuits yet. Has anybody involved the vms-perl list? I forgot to include them in the original mail, but someone migth have tuits enough to start it. Does VMS have to be on the core list?? -- Henrik Tougaard, Copenhagen, Denmark "The first rule of Perl Club is, we don't talk about Perl Club" - Dave Cross at YAPC::Europe 2.0.01
OpenVMS
Botheration, I forgot all about this. How's it coming on? -- IBM: It may be slow, but it's hard to use.