10. FAQ

10.1. 如何查看或解压RPM和Deb包?

Deb包查看内容并解压到指定目录:

$ dpkg -c cntoolkit_x.y.z-b.ubuntu16.04_amd64.deb
drwxr-xr-x root/root         0 2020-11-09 18:22 ./
drwxr-xr-x root/root         0 2020-11-09 18:22 ./usr/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./usr/share/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./usr/share/doc/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./usr/share/doc/cntoolkit/
-rw-r--r-- root/root     23108 2020-11-09 17:59 ./usr/share/doc/cntoolkit/copyright
-rw-r--r-- root/root       265 2020-11-09 17:59 ./usr/share/doc/cntoolkit/changelog.Debian.gz
drwxr-xr-x root/root         0 2020-11-09 18:22 ./var/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./var/cntoolkit-x.y.z/
-rw-r--r-- root/root  49417490 2020-11-09 18:21 ./var/cntoolkit-x.y.z/cncodec_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root    129144 2020-11-09 18:21 ./var/cntoolkit-x.y.z/cndev_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root    152910 2020-11-09 18:22 ./var/cntoolkit-x.y.z/cnpapi_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root      6940 2020-11-09 18:20 ./var/cntoolkit-x.y.z/cnlicense_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root  13758818 2020-11-09 18:20 ./var/cntoolkit-x.y.z/cnrt_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root      1825 2020-11-09 18:22 ./var/cntoolkit-x.y.z/Packages.gz
-rw-r--r-- root/root   2249158 2020-11-09 18:21 ./var/cntoolkit-x.y.z/cngdb_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root  16033132 2020-11-09 18:21 ./var/cntoolkit-x.y.z/cncc_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root    946830 2020-11-09 18:22 ./var/cntoolkit-x.y.z/cnperf_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root    237402 2020-11-09 18:22 ./var/cntoolkit-x.y.z/cndrv_x.y.z-b.ubuntu16.04_amd64.deb
-rw-r--r-- root/root   1698484 2020-11-09 18:21 ./var/cntoolkit-x.y.z/cnas_x.y.z-b.ubuntu16.04_amd64.deb
drwxr-xr-x root/root         0 2020-11-09 18:22 ./etc/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./etc/apt/
drwxr-xr-x root/root         0 2020-11-09 18:22 ./etc/apt/sources.list.d/
-rw-r--r-- root/root        69 2020-11-09 18:22 ./etc/apt/sources.list.d/cntoolkit-x.y.z.list

$ mkdir root
$ dpkg -x cntoolkit_x.y.z-b.ubuntu16.04_amd64.deb root

RPM包查看内容并解压到指定目录:

$ rpm -qpl cntoolkit-x.y.z-b.el7.x86_64.rpm
/etc/yum.repos.d
/etc/yum.repos.d/cntoolkit-x.y.z.repo
/var/cntoolkit-x.y.z
/var/cntoolkit-x.y.z/cnas-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cncc-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cncodec-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cndev-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cndrv-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cngdb-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cnlicense-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cnpapi-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cnperf-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/cnrt-x.y.z-b.el7.x86_64.rpm
/var/cntoolkit-x.y.z/repodata
/var/cntoolkit-x.y.z/repodata/412e64387bf5ac712801fa91200173f2cee9db16fbcc41a966ac5c5dbd43e18d-other.sqlite.bz2
/var/cntoolkit-x.y.z/repodata/47f8fb3d0ea1bf5889b6cc1f8a0a9a7bd65005a5fe528d9b8f2e067a371e0f83-filelists.sqlite.bz2
/var/cntoolkit-x.y.z/repodata/5931ac874d251d4c50d7fb63ee5696aa8d6fc073f405b851383a6b752ac57a13-primary.sqlite.bz2
/var/cntoolkit-x.y.z/repodata/9417114e1c739121005f604e447f2cb0b4856bad35ce6c516565f56ac351894c-other.xml.gz
/var/cntoolkit-x.y.z/repodata/a5bed1ee35819a5f6625cb92537dca1b8de9483a89ea1b34bc62c5bb4244e075-filelists.xml.gz
/var/cntoolkit-x.y.z/repodata/c1f0195ece19d2900aa397f85f9990fe9550a46def50b6d9bc35b2d91d064515-primary.xml.gz
/var/cntoolkit-x.y.z/repodata/repomd.xml

$ mkdir root && cd root
$ rpm2cpio ../cntoolkit-x.y.z-b.el7.x86_64.rpm | cpio -diumv

10.2. 如果没有root权限如何使用RPM包或Deb包?

参考上一条 如何查看或解压RPM和Deb包? 解压到某个目录,然后参考 安装后配置 章节配置 NEUWARE_HOMEPATHLD_LIBRARY_PATH 环境变量,即可使用。

10.3. 使用CNCC时找不到CNAS的原因是什么?

CNCC调用CNAS处理汇编阶段编译时需要获取用户shell进程中的 NEUWARE_HOME 环境变量。如果没有配置该变量,就会出现该错误。

10.4. 在x86_64系统上如何编译AArch64平台的Cambricon BANG C程序?

CNCC支持编译出AArch64平台的obj文件,然后由Host端的交叉工具链负责链接为目标AArch64平台上的动态库或可执行程序,可参考CNCC的 --target 编译选项。更多参考资料,参见 cncc --help 和开源社区Clang的帮助文档。