Installing Layered Products
-
Topic author - Active Contributor
- Posts: 40
- Joined: Wed Mar 13, 2024 4:45 pm
- Reputation: 1
- Status: Offline
Installing Layered Products
I hate how obtuse this is. I'm not a system administrator. So I just want to get into code. I'm finally up to being able to transfer files and everything else. So how do I install the Layered Products I can download? I looked for a couple of methods none of them are working for me. The documentation when I download one does not tell me how to do it. C/Cxx/cobol/etc
-
Topic author - Active Contributor
- Posts: 40
- Joined: Wed Mar 13, 2024 4:45 pm
- Reputation: 1
- Status: Offline
Re: Installing Layered Products
Yep. Got it all up and working. Well at least the C compiler, I'll install others as I want.
Re: Installing Layered Products
Good, you figured it out and were able to install what you want/need.
As you probably figured out, you need to know that a "product" can be found in a package on the Service Platform. The package itself isn't downloadable, it contains a ZIP archive, that you need to download. Once you have that on your VMS system, you can extract the "product kit" and install it. It seems that only the latter step is described in the aforementioned System Manager's Manual. I don't know if the process of getting the "product kit" on a VMS disk is described anywhere.
No question, it is not as comfortable as
$ apt update
$ apt install gcc
If you have direct access to the Service Platform from the VMS system, the whole process would be easier if you knew how to get the ZIP archive: cURL is your friend. It would also be easier if PRODUCT INSTALL <product> /SOURCE= allowed you to specify a repository on the network, or perhaps just a keyword for the Service Platform (this would require a change to either teach PCSI to handle ZIP archives or to allow product kits to be downloadable). The latter is work, which is very likely not high on the to-do list.
As you probably figured out, you need to know that a "product" can be found in a package on the Service Platform. The package itself isn't downloadable, it contains a ZIP archive, that you need to download. Once you have that on your VMS system, you can extract the "product kit" and install it. It seems that only the latter step is described in the aforementioned System Manager's Manual. I don't know if the process of getting the "product kit" on a VMS disk is described anywhere.
No question, it is not as comfortable as
$ apt update
$ apt install gcc
If you have direct access to the Service Platform from the VMS system, the whole process would be easier if you knew how to get the ZIP archive: cURL is your friend. It would also be easier if PRODUCT INSTALL <product> /SOURCE= allowed you to specify a repository on the network, or perhaps just a keyword for the Service Platform (this would require a change to either teach PCSI to handle ZIP archives or to allow product kits to be downloadable). The latter is work, which is very likely not high on the to-do list.
Re: Installing Layered Products
Code: Select all
> [...] Got it all up and working. [...]
What could go wrong?
> [...] at least the C compiler, [...]
One usage hint...
The C compiler (like others on VMS) keeps its system header files in
(one or a few) text libraries, not as (many) loose files. So, if you
want to look at one of them, say, using a text editor, you need first to
extract it from the text library where it resides.
At one time, the C header files could be extracted automatically when
the compiler was installed. Now, if you want them, you need to extract
them yourself:
http://antinode.info/ftp/misc/cheader.com
After doing that, you can define a logical name to make access to them
easier:
$ define /system decc_include - ! "/system" is optional.
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF], -
SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C]
help define
https://wiki.vmssoftware.com/Logical_search_lists
For example:
ITS $ search decc_include:*.h int32_max
******************************
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]LIMITS.H;1
#define __UINT32_MAX 4294967295u
#define __INT32_MAX 2147483647
#define __INT32_MIN (-__INT32_MAX - 1)
******************************
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]STDINT.H;1
#define INT32_MAX (2147483647)
#define INT_LEAST32_MAX INT32_MAX
#define INT_FAST16_MAX INT32_MAX
#define INT_FAST32_MAX INT32_MAX
[...]
Re: Installing Layered Products
I prefer just compiling the source that uses the header /list/show=include and looking at the resulting .lis file with an editor. Some structures are defined differently depending upon the envronment and looking at the .lis facilitates sussing that out.sms wrote: ↑Sun Mar 17, 2024 11:14 amOne usage hint...
The C compiler (like others on VMS) keeps its system header files in
(one or a few) text libraries, not as (many) loose files. So, if you
want to look at one of them, say, using a text editor, you need first to
extract it from the text library where it resides.
Last edited by jonesd on Sun Mar 17, 2024 12:43 pm, edited 1 time in total.