Patch Name: PHCO_16371 Patch Description: s700_800 10.20 make(1) cumulative patch Creation Date: 98/09/09 Post Date: 98/09/16 Repost: 99/05/12 A problem has been discovered with superseding patch PHSS_16923, in that make(1) can coredump if it is to execute scripts that do not specify the interpreter to use on the first line. PHCO_16371 does not exhibit this problem and is being re-released until a replacement patch is available. Repost: 01/03/15 A problem has been discovered with superseding patch PHCO_18638, in that make(1), if a target is a symbolic link and the link target does not exist, will use the timestamp of the symbolic link rather than the link target to decide if the target needs to be rebuild. PHCO_16371 does not exhibit this problem and is being re-released until a replacement patch is available. Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.UX-CORE Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_16371 Symptoms: PHCO_16371: make(1) gives error "line too long" if the number of characters for exec() arguments exceeds 20478. PHCO_14612: 10.x make(1) is much slower compared to 9.x make(1) PHCO_11760: make(1) silently fails to search the list of directories to search for prerequisites if VPATH is longer than MAXPATHLEN. PHCO_10836: Performance of make(1) degrades drastically for very long VPATH. 10.X make is much slower than 9.X make. make does not see files built for previous prerequisites make can ignore the line following an "include" in Makefile PHCO_8893: 1. make(1) does not use the SHELL variable to run the commands always. 2. make(1) does not rebuild libraries as mentioned in the man-pages. 3. Dynamic pre-requisite variables like $${@:.o=.c} does not work as expected. 4. make(1) does not support multiple conditional macros. 5. make(1) ignores the last command line if there is no non-white characters after the '\' character. Defect Description: PHCO_16371: make(1) uses the ARG_MAX constant defined in limit.h and this value(20478) has been hardcoded in the make code, as ARG_MAX is configurable make(1) now determines the value of ARG_MAX dynamically. PHCO_14612: 10.x make(1) used to make number of pathconf(2) calls. This is due to the fix for DSDe423658. Also make(1) used to make unnecessary access(2) calls to check the existence of the file. PHCO_11760: make(1) silently fails to search the list of directories to search for prerequisites if path set in VPATH holds longer than MAXPATHLEN. PHCO_10836: Performance of make(1) degrades drastically for very long VPATH. 10.X make is much slower than 9.X make. make does not see files built for previous prerequisites make can ignore the line following an "include" in Makefile PHCO_8893: 1. make(1) does not use the SHELL variable to run the commands always. 2. make(1) does not rebuild libraries as mentioned in the man-pages. 3. Dynamic pre-requisite variables like $${@:.o=.c} does not work as expected. 4. make(1) does not support multiple conditional macros. 5. make(1) ignores the last command line if there is no non-white characters after the '\' character. SR: 5003395251 4701318378 5003345728 4701318378 1653197533 5003338079 1653177501 5003317768 1653189845 Patch Files: /usr/lib/nls/msg/C/make.cat /usr/ccs/bin/make what(1) Output: /usr/lib/nls/msg/C/make.cat: None /usr/ccs/bin/make: $Revision: 78.1.1.11 $ PATCH_10_20: main.o doname.o misc.o files.o rules.o dosys.o gram.o dyndep.o prtmem.o nl_strchr.o filehash.o hpux_rel.o 98/09/08 cksum(1) Output: 963206234 2129 /usr/lib/nls/msg/C/make.cat 3659711120 77824 /usr/ccs/bin/make Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_8893 PHCO_10836 PHCO_11760 PHCO_14612 Equivalent Patches: None Patch Package Size: 140 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_16371 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_16371.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_16371.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_16371. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_16371.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_16371.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None