2004 年 5 月 27 日更新

Sun[tm] Studio 9:dmake 自述文件

目录

  1. 简介
  2. 关于 dmake
  3. 新特性和更改的特性
  4. 软件更正
  5. 问题和解决办法
  6. 限制和不兼容
  7. 文档错误

 


A. 简介

本文档包含 Sun[tm] Studio 9 编译器和工具相应的 dmake 命令行工具的有关信息。本文档描述了本发行版本的一些新功能,包括此发行版本作出的软件更正,并列出了已知的问题、限制和不兼容性。本文档中的信息优先于此发行版本各手册中的信息。

产品文档

注意—如果 Sun Studio 9 编译器和工具未安装在缺省 /opt 目录中,请询问系统管理员以获得系统中的等价路径。

 


B. 关于 dmake

该发行版的 dmake 命令行工具适用于下列操作系统和平台:

dmake 是一个命令行工具,兼容 make(1)。dmake 能够以分布、并行或串行模式生成目标。如果使用的是标准 make(1) 公用程序,当 makefile 有变更时毫不费力就可以过渡到 dmakedmakemake 公用程序的超集。对于嵌套 make,如果有某个顶级 makefile 调用“make”,需要使用 $(MAKE)。dmake 会对 makefile 进行分析,决定能并行生成哪些目标,并将这些目标的生成版本分布在您设置的多个主机上。

有关如何使用 dmake 的信息,请参见《分布式 Make (dmake)》,可以通过 Sun Studio 9 集合获得,网址为 http://docs.sun.com

 


C. 新特性和更改的特性

本节描述了 dmake 的新功能和更改功能。

  1. dmake for Solaris 在性能、可靠性和可用性方面的改进之处

    makefile 分析器在速度方面比上一个版本快 10 倍,比 GNU make 快 3 倍。在生成方面,不仅速度更快,而且更加稳定。此外,日志文件的可读性更强。

  2. Linux dmake 实现
  3. 为了使 Linux 能够以串行、并行和分布式模式进行生成,将实现全面的 dmake 功能。因此,无需对 makefile 进行大范围更改即可在 Linux 上生成 Solaris 应用程序。一次生成结果可以同时分布到 Linux 和 Solaris 操作系统。

 


D. 软件更正

  1. dmake 内存使用减少,解决错误码 4693384。
  2. dmake 现在同 Solaris make 一致了,解决错误码 4745280。
  3. dmake 现在自动调节并行作业限制以防止过载,解决错误码 4694000。

E. 问题和解决办法

本节讨论了已知的软件问题及其可能的解决方法。有关更新信息,请查看开发人员门户,网址:http://developers.sun.com/prodtech/cc/support_index.html

如果在分布模式下使用 dmake 当中出现任何问题,请核实以下内容:

  1. $HOME 环境变量设置为可访问目录。
    % ls -la $HOME
  2. 文件 $HOME/.dmakerc 存在且可读,并包含正确信息。
    % cat $HOME/.dmakerc
  3. 通过使用 /usr/sbin/ping 命令检查每台主机,$HOME/.dmakerc 文件中涉及的所有主机均是活动的。
    % /usr/sbin/ping $HOST
    其中 $HOST 是系统的名称,它作为主机列于 $HOME/.dmakerc 文件中。
  4. 通过使用 dmakerxmrxs 命令,到 DMAKE 二进制文件的路径是正确的。
    %which dmake
    % which rxm
    % which rxs
  5. 在每台主机上远程登录 (rsh) 不需要密码,并且每次远程登录所用时间是可以接受的(不超过 2 秒钟)。
    % time rsh $HOST uname -a
  6. 文件 /etc/opt/SPROdmake/dmake.conf 位于每台主机中并包含正确的信息。
    % rsh $HOST cat /etc/opt/SPROdmake/dmake.conf
  7. 对于每台主机,DMAKE 二进制文件的路径均是正确的。
    % rsh $HOST `which dmake`
    % rsh $HOST `which rxm`
    % rsh $HOST `which rxs`
  8. 可从每台主机中获得生成区域 (rwx)
    % cd $BUILD
    % rm $HOST.check.tmp
    % echo "Build area is available from host $HOST" > $HOST.check.tmp
    % rsh $HOST cat $BUILD/$HOST.check.tmp
    其中 $BUILD 是生成区域的全路径。
  9. 可从每台主机中获得 $HOME
    % cd $HOME
    % rm $HOST.check.tmp
    % echo "HOME is available from host $HOST" > $HOST.check.tmp
    % rsh $HOST cat $HOME/$HOST.check.tmp

F. 限制和不兼容

dmake 有以下限制:

您可以将任何机器作为生成服务器使用,只要其符合以下要求:

 


G. 文档错误

目前没有新的信息。

 


版权所有 © 2004 Sun Microsystems, Inc. 保留所有权利。必须依据许可证条款使用。