Curl 実行エラー:curl: (2) 初期化に失敗しました NSS を 3.21 にアップグレードします

1. 問題の説明

ここに画像の説明を挿入

特定のセキュリティ ソフトウェアをオンラインでインストールする場合、curl インストールを実行すると応答がなく、デバッグ時にエラーが報告されます:curl: (2) 初期化に失敗しました、NSS エラー 5961; 実行:curl -k -s -L 'https://10.24.1.2/agent/download?k=2677ac1f051d4f84ea75465fe441686f97032a193&group=1&protocol=0&root=true&runAccount=root&userAdd=false'

ここに画像の説明を挿入

通常の初期化は次のようになります。

証明書パスで NSS を初期化しています: sql:/etc/pki/nssdb
*CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none

NSS (Network Security Services) は、セキュリティ対応のクライアントおよびサーバー アプリケーションのクロスプラットフォーム開発をサポートするように設計されたライブラリのセットですNSS で構築されたアプリケーションは、SSL v3、TLS、PKCS#5、PKCS#7、PKCS#11、PKCS#12、S/MIME、X.509 v3 証明書、およびその他のセキュリティ標準をサポートできます。OpenSSL と同様、 TLS 実装を含む低レベルの暗号化ライブラリです。NSS はクロスプラットフォームであり、Pidgin、Apache OpenOffice、LibreOffice、Red Hat Directory Server、Red Hat Certificate System、Apache の mod_nss モジュールなど、多くの製品が NSS 暗号化ライブラリを使用しています。NSS は、暗号化ライブラリ、API、コマンド ライン ツール、ドキュメント セット (API リファレンス、マニュアル ヘルプ、サンプル コード) を含む完全なソフトウェア開発パッケージを提供します。NSS バージョン 3.14 以降、GPL 互換の MPL 2.0 ライセンスにアップグレードされます。

参考:まずはNSSを知ろう公式サイト

2. デバッグプロセス

1) 現地環境のバージョン確認

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) エラー確認

ここに画像の説明を挿入

3) メーカーによって確認済み、NSS バージョン 3.21以降が必要です。
ここに画像の説明を挿入
4) デバッグ

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

3、カールのアップグレード

1) アップグレードプロセス

./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) NSS アップグレード:

注: NSS はコンパイルとアップグレードを行います。NSS は NSPR に依存します。後者のバージョンに注意してください。NSS はクロスプラットフォーム ライブラリであり、多くの異なるプラットフォーム上に構築され、多くのオプションがあるため、構築が複雑になる可能性があります。現在、公式は Make ベースのシステムと gyp ベースのシステムという 2 つのビルド システムを同時に維持しています。NSS には C および C++ コンパイル環境が必要ですが、依存関係は最小限で、標準の C および C++ ライブラリと zlib のみが含まれます。NSS と NSPR は、他の Mozilla プロジェクトと同様にソース管理にMercurial を使用します。

ここに画像の説明を挿入

関連事項: mozillaビルドドキュメントリリースノート

コンポーネントの説明:

NSPR : クロスプラットフォームのボトムレベル関数ライブラリ。主な機能は、できるだけ多くのオペレーティング システムをサポートすることです。NSS 3.x バージョンは現在 18 のプラットフォームをサポートし、I/O 操作やネットワーク操作関数などの基本ライブラリを提供します。NSPR は Mozilla の独立したプロジェクトです。

NSS : 主にさまざまな暗号化ライブラリが含まれており、開発者や OEM が暗号化操作 (SSL アクセラレータ、命令セット) のパフォーマンスの最適化など、多くのパッチを提供できるフレームワークが含まれています。NSS API はすべて C 言語で呼び出されます (NSS 自体も C 言語で開発されています)

SSL&S/MIME : NSS に基づくアプリケーション層プロトコルで、最も重要なものは SSL です。

NSS がサポートする暗号アルゴリズム規格とアプリケーションは次のとおりです。

SSL&TLS、NSS は NSS 3.29 バージョンから TLS 1.3 プロトコルをサポートする予定です。

さまざまな PKCS 公開暗号化標準。詳細については、公開キー暗号化標準 (https://en.wikipedia.org/wiki/PKCS) を参照してください。

S/MIME (MIME データの暗号化と署名) に使用される暗号化メッセージ構文。 CMS 標準と S/MIME の実装についてはよく知られているため、書籍『HTTPS の詳細な移行: 原則から実践まで』では取り上げられていません。

X.509 v3 証明書。HTTPS プロトコルの非常に重要な部分です。

OCSP は、証明書の非常に効果的な補足プロトコルであり、証明書の失効ステータスをオンラインで検証するために使用されます (拡張可能で、証明書の透明性情報などの他の状態も含まれます)。

RSA、DH、ECC、AES、SHA、HMAC などのさまざまな暗号化アルゴリズム

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:'

おすすめ

転載: blog.csdn.net/ximenjianxue/article/details/131212489