Сборка NSS 3.35 для получения Certutil в Windows 10. Ошибка, компилятор C не может создать исполняемые файлы - PullRequest
0 голосов
/ 07 мая 2018

Я хотел бы установить сертификат программно в Firefox версии 59. Я прочитал, что мне нужен CertUtil, но код certutil, который я получил на github, построен из старой NSS. поэтому он генерирует только cert8.db, а не Cert9.db, что, как я полагаю, нужно Firefox 59.

Так что, если я прав, мне нужно собрать NSS 3.35 или выше, чтобы иметь право на Certutil? Я зашел на этот сайт, чтобы установить Windows Prerequisite и скачал сборку Mozilla. и смог построить его. но это было очень долго, поэтому я отменил это. Я также установил Visual Studio 2017 Community Edition с компиляторами C ++.

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Windows_Prerequisites https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Building

Итак, у меня есть рабочая папка mozilla-build и рабочая подсказка bash. И я клонировал nspr и nss в мою локальную папку.

Поэтому, когда я выполняю команду для создания nss, я получаю эту ошибку. этот компилятор C не работает. И когда я проверяю console.log, это то, что я получил.

Этот файл содержит любые сообщения, созданные компиляторами во время запуск configure, чтобы помочь отладке, если configure допустил ошибку.

Он был создан с помощью configure, который был сгенерированный GNU Autoconf 2.69. Командная строка вызова была

  $ ../configure --enable-win32-target=WIN95 --with-dist-prefix=$(topsrcdir)/../dist/WIN954.0_DBG.OBJ --with-dist-includedir=$(topsrcdir)/../dist/WIN954.0_DBG.OBJ/include

## --------- ##
## Platform. ##
## --------- ##

hostname = DESKTOP-I6DF9LK
uname -m = i686
uname -r = 1.0.19(0.48/3/2)
uname -s = MINGW32_NT-6.2
uname -v = 2016-07-13 17:45

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /local/bin
PATH: /c/mozilla-build/bin
PATH: /c/mozilla-build/kdiff3
PATH: /c/mozilla-build/node-v8.11.1-win-x64
PATH: /c/mozilla-build/nsis-3.01
PATH: /c/mozilla-build/python
PATH: /c/mozilla-build/python/Scripts
PATH: /c/mozilla-build/python3
PATH: /c/mozilla-build/python3/Scripts
PATH: .
PATH: /usr/local/bin
PATH: /mingw/bin
PATH: /bin
PATH: /c/WINDOWS/System32
PATH: /c/WINDOWS
PATH: /c/WINDOWS/System32/Wbem
PATH: /c/Users/ROMMELDVO/.cargo/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2383: checking build system type
configure:2397: result: i686-pc-mingw32
configure:2417: checking host system type
configure:2430: result: i686-pc-mingw32
configure:2450: checking target system type
configure:2463: result: i686-pc-mingw32
configure:2543: checking for cl
configure:2570: result: cl
configure:3054: checking for whoami
configure:3072: found /c/WINDOWS/System32/whoami
configure:3085: result: /c/WINDOWS/System32/whoami
configure:3481: checking for C compiler version
configure:3490: cl --version >&5
../configure: line 3492: cl: command not found
configure:3501: $? = 127
configure:3490: cl -v >&5
../configure: line 3492: cl: command not found
configure:3501: $? = 127
configure:3490: cl -V >&5
../configure: line 3492: cl: command not found
configure:3501: $? = 127
configure:3490: cl -qversion >&5
../configure: line 3492: cl: command not found
configure:3501: $? = 127
configure:3521: checking whether the C compiler works
configure:3543: cl    conftest.c  >&5
../configure: line 3545: cl: command not found
configure:3547: $? = 127
configure:3585: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define DEBUG 1
| /* end confdefs.h.  */
| 

Я не понимаю, почему он не может запустить компилятор cl. Причина, когда я запустил командную строку разработчика для VS 2017, я могу выполнить команду cl.

Я не знаю, что является причиной этой ошибки. Это потому, что bash не может идентифицировать компилятор c cl? я должен установить дополнительные переменные среды?

Я надеюсь, что кто-то может помочь мне решить эту проблему. Или, если у кого-то есть скомпилированный NSS 3.35 с Certutil.exe, это очень поможет.

Большое спасибо, Роммель

...