[Info-vax] Looking into C-include files on VMS
John E. Malmberg
wb8tyw at qsl.network
Fri Oct 30 10:15:20 EDT 2009
Joerg Schilling wrote:
> In article <BMudnSy2VOTtZ3TXnZ2dnUVZ_uNi4p2d at giganews.com>,
> Richard B. Gilbert <rgilbert88 at comcast.net> wrote:
>
>>> BTW: why did people create GNU make and GNU tar although smake and star
>>> did exist before?
>>>
>> Perhaps people wanted to use identical tools across several hardware
>> and/or software platforms.
<snip>
> Star offers roughly twice as many features than GNU tar and it is easier to
> port than GNU tar too. The only currently still unsupported by star platform I am
> aware of is VMS. There are still bugs in GNU tar that I reported in 1993...
There was a lot of work needed to port gnu tar 1.19 to VMS. For some
reason, instead of calling the normal opendir() they are calling an
alternate implementation of library calls that was not implemented on VMS.
I did get gnu tar 1.19 to pass all the self tests with out errors, but
it seems that several things still slipped through the cracks.
> Please note that I just tried to extract my sources using GNU tar and failed.
> There have been thousands of messages like:
>
> tar: schily-dist/ved/Makefile: Cannot utime: permission denied
It should still have extracted the sources, it just did not set the time
on them. I have been seeing that on some tar archives. I suspect that
it may be that VMS treats file permissions differently than UNIX does
and that the file was created with out the permissions needed for the
owner to change the time. I do not know for sure though.
> and it did fail to extract e.g. autoconf/xconfig.h.in without giving even a
> warning message at the end of the tar run.
The gnv$gnu:[lib]gnv_setup.com is missing the commands
$set process/parse=extended
$define DECC$FILENAME_UNIX_REPORT ENABLE
$define DECC$FILENAME_UNIX_NOVERSION
$define DECC$EFS_CASE_PRESERVE ENABLE
$define DECC$EFS_CHARSET ENABLE
$define DECC$READDIR_DROPDOTNOTYPE ENABLE
These should not be needed, but apparently some of the setup code for
bash and the other utilities are missing them.
> I am now running "vmstar" and do not get warnings and voila:
>
> -rwx------ 1 SCHILLIN 392 800 May 1 2009 rules.cnf_in
> -rwx------ 1 SCHILLIN 392 43303 Oct 25 17:40 xconfig.h_in
And you also only got ODS-2 format names, not the original names.
I have use the gnu tar to extract many tarballs that the vmstar in GNV
will not properly read. That vmstar is also not current.
> The missing files have been unpacked.
> configure still seems to be a problem, but a first compile of the boostrap smake
> could be done:
Typically configure scripts require:
# export GNV_DISABLE_DCL_FALLBACK=1
This is because of a bug in how Bash decides to try a DCL command
instead of a UNIX commmand.
And to properly compile main routines that do not explicitly call exit()
# export GNV_CC_MAIN_POSIX_EXIT=1
Also dependency-tracking and libtool-lock need to be disabled.
> ./smake -r -p -f /dev/null
> # Implicit Pattern Rules:
> # Implicit Suffix Rules:
> # Simple Suffix Rules:
> # Macro definitions:
> $ = $
> HOME = /disk_user/decuserve_user/schilling
> HOSTTYPE = alpha
> MAKE = DISK_USER:[DECUSERVE_USER.SCHILLING.SCHILY-DIST.PSMAKE]/./smake
> MAKEFLAGS = -pr
> MAKE_FLAGS = -pr
> MAKE_HOST = Eisner.Encompasserve.org
> MAKE_LEVEL = 1
> MAKE_NAME = smake
> MAKE_OS = unknown
> MAKE_SHELL_FLAG = -ce
> MAKE_SHELL_IFLAG = -c
> MAKE_VERSION = 1.2a45
> OSTYPE = VMS
> PATH = /bin:/gnu/bin:/GNU/BIN:/usr/bin:/usr/local/bin:.
> SHELL = /bin/sh
> SHLVL = 1
> TERM = vt100-80
> USER = SCHILLING
> _ = ./smake
> # Various other definitions:
>
> I need to work on using "sh" instead of /bin/sh and I ned to find a way
> to call commands via bash(1) instead of system(3).
/bin/sh should work. I just tested it on encompasserve.
All of this stuff and more is in the porting_to_vms conference. GNV is
far from ideal and requires a bit of hand-holding to use.
I am simply too short of time to fix all of the warts in GNV any time soon.
-John
wb8ytw at qsl.network
Personal Opinion Only
More information about the Info-vax
mailing list