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_HOME 、 PATH 、 LD_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的帮助文档。