This is an automated email from the ASF dual-hosted git repository.
ronny pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-glazier.git
The following commit(s) were added to refs/heads/main by this push:
new 94e8ea4 Remove aged build descriptions (#25)
94e8ea4 is described below
commit 94e8ea4dd83f8cc77ad911feb2c4f0dbcf1fdbe0
Author: Ronny Berndt <[email protected]>
AuthorDate: Sun Nov 19 19:35:30 2023 +0100
Remove aged build descriptions (#25)
Doing some autumn cleaning by removing some
old readme files and build descriptions and
updating the contributors list.
---
README.OLD.md | 290 ------------------------------------------------
README.md | 4 -
THANKS | 1 +
build-spidermonkey60.md | 252 -----------------------------------------
4 files changed, 1 insertion(+), 546 deletions(-)
diff --git a/README.OLD.md b/README.OLD.md
deleted file mode 100644
index a14a1cd..0000000
--- a/README.OLD.md
+++ /dev/null
@@ -1,290 +0,0 @@
-# Glazier
-
-Glazier is a set of batch files, scripts and toolchains designed to
-ease building CouchDB on Windows. It's as fully automated as
-possible, with most of the effort required only once.
-
-Glazier uses the MS Visual Studio 2017 toolchain as much as possible,
-to ensure a quality Windows experience and to execute all binary
-dependencies within the same runtime.
-
-We hope Glazier simplifies using Erlang and CouchDB for you, giving
-a consistent, repeatable build environment.
-
-
-# Base Requirements
-
-Note that the scripts you'll run will modify your system extensively. We
recommend a *dedicated build machine or VM image* for this work:
-
-- 64-bit Windows 7+. *As of CouchDB 2.0 we only support a 64-bit build of
CouchDB*.
- - We like 64-bit Windows 10 Enterprise N (missing Media Player, etc.) from
MSDN.
- - Apply Windows Updates and reboot until no more updates appear.
- - If using a VM, shutdown and snapshot your VM at this point.
-
-# Install Dependencies
-
-Start an Administrative PowerShell console. Enter the following:
-
-```powershell
-mkdir C:\Relax\
-cd C:\Relax\
-Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol =
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object
System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
-choco feature enable -n allowGlobalConfirmation
-choco install git
-git clone https://github.com/apache/couchdb-glazier
-&.\couchdb-glazier\bin\install_dependencies.ps1
-```
-
-You should go get lunch. The last step will take over an hour, even on a
speedy Internet connection.
-
-At this point, you should have the following installed:
-
-* Visual Studio 2017 (Build Tools, Visual C++ workload, native desktop
workload)
-* Windows 10 SDK (10.1)
-* NodeJS (LTS version)
-* wget.exe
-* NASM
-* Cyg-get (for cygwin)
-* WiX Toolset
-* Python 3
- * Python packages sphinx, docutils, pygments, nose, hypothesis, and
`sphinx_rtd_theme`
-* GNU Make
-* NSSM
-* GPG4Win (for signing releases)
-* checksum
-* archiver
-* Dependency Walker
-* unzip
-* NSIS
-* NuGet
-* VSSetup
-* MozillaBuild setup (3.3)
-* VCPkg (https://github.com/Microsoft/vcpkg), which built and installed:
- * OpenSSL (at time of writing, 1.1.1)
- * ICU (at time of writing, 61)
-* Cygwin (used for building Erlang), plus some packages required for Erlang
builds
-
-# Building Erlang
-
-This section is not presently automated because it requires switching between
PowerShell
-and Cygwin. It should be possible to automate (PRs welcome!)
-
-We generally need to build a version of Erlang that is not distributed directly
-by Ericsson. This may be because we require patches that are released after the
-binaries are built.
-
-For CouchDB 3.0, we build against Erlang 20.3.8.25.
-
-In the same PowerShell session, enter the following:
-
-```powershell
-cd c:\relax
-cygwin
-git clone https://github.com/erlang/otp
-cd otp
-git checkout OTP-20.3.8.25
-export PATH="/cygdrive/c/Program Files (x86)/Microsoft
SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools/x64:/cygdrive/c/Program Files
(x86)/Microsoft Visual
Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64:/cygdrive/c/Program
Files (x86)/NSIS:/cygdrive/c/Program Files (x86)/Windows
Kits/10/bin/10.0.18362.0/x64:$PATH"
-which cl link mc lc mt nmake rc
-```
-
-This should produce the following output:
-
-```
-/cygdrive/c/Program Files (x86)/Microsoft Visual
Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/cl
-/cygdrive/c/Program Files (x86)/Microsoft Visual
Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/link
-/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mc
-/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8
Tools/x64/lc
-/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mt
-/cygdrive/c/Program Files (x86)/Microsoft Visual
Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/nmake
-/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/rc
-```
-
-Continue by entering the following. This takes a while, maybe 30-60 minutes at
the `otp_build` steps, so be sure to have your favourite beverage on hand while
you watch.
-
-```
-cd /cygdrive/c/relax/otp
-eval `./otp_build env_win32 x64`
-./otp_build autoconf 2>&1 | tee build_autoconf.txt
-./otp_build configure --with-ssl=/cygdrive/c/relax/vcpkg/installed/x64-windows
--without-javac --without-debugger --without-wx --without-ic --without-odbc
--without-et --without-cosEvent --without-cosEventDomain
--without-cosFileTransfer --without-cosNotification --without-cosProperty
--without-cosTime --without-cosTransactions --without-orber --without-observer
2>&1 | tee build_configure.txt
-./otp_build boot -a 2>&1 | tee build_boot.txt
-./otp_build release -a 2>&1 | tee build_release.txt
-./otp_build installer_win32 2>&1 | tee build_installer_win32.txt
-release/win32/otp_win64_*.exe /S
-exit
-```
-
-You now have a full install of Erlang on your system.
-
-# Installing Elixir
-
-CouchDB uses Elixir for tests. If you intend to run the test suite (you
should!), install
-Elixir now by running the following in the same PowerShell prompt:
-
-```
-wget.exe
https://github.com/elixir-lang/elixir/releases/download/v1.9.4/Precompiled.zip
-arc unarchive .\Precompiled.zip
-copy .\Precompiled\* 'C:\Program Files\erl9.3.3.14\' -Recurse -Force
-del Precompiled -Recurse
-del Precompiled.zip
-```
-
-# Building SpiderMonkey
-
-This section is not currently automated, due to the need for Mozilla's
separate build
-environment. It should be possible to automate (PRs welcome!)
-
-From the same PowerShell prompt, enter the following:
-
-```
-C:\mozilla-build\start-shell.bat
-```
-
-At the MozillaBuild prompt, enter the following:
-
-```
-C:\mozilla-build\start-shell.bat
-cd /c/relax
-git clone https://github.com/mozilla/gecko-dev
-cd gecko-dev
-git checkout esr60
-cd js/src
-sed -i -E "s/(VC\.Tools\.x86\.x64')/\1, '-products', '*'/g"
../../build/moz.configure/toolchain.configure
-autoconf-2.13
-mkdir build_OPT.OBJ
-cd build_OPT.OBJ
-../configure --disable-ctypes --disable-ion --disable-jemalloc
--enable-optimize --enable-hardening --with-intl-api
--build-backends=RecursiveMake --with-visual-studio-version=2017
--with-system-icu --disable-debug --enable-gczeal --target=x86_64-pc-mingw32
--host=x86_64-pc-mingw32 --prefix=/c/relax/vcpkg/installed/x64-windows
-mozmake
-exit
-```
-
-The `sed` command adds support for building with just the VS Build Tools,
which are
-sufficient for just SpiderMonkey. (Otherwise, you need to download an
additional 9GB of
-Visual Studio. Bleah.) The build should take about 15 minutes.
-
-Back in PowerShell, copy the binaries to where our build process expects them:
-
-```
-copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\js\src\build\*.pdb
C:\relax\vcpkg\installed\x64-windows\bin
-copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\dist\bin\*.dll
C:\relax\vcpkg\installed\x64-windows\bin
-copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\dist\include\*
C:\relax\vcpkg\installed\x64-windows\include -Recurse -ErrorAction
SilentlyContinue
-```
-
-# Building CouchDB itself
-
-You're finally ready. You should snapshot your VM at this point!
-
-Open a new PowerShell window. Set up your shell correctly (this step works if
you've
-closed your PowerShell window before any of the previous steps, too):
-
-```
-&c:\relax\couchdb-glazier\bin\shell.ps1
-```
-
-Then, start the process:
-
-```
-cd c:\relax
-git clone https://github.com/apache/couchdb
-cd couchdb
-git checkout <tag or branch of interest goes here>
-&.\configure.ps1 -SpiderMonkeyVersion 60
-make -f Makefile.win
-```
-
-You now have built CouchDB!
-
-To run the tests:
-
-```
-make -f Makefile.win check
-```
-
-Finally, to build a CouchDB installer:
-
-```
-make -f Makefile.win release
-cd c:\relax
-&couchdb-glazier\bin\build_installer.ps1
-```
-
-The installer will be placed in your current working directory.
-
-You made it! Time to relax. :D
-
-If you're a release engineer, you may find the following commands useful too:
-
-```
-checksum -t sha256 apache-couchdb.#.#.#-RC#.tar.gz
-checksum -t sha512 apache-couchdb.#.#.#-RC#.tar.gz
-gpg --verify apache-couchdb.#.#.#-RC#.tar.gz.asc
-```
-
-# Appendices
-
-## Why Glazier?
-
-@dch first got involved with CouchDB around 0.7. Only having a low-spec Windows
-PC to develop on, and no CouchDB Cloud provider being available, he tried
-to build CouchDB himself. It was hard going, and most of the frustration was
-trying to get the core Erlang environment set up and compiling without needing
-to buy Microsoft's expensive but excellent Visual Studio tools. Once
-Erlang was working he found many of the pre-requisite modules such as cURL,
-Zlib, OpenSSL, Mozilla's SpiderMonkey JavaScript engine, and IBM's ICU were
-not available at a consistent compiler and VC runtime release.
-
-There is a branch of glazier that has been used to build each CouchDB release.
-
-## UNIX-friendly shell details
-
-Our goal is to get the path set up in this order:
-
-1. erlang and couchdb build helper scripts
-2. Microsoft VC compiler, linker, etc from Windows SDK
-3. cygwin path for other build tools like make, autoconf, libtool
-4. the remaining windows system path
-
-It seems this is a challenge for most environments, so `glazier` gets this all
right for
-you by running the MSVC environment, then tacking on the things Erlang expects
at the end
-of the path.
-
-Overall, the desired order for your $PATH is:
-
-- Erlang build helper scripts
-- Visual C++ / .NET framework / SDK
-- Ancillary Erlang and CouchDB packaging tools
-- Usual cygwin unix tools such as make, gcc
-- Ancillary glazier/relax tools for building dependent libraries
-- Usual Windows folders `%windir%;%windir%\system32` etc
-- Various settings form the `otp_build` script
-
-More details are at [erlang INSTALL-Win32.md on
github](https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-WIN32.md)
-
-## Windows silent installs
-
-Here are some sample commands, supporting the new features of the 3.0
installer.
-
-Install CouchDB without a service, but with an admin user:password of
`admin:hunter2`:
-
-```
-msiexec /i apache-couchdb-3.0.0.msi /quiet ADMINUSER=admin
ADMINPASSWORD=hunter2 /norestart
-```
-
-The same as above, but also install and launch CouchDB as a service:
-
-```
-msiexec /i apache-couchdb-3.0.0.msi /quiet INSTALLSERVICE=1 ADMINUSER=admin
ADMINPASSWORD=hunter2 /norestart
-```
-
-Unattended uninstall of CouchDB:
-
-```
-msiexec /x apache-couchdb-3.0.0.msi /quiet /norestart
-```
-
-Unattended uninstall if the installer file is unavailable:
-
-```
-msiexec /x {4CD776E0-FADF-4831-AF56-E80E39F34CFC} /quiet /norestart
-```
-
-Add `/l* log.txt` to any of the above to generate a useful logfile for
debugging.
diff --git a/README.md b/README.md
index 72a71b5..21fdae3 100644
--- a/README.md
+++ b/README.md
@@ -11,10 +11,6 @@ dependencies within the same runtime.
We hope Glazier simplifies using Erlang and CouchDB for you, giving
a consistent, repeatable build environment.
-Of course, you can also use our [previous script collection](README.OLD.md)
-to create CouchDB for Windows. Please note that this is currently no longer
-tested.
-
# Base Requirements
Note that the scripts you'll run will modify your system extensively. We
recommend a *dedicated build machine or VM image* for this work:
diff --git a/THANKS b/THANKS
index 0acc22f..677e073 100644
--- a/THANKS
+++ b/THANKS
@@ -11,3 +11,4 @@ Jan Lenhardt
Olivia Hugger
Will Young
Ronny Berndt
+Gábor János Páli
diff --git a/build-spidermonkey60.md b/build-spidermonkey60.md
deleted file mode 100644
index 1879ab0..0000000
--- a/build-spidermonkey60.md
+++ /dev/null
@@ -1,252 +0,0 @@
-# Note
-
-The following research was instrumental in building SpiderMonkey 60 on
Windows. Big thanks to Peng Hui Jiang for this research.
-
-##Build Environment
-
-Below is environment we are using and we can check whether it is working on
Windows 7/8 and Visual Studio 2013/2015 etc.
-
-- Windows 10
-- Visual Studio 2017 update 5 Version 15.9.17
-- Windows Universal CRT SDK via "Individual Components" -> "Compiler, build
tools, and runtimes" -> "Windows Universal CRT SDK" by running `C:\Program
Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe`
-- Windows 10 SDK (10.0.15063.0) via "Universal Windows Platform Development"
-> "Optional" -> "Windows 10 SDK (10.0.15063.0)" by running `C:\Program Files
(x86)\Microsoft Visual Studio\Installer\vs_installer.exe` # should be older
than 10.0.16299.0
-
-
-##Getting Started
-
-Make a new shortcut on the desktop. The location should be:
-
-```
-cmd.exe /E:ON /V:ON /T:1F /K ""C:\Program Files (x86)\Microsoft Visual
Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"" amd64 && color 1f
-```
-
-Start by launching a fresh CouchDB SDK prompt, then setup the Mozilla build
environment with the command:
-
-```
-call cd \mozilla-build-3.2\start-shell.bat
-```
-
-mozilla-build-3.2 can be downloaded from
`https://ftp.mozilla.org/pub/mozilla/libraries/win32/`
-
-
-##Build Spidermonkey JavaScript 6.0
-
-Spidermonkey needs to be compiled with the Mozilla Build chain. There are some
issues during build, and check the troubleshooting sections and see whether
they help.
-
-```
-cd /c/relax
-tar xvf mozjs-60.1.1pre3.tar.bz2 # from
https://ftp.mozilla.org/pub/spidermonkey/prereleases/60/pre3/
-cd mozjs-60.1.1pre3/js/src
-
-<replace mozjs-60.1.1pre3\build\win32\vswhere.exe with
-C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe.
Otherwise we will get WindowsError: [Error 5] Access is denied when running
configure>
-
-autoconf2.13
-
-mkdir build_OPT.OBJ
-cd build_OPT.OBJ
- ../configure --enable-shared-js --disable-jemalloc --disable-tests
--enable-optimize --build-backends=RecursiveMake --enable-posix-nspr-emulation
--with-visual-studio-version=2017 --disable-debug --enable-gczeal
--target=x86_64-pc-mingw32 --host=x86_64-pc-mingw32
-mozmake
-```
-
-Some build targets can be
-
-- mozjs-60.1.1pre3\js\src\build_OPT.OBJ\dist\include
-- mozjs-60.1.1pre3\js\src\build_OPT.OBJ\js\src\build\mozjs-60.lib
-- mozjs-60.1.1pre3\js\src\build_OPT.OBJ\js\src\build\mozjs-60.dll
-
-
-##Troubleshooting
-
-### should use autoconfig 2.13
-
-```
-$ autoconf
-../../build/autoconf/acwinpaths.m4:10: error: defn: undefined macro:
AC_OUTPUT_FILES
-../../build/autoconf/acwinpaths.m4:10: the top level
-autom4te-2.68: /bin/m4 failed with exit status: 1
-```
-
-Note: we need to use autoconfig version 2.13. You might get above error if
using new version of autoconfig.
-
-
-### acgeneral.m4 not found
-
-```
-$ autoconf --version
-sed: can't read /usr/share/autoconf-2.13/acgeneral.m4: No such file or
directory
-Autoconf version
-```
-Note: The autoconf provided in `Mozilla build` is not always working. I
download autoconf-2.1.3 and copy them to /usr/share directory and run
`/c/autoconf-2.13/autoconf` under `mozjs-60.1.1pre3/js/src` directory.
-
-```
-cp -r autoconf-2.13 /usr/share/
-```
-
-### "Access is denied" when running configure
-
-```
-Traceback (most recent call last):
- File "../../../configure.py", line 127, in <module>
- sys.exit(main(sys.argv))
- File "../../../configure.py", line 29, in main
- sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 409, in run
- self._value_for(option)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 477, in _value_for
- return self._value_for_option(obj)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
-$
- not self._value_for(implied_option.when)):
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 199, in result
- return self._func(resolved_args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 198, in <genexpr>
- for d in self.dependencies)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 122, in result
- for d in self.dependencies]
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 122, in result
- for d in self.dependencies]
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 122, in result
- for d in self.dependencies]
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 122, in result
- for d in self.dependencies]
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 474, in _value_for
- return self._value_for_depends(obj, need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 483, in _value_for_depends
- return obj.result(need_help_dependency)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\util.py", line 944, in
method_call
- cache[args] = self.func(instance, *args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 123, in result
- return self._func(*resolved_args)
- File "c:\mozjs-60.1.1pre3\python\mozbuild\mozbuild\configure\__init__.py",
line 1003, in wrapped
- return new_func(*args, **kwargs)
- File "c:/mozjs-60.1.1pre3/build/moz.configure/toolchain.configure", line
625, in vc_compiler_path
- all_versions = sorted(get_vc_paths(env.topsrcdir), key=itemgetter(0))
- File "c:/mozjs-60.1.1pre3/build/moz.configure/toolchain.configure", line
572, in get_vc_paths
- for install in vswhere(['-legacy', '-version', '[14.0,15.0)']):
- File "c:/mozjs-60.1.1pre3/build/moz.configure/toolchain.configure", line
568, in vswhere
- ] + args).decode(encoding, 'replace'))
- File "c:\mozilla-build-3.2\python\Lib\subprocess.py", line 216, in
check_output
- process = Popen(stdout=PIPE, *popenargs, **kwargs)
- File "c:\mozilla-build-3.2\python\Lib\subprocess.py", line 394, in __init__
- errread, errwrite)
- File "c:\mozilla-build-3.2\python\Lib\subprocess.py", line 644, in
_execute_child
- startupinfo)
-WindowsError: [Error 5] Access is denied
-
-```
-
-Note: `vswhere.exe` provide in `mozjs-60.1.1pre3` is not working. I replace
mozjs-60.1.1pre3\build\win32\vswhere.exe with
-C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe.
-
-### Header files: No such file or directory
-
-```
-c:/mozjs-60.1.1pre3/js/src/build.j/_virtualenv/Scripts/python.exe -m
mozbuild.action.cl cl.exe -FoUnified_cpp_js_src36.obj -c -DDEBUG=1
-DENABLE_WASM_GLOBAL -DWASM_HUGE_MEMORY -DJS_CACHEIR_SPEW
-DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE
-Ic:/mozjs-60.1.1pre3/js/src -Ic:/mozjs-60.1.1pre3/js/src/build.j/js/src
-Ic:/mozjs-60.1.1pre3/js/src/build.j/dist/include -MDd -FI
c:/mozjs-60.1.1pre3/js/src/build.j/js/src/js-confdefs.h -DMOZILLA_CLIENT -utf-8
-TP -nologo -wd4800 -w [...]
-Unified_cpp_js_src36.cpp
-c:/mozjs-60.1.1pre3/js/src/vm/PosixNSPR.cpp(14): fatal error C1083: Cannot
open include file: 'sys/time.h': No such file or directory
-mozmake[3]: *** [c:/mozjs-60.1.1pre3/config/rules.mk:1049:
Unified_cpp_js_src36.obj] Error 2
-```
-
-```
-c:/mozjs-60.1.1pre3/js/src/build.j/_virtualenv/Scripts/python.exe -m
mozbuild.action.cl cl.exe -FoUnified_cpp_js_src39.obj -c -DDEBUG=1
-DENABLE_WASM_GLOBAL -DWASM_HUGE_MEMORY -DJS_CACHEIR_SPEW
-DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE
-Ic:/mozjs-60.1.1pre3/js/src -Ic:/mozjs-60.1.1pre3/js/src/build.j/js/src
-Ic:/mozjs-60.1.1pre3/js/src/build.j/dist/include -MDd -FI
c:/mozjs-60.1.1pre3/js/src/build.j/js/src/js-confdefs.h -DMOZILLA_CLIENT -utf-8
-TP -nologo -wd4800 -w [...]
-Unified_cpp_js_src39.cpp
-c:/mozjs-60.1.1pre3/js/src/vm/Time.cpp(30): fatal error C1083: Cannot open
include file: 'prinit.h': No such file or directory
-```
-
-Note: we might have to create some patches for `mozjs-60.1.1pre3` windows
version. Now just commented out these.
-
-[Update: bugzilla says that Windows builds using NSPR Posix emulation are
unsupported, so for CouchDB 3.0 we're just building with NSPR enabled. It
builds just fine. None of the problems in the point below occur.]
-
-### Failed to build nspr
-
-```
-c:/mozjs/mozjs-60.1.1pre3/js/src/build.a/_virtualenv/Scripts/python.exe -m
mozbuild.action.cl cl.exe -Foprdir.obj -c -DDEBUG=1 -D_NSPR_BUILD_ -DWIN32
-DXP_PC -D_PR_GLOBAL_THREADS_ONLY -DWIN95 -UWINNT
-DDO_NOT_WAIT_FOR_CONNECT_OVERLAPPED_OPERATIONS -D_AMD64_
-Ic:/mozjs/mozjs-60.1.1pre3/config/external/nspr/pr
-Ic:/mozjs/mozjs-60.1.1pre3/js/src/build.a/config/external/nspr/pr
-Ic:/mozjs/mozjs-60.1.1pre3/config/external/nspr
-Ic:/mozjs/mozjs-60.1.1pre3/nsprpub/pr/include -Ic:/mozjs/mozjs-6 [...]
-C:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\shared\stralign.h(120): warning C4090: 'argument':
different '__unaligned' qualifiers
-prdir.c
-C:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\shared\kernelspecs.h(58): warning C4005:
'HIGH_LEVEL': macro redefinition
-C:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\shared\kernelspecs.h(55): note: see previous
definition of 'HIGH_LEVEL'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7531):
warning C4005: 'CONTEXT_CONTROL': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3808):
note: see previous definition of 'CONTEXT_CONTROL'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7532):
warning C4005: 'CONTEXT_INTEGER': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3809):
note: see previous definition of 'CONTEXT_INTEGER'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7533):
warning C4005: 'CONTEXT_SEGMENTS': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3810):
note: see previous definition of 'CONTEXT_SEGMENTS'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7534):
warning C4005: 'CONTEXT_FLOATING_POINT': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3811):
note: see previous definition of 'CONTEXT_FLOATING_POINT'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7535):
warning C4005: 'CONTEXT_DEBUG_REGISTERS': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3812):
note: see previous definition of 'CONTEXT_DEBUG_REGISTERS'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7539):
warning C4005: 'CONTEXT_FULL': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3815):
note: see previous definition of 'CONTEXT_FULL'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7543):
warning C4005: 'CONTEXT_ALL': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3819):
note: see previous definition of 'CONTEXT_ALL'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7545):
warning C4005: 'CONTEXT_XSTATE': macro redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3821):
note: see previous definition of 'CONTEXT_XSTATE'
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(7597):
error C2011: '_CONTEXT': 'struct' type redefinition
-C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h(3886):
note: see declaration of '_CONTEXT'
-C:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\shared\stralign.h(120): warning C4090: 'function':
different '__unaligned' qualifiers
-mozmake[3]: *** [c:/mozjs/mozjs-60.1.1pre3/config/rules.mk:774: prdir.obj]
Error 2
-mozmake[3]: Leaving directory
'c:/mozjs/mozjs-60.1.1pre3/js/src/build.a/config/external/nspr/pr'
-mozmake[2]: *** [c:/mozjs/mozjs-60.1.1pre3/config/recurse.mk:73:
config/external/nspr/pr/target] Error 2
-```
-
-Note: NSPR is not easy to build in windows. I use --enable-posix-nspr-emulation
-
-### New Windows 10 SDK
-```
-ERROR: Found SDK version 10.0.18362.0 but clang-cl builds currently don't work
with SDK version 10.0.16299.0 and later. You should use an older SDK, either by
uninstalling the broken one or setting a custom WINDOWSSDKDIR
-```
-
-Note: we might get above error when running configure. Need to use proper
window SDK.
-
-[Update: Seems resolved with MozillaBuild 3.3.]
-
-### Windows Universal CRT SDK
-
-```
-Cannot open include file corecrt.h
-```
-Note: we need to install "Windows Universal CRT SDK"