Erreur d'exécution de curl : curl : (2) Échec de l'initialisation Mettre à niveau NSS vers la version 3.21

1. Description du problème

insérez la description de l'image ici

Lors de l'installation d'un certain logiciel de sécurité en ligne, il n'y a pas de réponse lors de l'exécution de l'installation de curl et une erreur est signalée lors du débogage : curl : (2) Échec de l'initialisation, erreur NSS 5961 ; Exécuter :curl -k -s -L 'https://10.24.1.2/agent/download?k=2677ac1f051d4f84ea75465fe441686f97032a193&group=1&protocol=0&root=true&runAccount=root&userAdd=false'

insérez la description de l'image ici

L'initialisation normale devrait ressembler à ceci :

Initialisation de NSS avec certpath : sql:/etc/pki/nssdb
*CAfile : /etc/pki/tls/certs/ca-bundle.crt
CApath : aucun

NSS (Network Security Services) est un ensemble de bibliothèques conçues pour prendre en charge le développement multiplateforme d'applications client et serveur sécurisées. Les applications créées avec NSS peuvent prendre en charge les certificats SSL v3, TLS, PKCS#5, PKCS#7, PKCS#11, PKCS#12, S/MIME, X.509 v3 et d'autres normes de sécurité. Comme OpenSSL, il s'agit d'une bibliothèque de cryptographie de bas niveau , incluant une implémentation TLS. NSS est multiplateforme et de nombreux produits utilisent la bibliothèque cryptographique NSS, tels que Pidgin, Apache OpenOffice, LibreOffice, Red Hat Directory Server, Red Hat Certificate System, le module mod_nss d'Apache. NSS fournit un package de développement logiciel complet, comprenant une bibliothèque cryptographique, une API, des outils de ligne de commande, un ensemble de documentation (références API, aide manuelle, exemple de code). À partir de la version 3.14 de NSS, il est mis à niveau vers la licence MPL 2.0 compatible GPL.

Référence : Apprenez d'abord à connaître NSS , site officiel

2. Processus de débogage

1) Confirmation de la version de l'environnement sur site

rpm -q --requires curl
rpm -qa|grep curl
libcurl-7.19.7-37.el6_4.x86_64
python-pycurl-7.19.0-8.el6.x86_64

rpm -ql libcurl
/usr/lib64/libcurl.so.4
/usr/lib64/libcurl.so.4.1.1

ll /usr/lib64/libnss3.so 
-rwxr-xr-x. 1 root root 1296368 11月 24 2013 /usr/lib64/libnss3.so
ll /usr/lib64/libnssutil3.so 
-rwxr-xr-x. 1 root root 179416 11月 24 2013 /usr/lib64/libnssutil3.so
l /usr/lib64/libcurl.so.4
lrwxrwxrwx. 1 root root 16 2月   5 2018 /usr/lib64/libcurl.so.4 -> libcurl.so.4.1.1
rpm -qf /usr/lib64/libcurl.so.4.1.1
libcurl-7.19.7-37.el6_4.x86_64
rpm -qf /usr/lib64/libnssutil3.so 
nss-util-3.15.1-3.el6.x86_64

rpm -qf /usr/lib64/libnss3.so   //输出如下
nss-3.15.1-15.el6.x86_64
rpm -qf /usr/lib64/libnssutil3.so 
nss-util-3.15.1-3.el6.x86_64
You have new mail in /var/spool/mail/root
[root@localhost ~]# rpm -qf /usr/lib64/libnss3.so 
nss-3.15.1-15.el6.x86_64
[root@localhost ~]# rpm -q --requires nss-tools     #查看 nss-tools 也依赖于 nss 包
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libdl.so.2()(64bit)  
libnspr4.so()(64bit)  
libnss3.so()(64bit)  
libnss3.so(NSS_3.10)(64bit)  
libnss3.so(NSS_3.11)(64bit)  
libnss3.so(NSS_3.11.7)(64bit)  
libnss3.so(NSS_3.12)(64bit)  
libnss3.so(NSS_3.12.1)(64bit)  
libnss3.so(NSS_3.12.6)(64bit)  
libnss3.so(NSS_3.12.9)(64bit)  
libnss3.so(NSS_3.13)(64bit)  
libnss3.so(NSS_3.14)(64bit)  
libnss3.so(NSS_3.14.1)(64bit)  
libnss3.so(NSS_3.15)(64bit)  
libnss3.so(NSS_3.2)(64bit)  
libnss3.so(NSS_3.3)(64bit)  
libnss3.so(NSS_3.4)(64bit)  
libnss3.so(NSS_3.5)(64bit)  
libnss3.so(NSS_3.6)(64bit)  
libnss3.so(NSS_3.7)(64bit)  
libnss3.so(NSS_3.8)(64bit)  
libnss3.so(NSS_3.9)(64bit)  
libnss3.so(NSS_3.9.2)(64bit)  
libnss3.so(NSS_3.9.3)(64bit)  
libnssutil3.so()(64bit)  
libnssutil3.so(NSSUTIL_3.12)(64bit)  
libnssutil3.so(NSSUTIL_3.12.7)(64bit)  
libnssutil3.so(NSSUTIL_3.15)(64bit)  
libplc4.so()(64bit)  
libplds4.so()(64bit)  
libpthread.so.0()(64bit)  
libpthread.so.0(GLIBC_2.2.5)(64bit)  
libsmime3.so()(64bit)  
libsmime3.so(NSS_3.10)(64bit)  
libsmime3.so(NSS_3.2)(64bit)  
libsmime3.so(NSS_3.3)(64bit)  
libsmime3.so(NSS_3.4)(64bit)  
libsmime3.so(NSS_3.6)(64bit)  
libsmime3.so(NSS_3.9.3)(64bit)  
libssl3.so()(64bit)  
libssl3.so(NSS_3.11.8)(64bit)  
libssl3.so(NSS_3.12.6)(64bit)  
libssl3.so(NSS_3.13.2)(64bit)  
libssl3.so(NSS_3.14)(64bit)  
libssl3.so(NSS_3.15)(64bit)  
libssl3.so(NSS_3.2)(64bit)  
libssl3.so(NSS_3.4)(64bit)  
libssl3.so(NSS_3.7.4)(64bit)  
libz.so.1()(64bit)  
nss(x86-64) = 3.15.1-15.el6
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
rpmlib(PayloadIsXz) <= 5.2-1

**#查看nss包含**
rpm -ql nss  //输出
/etc/pki/nssdb
/etc/pki/nssdb/cert8.db
/etc/pki/nssdb/key3.db
/etc/pki/nssdb/secmod.db
/usr/lib64/libnss3.so
/usr/lib64/libnssckbi.so
/usr/lib64/libnsspem.so
/usr/lib64/libsmime3.so
/usr/lib64/libssl3.so
/usr/lib64/nss/libnssckbi.so

#现场环境centos7
curl --version  //如下
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets 

#centos6.5环境输出如下
curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
#编译升级curl 后,NSS版本并没有对应升级,需要单独升级该库
curl 7.40.0 (x86_64-unknown-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: IDN IPv6 Largefile NTLM SSL libz 

2) Confirmation d'erreur

insérez la description de l'image ici

3) Confirmé par le fabricant, la version NSS 3.21 ou supérieure est requise
insérez la description de l'image ici
4) Débogage

openssl s_client --connect https://10.24.56.101 -msg  //输出
140057047963392:error:2008F002:BIO routines:BIO_lookup_ex:system lib:../crypto/bio/b_addr.c:724:Servname not supported for ai_socktype
connect:errno=0

Trois, mise à niveau de curl

1) Processus de mise à niveau

./configure --without-nss --with-ssl=/root/openssl-1.1.1d/build/crypto
#指定连接的证书
curl https://10.24.1.11/agent/ --cacert /etc/pki/tls/certs/ca-bundle.crt

2) Mise à niveau NSS :

Remarque : NSS compile et met à jour, NSS dépend de NSPR, faites attention à cette dernière version ; puisque NSS est une bibliothèque multiplateforme, construite sur de nombreuses plateformes différentes, avec de nombreuses options, il peut être compliqué à construire. À l'heure actuelle, l'officiel maintient deux systèmes de construction en même temps : le système basé sur Make et le système basé sur gyp. NSS nécessite un environnement de compilation C et C++, mais a des dépendances minimales, y compris uniquement les bibliothèques C et C++ standard et zlib. NSS et NSPR utilisent Mercurial pour le contrôle des sources comme les autres projets Mozilla .

insérez la description de l'image ici

Trucs liés : mozilla , documentation de construction , notes de version

Description du composant :

NSPR : une bibliothèque de fonctions de bas niveau multiplateforme, dont la fonction principale est de prendre en charge autant de systèmes d'exploitation que possible. La version NSS 3.x prend actuellement en charge 18 plates-formes, fournissant des bibliothèques de base telles que les opérations d'E/S et les fonctions d'exploitation du réseau. NSPR est un projet indépendant de Mozilla.

NSS : Il comprend principalement diverses bibliothèques de cryptographie, et il comprend un cadre à travers lequel les développeurs et les OEM peuvent fournir de nombreux correctifs, tels que l'optimisation des performances des opérations de cryptographie (accélérateurs SSL, jeux d'instructions). Les API NSS sont toutes appelées en langage C (NSS lui-même est également développé en langage C)

SSL&S/MIME : Le protocole de la couche application basé sur NSS, le plus important est SSL.

Les normes d'algorithmes cryptographiques et les applications prises en charge par NSS sont les suivantes :

SSL&TLS, NSS prévoit de prendre en charge le protocole TLS 1.3 à partir de la version NSS 3.29.

Diverses normes de cryptographie publiques PKCS, pour plus de détails, veuillez vous référer aux normes de cryptographie à clé publique (https://en.wikipedia.org/wiki/PKCS)

Syntaxe des messages cryptographiques, utilisée pour S/MIME (chiffrer et signer les données MIME), Pas beaucoup est connu sur la norme CMS et l'implémentation de S/MIME, il n'est donc pas couvert dans le livre "Migration approfondie de HTTPS : du principe à la pratique".

Certificat X.509 v3, qui est une partie très importante du protocole HTTPS.

OCSP est un protocole supplémentaire très efficace pour les certificats, qui est utilisé pour vérifier l'état de révocation des certificats en ligne (extensible, et inclut également d'autres états, tels que les informations de transparence des certificats).

Divers algorithmes cryptographiques, notamment RSA, DH, ECC, AES, SHA, HMAC, etc.

Fonction de générateur pseudo-aléatoire conforme à la norme FIPS 186-2.

#安装依赖环境
yum install mercurial git ninja-build python3-pip

#升级nss到3.21
mkdir nssproject && cd nssproject
wget no-check-certificate https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_21_RTM/src/nss-3.21-with-nspr-4.10.10.tar.gz
$ rpm -qa|grep nspr
nspr-4.10.0-1.el6.x86_64

wget https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_90_RTM/src/nss-3.90-with-nspr-4.35.tar.gz
#获取nss 和 nspr(Netscape Portable Runtime)源码的最新开发版,在 nss/lib 目录下包含所有导出 api 的源文件,其中 .def 后缀的文件包含对应的 api 列表,比如可以查看 lib/ssl/ssl.def,了解 ssl 协议包含的各种 api。
hg clone https://hg.mozilla.org/projects/nspr
hg clone https://hg.mozilla.org/projects/nss
或,需要先安装Git-cinnabar,它是一个与mercurial存储库交互的Git远程助手。它允许使用git从mercurial远程存储库进行克隆、拉取和推送。
git clone hg::https://hg.mozilla.org/projects/nspr
git clone hg::https://hg.mozilla.org/projects/nss

#编译,因nss 不使用 configure 脚本,所以需要配置不同的环境变量,比如在 linux 使用 shell,在 windows 上使用 Mozilla 提供的构建包。编译完成后,所有编译的文件全部保存在 dist 目录下(和 nss 目录同级)

#如果是src下载的综合包
$ tar -xzf nss-3.21-with-nspr-4.10.10.tar.gz
$ cd nss
$ ls nspr/
admin  build  config  configure  configure.in  lib  LICENSE  Makefile.in  pkg  pr  tools
$ ls nss/
automation  circle.yml  cmd  COPYING  coreconf  coverage  doc  external_tests  lib  Makefile  manifest.mn  pkg  tests  trademarks.txt
$ ls nss/lib/ #在 nss/lib 目录下包含所有导出 api 的源文件,其中 .def 后缀的文件包含对应的 api 列表
base    certhigh  crmf      dbm  freebl  libpkix   manifest.mn  pk11wrap  pkcs7  smime     sqlite  sysinit  zlib
certdb  ckfw      cryptohi  dev  jar     Makefile  nss          pkcs12    pki    softoken  ssl     util

#编译:nss 不使用 onfigure 脚本,所以需要配置不同的环境变量,总体过程还是比较麻烦的,更多参看:https://firefox-source-docs.mozilla.org/security/nss/build.html#source-code
$ BUILD_OPT=1   #其中,1表示编译为优化后的NSS版本,默认为0,表debug模式下的NSS版本
$ USE_64=1  	#其中,1表示以64位环境方式编译,默认值为0,表用32位方式
$ export BUILD_OPT
$ export USE_64
$ echo $BUILD_OPT
$ echo $USE_64

#备份NSS相关文件
rpm -ql nss    //备份如下文件
/etc/pki/nssdb
/etc/pki/nssdb/cert8.db
/etc/pki/nssdb/key3.db
/etc/pki/nssdb/secmod.db
/usr/lib64/libnss3.so
/usr/lib64/libnssckbi.so
/usr/lib64/libnsspem.so
/usr/lib64/libsmime3.so
/usr/lib64/libssl3.so
/usr/lib64/nss/libnssckbi.so

$ pwd
/home/nssproject
$ mkdir nss_backup
$ ls
nss-3.21  nss-3.21-with-nspr-4.10.10.tar.gz  nss_backup
$ cp -pr /etc/pki/nssdb ./nss_backup/
$ cp -pr /usr/lib64/libnss* ./nss_backup/
$ cp -pr /usr/lib64/libsmime3.so ./nss_backup/
$ cp -pr /usr/lib64/libssl3.so ./nss_backup/
$ ls ./nss_backup/
libnss3.so     libnss_compat.so  libnssdbm3.so  libnss_files.so   libnss_nisplus.so  libnsspem.so      libnssutil3.so  libssl3.so
libnssckbi.so  libnssdbm3.chk    libnss_dns.so  libnss_hesiod.so  libnss_nis.so      libnsssysinit.so  libsmime3.so    nssdb
$ ll ./nss_backup/
总用量 2196
-rwxr-xr-x. 1 root root 1296368 1124 2013 libnss3.so
lrwxrwxrwx. 1 root root      38 25 2018 libnssckbi.so -> /etc/alternatives/libnssckbi.so.x86_64
lrwxrwxrwx. 1 root root      30 26 2018 libnss_compat.so -> ../../lib64/libnss_compat.so.2
-rw-r--r--. 1 root root     899 1123 2013 libnssdbm3.chk
-rwxr-xr-x. 1 root root  162824 1123 2013 libnssdbm3.so
lrwxrwxrwx. 1 root root      27 26 2018 libnss_dns.so -> ../../lib64/libnss_dns.so.2
lrwxrwxrwx. 1 root root      29 26 2018 libnss_files.so -> ../../lib64/libnss_files.so.2
lrwxrwxrwx. 1 root root      30 26 2018 libnss_hesiod.so -> ../../lib64/libnss_hesiod.so.2
lrwxrwxrwx. 1 root root      31 26 2018 libnss_nisplus.so -> ../../lib64/libnss_nisplus.so.2
lrwxrwxrwx. 1 root root      27 26 2018 libnss_nis.so -> ../../lib64/libnss_nis.so.2
-rwxr-xr-x. 1 root root  150712 1124 2013 libnsspem.so
-rwxr-xr-x. 1 root root   10352 1124 2013 libnsssysinit.so
-rwxr-xr-x. 1 root root  179416 1124 2013 libnssutil3.so
-rwxr-xr-x. 1 root root  181168 1124 2013 libsmime3.so
-rwxr-xr-x. 1 root root  246584 1124 2013 libssl3.so
drwxr-xr-x. 2 root root    4096 25 2018 nssdb

$ cd nss_backup/
$ mkdir lib64_libnss
$ cp -pr /lib64/libnss* ./lib64_libnss/
$ ls ./lib64_libnss/
libnss_compat-2.12.so  libnss_dns-2.12.so  libnss_files-2.12.so  libnss_hesiod-2.12.so  libnss_nis-2.12.so      libnss_nisplus.so.2
libnss_compat.so.2     libnss_dns.so.2     libnss_files.so.2     libnss_hesiod.so.2     libnss_nisplus-2.12.so  libnss_nis.so.2

#编译
$ cd ../nss-3.21/nss
$ make nss_build_all -j4  #需要gcc 4.8 or greater。报错如下:

coreconf/Werror.mk:55: Unable to find gcc 4.8 or greater, disabling -Werror
mkdir -p ./../nspr/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ
cd ./../nspr/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ ; \
	 sh ../configure \
	--disable-debug --enable-optimize --enable-64bit \
	--with-dist-prefix='/home/nssproject/nss-3.21/nss/../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ' \
	--with-dist-includedir='/home/nssproject/nss-3.21/nss/../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/include'   //后续这2个目录未成功生成
cd coreconf; make export
cd coreconf; make libs
make[1]: Entering directory `/home/nssproject/nss-3.21/nss/coreconf'
make[1]: Entering directory `/home/nssproject/nss-3.21/nss/coreconf'
cd nsinstall; make export
cd nsinstall; make libs
cd nsinstall; make libs
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
make[2]: Nothing to be done for `export'.
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
gcc -o Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall.o -c -O2 -fPIC -DLINUX2_1 -m64 -Wall -DNSS_NO_GCC48 -pipe -ffunction-sections -fdata-sections -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/coreconf -I../../../dist/private/coreconf  nsinstall.c
gcc -o Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall.o -c -O2 -fPIC -DLINUX2_1 -m64 -Wall -DNSS_NO_GCC48 -pipe -ffunction-sections -fdata-sections -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/coreconf -I../../../dist/private/coreconf  nsinstall.c
mkdir: 无法创建目录"Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ": 文件已存在
make[2]: *** [Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/pathsub.o] 错误 1
make[2]: *** 正在等待未完成的任务....
gcc -o Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/pathsub.o -c -O2 -fPIC -DLINUX2_1 -m64 -Wall -DNSS_NO_GCC48 -pipe -ffunction-sections -fdata-sections -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/coreconf -I../../../dist/private/coreconf  pathsub.c
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for whoami... /usr/bin/whoami
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
make[1]: *** [libs] 错误 2
make[1]: Leaving directory `/home/nssproject/nss-3.21/nss/coreconf'
make: *** [libs] 错误 2
make: *** 正在等待未完成的任务....
gcc -o Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -O2 -fPIC -DLINUX2_1 -m64 -Wall -DNSS_NO_GCC48 -pipe -ffunction-sections -fdata-sections -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/coreconf -I../../../dist/private/coreconf  Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall.o Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/pathsub.o -m64   -lpthread  -ldl -lc

true -m 775 Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall ../../../dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/bin
checking whether we are cross compiling... make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/coreconf/nsinstall'
make[1]: Leaving directory `/home/nssproject/nss-3.21/nss/coreconf'
cd lib; make export
make[1]: Entering directory `/home/nssproject/nss-3.21/nss/lib'
cd util; make export
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/util'
Creating ../../../dist/public/nss
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 base64.h ciferfam.h hasht.h nssb64.h nssb64t.h nsslocks.h nssilock.h nssilckt.h nssrwlk.h nssrwlkt.h nssutil.h pkcs11.h pkcs11f.h pkcs11p.h pkcs11t.h pkcs11n.h pkcs11u.h pkcs1sig.h portreg.h secasn1.h secasn1t.h seccomon.h secder.h secdert.h secdig.h secdigt.h secitem.h secoid.h secoidt.h secport.h secerr.h utilmodt.h utilrename.h utilpars.h utilparst.h ../../../dist/public/nss
Creating ../../../dist/private/nss
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 verref.h templates.c ../../../dist/private/nss
no
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/util'
checking for suffix of object files... cd freebl; make export
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/freebl'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 blapit.h shsign.h ecl/ecl-exp.h nsslowhash.h ../../../dist/public/nss
o
checking whether we are using the GNU C compiler... ../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 alghmac.h blapi.h hmacct.h secmpi.h secrng.h ec.h ecl/ecl.h ecl/ecl-curve.h ../../../dist/private/nss
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/freebl'
cd sqlite; make export
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/sqlite'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 sqlite3.h ../../../dist/private/nss
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/sqlite'
cd dbm; make export
yes
checking whether gcc accepts -g... make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/dbm'
cd include; make export
yes
checking for gcc option to accept ISO C89... make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/dbm/include'
Creating ../../../../dist/public/dbm
Creating ../../../../dist/private/dbm
../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 mcom_db.h ncompat.h winfile.h ../../../../dist/public/dbm
../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 hsearch.h page.h extern.h queue.h hash.h search.h ../../../../dist/private/dbm
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/dbm/include'
cd src; make export
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/dbm/src'
make[3]: Nothing to be done for `export'.
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/dbm/src'
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/dbm'
none needed
checking for ranlib... ranlib
checking for as... cd softoken; make export
/usr/bin/as
checking for ar... /usr/bin/ar
checking for ld... /usr/bin/ld
checking for strip... /usr/bin/strip
checking for windres... no
checking how to run the C preprocessor... make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/softoken'
cd legacydb; make export
cd legacydb; make private_export
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/softoken/legacydb'
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/softoken/legacydb'
gcc -E
There are no private exports.
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/softoken/legacydb'
There are no private exports.
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/softoken/legacydb'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 lgglue.h lowkeyi.h lowkeyti.h pkcs11ni.h softoken.h softoknt.h softkver.h sdb.h sftkdbt.h ../../../dist/private/nss
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/softoken'
cd base; make export
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/base'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 nssbaset.h nssbase.h ../../../dist/public/nss
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 baset.h base.h ../../../dist/private/nss
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/base'
cd dev; make export
checking for gcc -pipe support... no
checking whether C compiler supports -fprofile-generate... make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/dev'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 ckhelper.h devm.h devtm.h devt.h dev.h nssdevt.h nssdev.h ../../../dist/private/nss
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/dev'
cd pki; make export
yes
checking for visibility(hidden) attribute... make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/pki'
../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pki.h pkit.h nsspkit.h nsspki.h pkistore.h pki3hack.h pkitm.h pkim.h ../../../dist/private/nss
yes
checking for visibility pragma support... make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/pki'
cd libpkix; make export
yes
make[2]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix'
checking for perl5... no
checking for perl... /usr/bin/perl
cd include; make export
cd include; make private_export
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/include'
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/include'
../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix.h pkix_crlsel.h pkix_errorstrings.h pkix_results.h pkixt.h pkix_certsel.h pkix_params.h pkix_revchecker.h pkix_certstore.h pkix_pl_pki.h pkix_sample_modules.h pkix_checker.h pkix_pl_system.h pkix_util.h ../../../../dist/private/nss
../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix.h pkix_crlsel.h pkix_errorstrings.h pkix_results.h pkixt.h pkix_certsel.h pkix_params.h pkix_revchecker.h pkix_certstore.h pkix_pl_pki.h pkix_sample_modules.h pkix_checker.h pkix_pl_system.h pkix_util.h ../../../../dist/private/nss
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/include'
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/include'
cd pkix; make private_export
cd pkix; make export
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix'
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix'
cd certsel; make export
cd certsel; make private_export
cd certsel; make private_export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
checking for dlopen in -ldl... ../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_certselector.h pkix_comcertselparams.h ../../../../../dist/private/nss
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_certselector.h pkix_comcertselparams.h ../../../../../dist/private/nss
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_certselector.h pkix_comcertselparams.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/certsel'
cd crlsel; make private_export
cd crlsel; make export
cd crlsel; make private_export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_comcrlselparams.h pkix_crlselector.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_comcrlselparams.h pkix_crlselector.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
cd checker; make private_export
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_comcrlselparams.h pkix_crlselector.h ../../../../../dist/private/nss
cd checker; make private_export
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/crlsel'
cd checker; make export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
yes
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_basicconstraintschecker.h pkix_certchainchecker.h pkix_crlchecker.h pkix_ekuchecker.h pkix_expirationchecker.h pkix_namechainingchecker.h pkix_nameconstraintschecker.h pkix_ocspchecker.h pkix_policychecker.h pkix_revocationmethod.h pkix_revocationchecker.h pkix_signaturechecker.h pkix_targetcertchecker.h ../../../../../dist/private/nss
checking dlfcn.h usability... ../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_basicconstraintschecker.h pkix_certchainchecker.h pkix_crlchecker.h pkix_ekuchecker.h pkix_expirationchecker.h pkix_namechainingchecker.h pkix_nameconstraintschecker.h pkix_ocspchecker.h pkix_policychecker.h pkix_revocationmethod.h pkix_revocationchecker.h pkix_signaturechecker.h pkix_targetcertchecker.h ../../../../../dist/private/nss
symlink creation race: /home/nssproject/nss-3.21/dist/private/nss/pkix_targetcertchecker.h
nsinstall: symlink was attempted in working directory /home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker from ../../../nss/lib/libpkix/pkix/checker/pkix_targetcertchecker.h to /home/nssproject/nss-3.21/dist/private/nss/pkix_targetcertchecker.h.
: File exists
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
make[4]: *** [private_export] 已放弃
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
make[3]: *** [private_export] 错误 2
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix'
make[2]: *** [private_export] 错误 2
make[2]: *** 正在等待未完成的任务....
cd params; make private_export
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_basicconstraintschecker.h pkix_certchainchecker.h pkix_crlchecker.h pkix_ekuchecker.h pkix_expirationchecker.h pkix_namechainingchecker.h pkix_nameconstraintschecker.h pkix_ocspchecker.h pkix_policychecker.h pkix_revocationmethod.h pkix_revocationchecker.h pkix_signaturechecker.h pkix_targetcertchecker.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/checker'
cd params; make export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/params'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/params'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_procparams.h pkix_trustanchor.h pkix_valparams.h pkix_resourcelimits.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/params'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_procparams.h pkix_trustanchor.h pkix_valparams.h pkix_resourcelimits.h ../../../../../dist/private/nss
cd results; make private_export
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/params'
yes
checking dlfcn.h presence... cd results; make export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/results'
yes
checking for dlfcn.h... yes
checking whether gcc needs -traditional... make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/results'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_buildresult.h pkix_policynode.h pkix_valresult.h pkix_verifynode.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/results'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_buildresult.h pkix_policynode.h pkix_valresult.h pkix_verifynode.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/results'
cd store; make private_export
cd store; make export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/store'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/store'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_store.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/store'
cd top; make private_export
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_store.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/store'
cd top; make export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/top'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_build.h pkix_lifecycle.h pkix_validate.h ../../../../../dist/private/nss
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/top'
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/top'
cd util; make private_export
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_build.h pkix_lifecycle.h pkix_validate.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/top'
cd util; make export
no
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/util'
checking for dladdr... ../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_tools.h pkix_error.h pkix_logger.h pkix_list.h ../../../../../dist/private/nss
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/util'
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/util'
There are no private exports.
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_tools.h pkix_error.h pkix_logger.h pkix_list.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix/util'
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix'
cd pkix_pl_nss; make export
make[3]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss'
cd pki; make export
cd pki; make private_export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/pki'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/pki'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_basicconstraints.h pkix_pl_cert.h pkix_pl_certpolicyinfo.h pkix_pl_certpolicymap.h pkix_pl_certpolicyqualifier.h pkix_pl_crl.h pkix_pl_crldp.h pkix_pl_crlentry.h pkix_pl_date.h pkix_pl_generalname.h pkix_pl_infoaccess.h pkix_pl_nameconstraints.h pkix_pl_ocsprequest.h pkix_pl_ocspresponse.h pkix_pl_publickey.h pkix_pl_x500name.h pkix_pl_ocspcertid.h ../../../../../dist/private/nss
yes
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/pki'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_basicconstraints.h pkix_pl_cert.h pkix_pl_certpolicyinfo.h pkix_pl_certpolicymap.h pkix_pl_certpolicyqualifier.h pkix_pl_crl.h pkix_pl_crldp.h pkix_pl_crlentry.h pkix_pl_date.h pkix_pl_generalname.h pkix_pl_infoaccess.h pkix_pl_nameconstraints.h pkix_pl_ocsprequest.h pkix_pl_ocspresponse.h pkix_pl_publickey.h pkix_pl_x500name.h pkix_pl_ocspcertid.h ../../../../../dist/private/nss
cd system; make export
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/pki'
cd system; make private_export
checking for gettid... make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/system'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/system'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_common.h pkix_pl_mem.h pkix_pl_object.h pkix_pl_string.h pkix_pl_primhash.h pkix_pl_bigint.h pkix_pl_mutex.h pkix_pl_bytearray.h pkix_pl_lifecycle.h pkix_pl_oid.h pkix_pl_hashtable.h pkix_pl_rwlock.h pkix_pl_monitorlock.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/system'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_common.h pkix_pl_mem.h pkix_pl_object.h pkix_pl_string.h pkix_pl_primhash.h pkix_pl_bigint.h pkix_pl_mutex.h pkix_pl_bytearray.h pkix_pl_lifecycle.h pkix_pl_oid.h pkix_pl_hashtable.h pkix_pl_rwlock.h pkix_pl_monitorlock.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/system'
cd module; make export
cd module; make private_export
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/module'
make[4]: Entering directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/module'
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_aiamgr.h pkix_pl_colcertstore.h pkix_pl_httpcertstore.h pkix_pl_httpdefaultclient.h pkix_pl_ldapt.h pkix_pl_ldapcertstore.h pkix_pl_ldapresponse.h pkix_pl_ldaprequest.h pkix_pl_ldapdefaultclient.h pkix_pl_nsscontext.h pkix_pl_pk11certstore.h pkix_pl_socket.h ../../../../../dist/private/nss
../../../../coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 444 pkix_pl_aiamgr.h pkix_pl_colcertstore.h pkix_pl_httpcertstore.h pkix_pl_httpdefaultclient.h pkix_pl_ldapt.h pkix_pl_ldapcertstore.h pkix_pl_ldapresponse.h pkix_pl_ldaprequest.h pkix_pl_ldapdefaultclient.h pkix_pl_nsscontext.h pkix_pl_pk11certstore.h pkix_pl_socket.h ../../../../../dist/private/nss
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/module'
make[4]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss/module'
There are no private exports.
make[3]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix/pkix_pl_nss'
make[2]: Leaving directory `/home/nssproject/nss-3.21/nss/lib/libpkix'
make[1]: *** [export] 错误 2
make[1]: Leaving directory `/home/nssproject/nss-3.21/nss/lib'
make: *** [export] 错误 2
no
checking for lchown... yes
checking for setpriority... yes
checking for strerror... yes
checking for syscall... yes
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether gcc accepts -pthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config/Makefile
config.status: creating config/autoconf.mk
config.status: creating config/nsprincl.mk
config.status: creating config/nsprincl.sh
config.status: creating config/nspr-config
config.status: creating config/nspr.pc
config.status: creating lib/Makefile
config.status: creating lib/ds/Makefile
config.status: creating lib/libc/Makefile
config.status: creating lib/libc/include/Makefile
config.status: creating lib/libc/src/Makefile
config.status: creating lib/tests/Makefile
config.status: creating pkg/Makefile
config.status: creating pr/Makefile
config.status: creating pr/include/Makefile
config.status: creating pr/include/md/Makefile
config.status: creating pr/include/obsolete/Makefile
config.status: creating pr/include/private/Makefile
config.status: creating pr/src/Makefile
config.status: creating pr/src/io/Makefile
config.status: creating pr/src/linking/Makefile
config.status: creating pr/src/malloc/Makefile
config.status: creating pr/src/md/Makefile
config.status: creating pr/src/md/unix/Makefile
config.status: creating pr/src/memory/Makefile
config.status: creating pr/src/misc/Makefile
config.status: creating pr/src/threads/Makefile
config.status: creating pr/tests/Makefile
config.status: creating pr/tests/dll/Makefile
config.status: creating pkg/linux/Makefile
config.status: creating pr/src/pthreads/Makefile
config.status: executing default commands

#   

$ cd ../
$ ls   #会产生dist目录,所有编译的文件全部保存在 dist 目录下
dist  nspr  nss
$ find / -name Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ
/home/nssproject/nss-3.21/nspr/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ
/home/nssproject/nss-3.21/nss/coreconf/nsinstall/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ

$ ls ./dist/Linux2.6_x86_64_cc_glibc_PTH_64_OPT.OBJ/
bin  include  lib

#编译后,直接运行命令行会报错的,需要 export 一些目录
export LD_LIBRARY_PATH='/root/nssproject/dist/Linux3.13_x86_64_cc_glibc_PTH_64_OPT.OBJ/lib:'

Je suppose que tu aimes

Origine blog.csdn.net/ximenjianxue/article/details/131212489
conseillé
Classement