You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2021/11/19 15:41:28 UTC

[GitHub] [couchdb] arekdygas opened a new issue #3838: Glazier issues during SpiderMonkey build

arekdygas opened a new issue #3838:
URL: https://github.com/apache/couchdb/issues/3838


   ## Description
   
   When running command:
   
   `../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`
   
   I get the following output:
   
   ```
   arek@DESKTOP-8FQIKTH /c/relax/gecko-dev/js/src/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 --tar
   get=x86_64-pc-mingw32 --host=x86_64-pc-mingw32 --prefix=/c/relax/vcpkg/installed/x64-windows
   Creating Python environment
   New python executable in c:\relax\gecko-dev\js\src\build_OPT.OBJ\_virtualenv\Scripts\python2.7.exe
   Also creating executable in c:\relax\gecko-dev\js\src\build_OPT.OBJ\_virtualenv\Scripts\python.exe
   Installing setuptools, pip, wheel...done.
   running build_ext
   
   building 'psutil._psutil_windows' extension
   
   error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
   
   
   Error processing command. Ignoring because optional. (optional:setup.py:third_party/python/psutil:build_ext:--inplace)
   Error processing command. Ignoring because optional. (optional:packages.txt:comm/build/virtualenv_packages.txt)
   c:\relax\gecko-dev\python\mozbuild\mozbuild\virtualenv.py:376: UserWarning: Hacking environment to allow binary Python extensions to build. You can make this warning go away by installing Visual Studio 2008. You can download the Express Edition installer from http://go.microsoft.com/?linkid=7729279
     warnings.warn('Hacking environment to allow binary Python '
   Reexecuting in the virtualenv
   checking for vcs source checkout... git
   checking for a shell... C:/mozilla-build/msys/bin/sh.exe
   checking for host system type... x86_64-pc-mingw32
   checking for target system type... x86_64-pc-mingw32
   checking for a shell... C:/mozilla-build/msys/bin/sh.exe
   checking for host system type... x86_64-pc-mingw32
   checking for target system type... x86_64-pc-mingw32
   checking for android platform directory... no
   checking for android sysroot directory... no
   checking for android system directory... no
   checking for the Android toolchain directory... not found
   checking for android platform directory... no
   checking for android system directory... no
   checking for android sysroot directory... no
   checking for the Android toolchain directory... not found
   checking for vcs source checkout... git
   checking whether cross compiling... no
   checking for the target C compiler... 'C:/PROGRA~2/MICROS~2/2017/BUILDT~1/VC/Tools/MSVC/1416~1.270/bin/HostX64/x64/cl.exe'
   checking whether the target C compiler can be used... yes
   checking for Python 3... c:\mozilla-build\python3\python3.EXE (3.7.4)
   checking for git... 'c:/PROGRA~1/Git/cmd/git.exe'
   checking for Git version... 2.33.1.windows.1
   checking for sparse checkout... no
   checking for pkg_config... not found
   checking for yasm... c:/mozilla-build/bin/yasm.exe
   checking yasm version... 1.3.0
   checking for android ndk version... no
   checking for GoogleVR SDK... Not specified
   checking the target C compiler version... 19.16.27045
   checking the target C compiler works... yes
   checking for the target C++ compiler... 'C:/PROGRA~2/MICROS~2/2017/BUILDT~1/VC/Tools/MSVC/1416~1.270/bin/HostX64/x64/cl.exe'
   checking whether the target C++ compiler can be used... yes
   checking the target C++ compiler version... 19.16.27045
   checking the target C++ compiler works... yes
   checking for the host C compiler... 'C:/PROGRA~2/MICROS~2/2017/BUILDT~1/VC/Tools/MSVC/1416~1.270/bin/HostX64/x64/cl.exe'
   checking whether the host C compiler can be used... yes
   checking the host C compiler version... 19.16.27045
   checking the host C compiler works... yes
   checking for the host C++ compiler... 'C:/PROGRA~2/MICROS~2/2017/BUILDT~1/VC/Tools/MSVC/1416~1.270/bin/HostX64/x64/cl.exe'
   checking whether the host C++ compiler can be used... yes
   checking the host C++ compiler version... 19.16.27045
   checking the host C++ compiler works... yes
   checking for 64-bit OS... yes
   checking bindgen cflags... no
   checking for Windows SDK... 0x0a00 in 'C:\Program Files (x86)\Windows Kits\10\'
   checking for Universal CRT SDK... 10.0.18362.0 in 'C:\Program Files (x86)\Windows Kits\10\'
   checking for the Debug Interface Access SDK... C:/PROGRA~2/MICROS~2/2017/BUILDT~1/DIA SDK
   checking for mt... 'C:/PROGRA~2/WI3CF2~1/10/bin/100183~1.0/x64/mt.exe'
   checking whether MT is really Microsoft Manifest Tool... yes
   checking for linker... 'C:/PROGRA~2/MICROS~2/2017/BUILDT~1/VC/Tools/MSVC/1416~1.270/bin/HostX64/x64/link.exe'
   checking for makecab... c:/Windows/System32/makecab.exe
   checking for fxc... 'C:/PROGRA~2/WI3CF2~1/10/bin/100183~1.0/x64/fxc.exe'
   checking for stdint.h... yes
   checking for inttypes.h... yes
   checking for malloc.h... yes
   checking for alloca.h... no
   checking for perf_event_open system call... no
   checking for awk... C:/mozilla-build/msys/bin/gawk.exe
   checking for perl... C:/mozilla-build/msys/bin/perl.exe
   checking for minimum required perl version >= 5.006... 5.008008
   checking for full perl installation... yes
   checking for gmake... C:/mozilla-build/msys/local/bin/make.exe
   checking for watchman... c:/mozilla-build/bin/watchman.exe
   checking for watchman version... 4.9.1
   checking for xargs... C:/mozilla-build/msys/bin/xargs.exe
   checking for makensisu... c:/mozilla-build/nsis-3.01/makensis-3.01.exe
   checking for NSIS version... 3.01
   checking for 32-bit NSIS... yes
   checking for 7z... c:/mozilla-build/bin/7z.exe
   checking for autoconf... C:/mozilla-build/msys/local/bin/autoconf-2.13
   Refreshing c:/relax/gecko-dev/js/src/old-configure with C:/mozilla-build/msys/local/bin/autoconf-2.13
   creating cache ./config.cache
   checking host system type... x86_64-pc-mingw32
   checking target system type... x86_64-pc-mingw32
   checking build system type... x86_64-pc-mingw32
   checking for gcc... cl.exe
   checking whether the C compiler (cl.exe  ) works... yes
   checking whether the C compiler (cl.exe  ) is a cross-compiler... no
   checking whether we are using GNU C... no
   checking whether cl.exe accepts -g... no
   checking for c++... cl.exe
   checking whether the C++ compiler (cl.exe  ) works... yes
   checking whether the C++ compiler (cl.exe  ) is a cross-compiler... no
   checking whether we are using GNU C++... no
   checking whether cl.exe accepts -g... no
   checking for ranlib... :
   checking for ml64... /c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/ml64
   checking for ar... no
   checking for strip... no
   checking for windres... no
   checking for _getc_nolock... yes
   checking for sb-conf... no
   checking for ve... no
   checking for X... no
   checking NSPR selection... source-tree
   checking for valid optimization flags... yes
   checking what kind of list files are supported by the linker... list
   *** The pkg-config script could not be found. Make sure it is
   *** in your path, or set the PKG_CONFIG environment variable
   *** to the full path to pkg-config.
   *** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config.
   configure: error: Library requirements (icu-i18n >= 59.1) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
   DEBUG: <truncated - see config.log for full output>
   DEBUG:
   DEBUG: cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
   DEBUG: cl conftest.obj
   DEBUG:
   DEBUG: cl : Command line warning D9002 : ignoring unknown option '-LARGEADDRESSAWARE'
   DEBUG: cl : Command line warning D9002 : ignoring unknown option '-NXCOMPAT'
   DEBUG: cl : Command line warning D9002 : ignoring unknown option '-RELEASE'
   DEBUG: Microsoft (R) Incremental Linker Version 14.16.27045.0
   DEBUG: Copyright (C) Microsoft Corporation.  All rights reserved.
   DEBUG:
   DEBUG: /out:conftest.exe
   DEBUG: /out:conftest.exe
   DEBUG: conftest.obj
   DEBUG: kernel32.lib
   DEBUG: user32.lib
   DEBUG: gdi32.lib
   DEBUG: winmm.lib
   DEBUG: wsock32.lib
   DEBUG: advapi32.lib
   DEBUG: configure: error: Library requirements (icu-i18n >= 59.1) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
   ERROR: old-configure failed
   ```
   
   Problems:
   1. Microsoft Visual C++ 9.0 is required.
   
   True - this specific version is not installed, but VC++ 2015-2022 redistributables are installed (32 nad 64 bit versions).
   
   2. The pkg-config script could not be found.
   
   I found two *pkg-config* files and tried to append their locations to PATH, but without success - other errors were thrown, this time breaking the running script during execution of `pkg-config --version` command.
   
   3. Library requirements (icu-i18n >= 59.1) not met.
   
   It looks like this one is related to missing *pkg-config*, and I hope that it might work if it were correctly set up. I checked for all *icu-i18n* files on the drive, and all I found, with .pc extension, had version higher than 59.1
   
   ## Steps to Reproduce
   
   Follow the steps from couchdb-glazier/README.md
   
   ## Expected Behaviour
   
   SpiderMonkey builds with no errors.
   
   ## Your Environment
   
   Operating system: Windows 10 Enterprise Evaluation (21H1), with all current updates
   
   ## Additional Context
   
   I don't really know, whether this issue belongs here, but as there's no possibility of reporting issues in couchdb-glazier repo, I'm posting here. If this is wrong place, please point me to where I could look for help.
   
   Installation was executed on newly installed Windows, with all updates. I tried steps described in README, first using *release/couchdb_3.0.0* branch, and then using *main* branch. In both cases I got the described errors.
   
   Before getting to the SpiderMonkey build, I encountered a few additional problems, which I believe doesn't contribute to final errors:
   
   - two issues with running commands just after `choco install` (git, pip) - these required refreshing env variables
   - two issues with CRLF line endings in cloned repos: *erlang/otp* (which was fixed in *main* branch), and *gecko-dev* (I finally cloned it using `--config core.autocrlf=false` option)
   - *vswhere.exe* in *bin\shell.ps1* was not found, so full path to it was required
   - when running `./otp_build installer_win32  2>&1 | tee build_installer_win32.txt` I got multiple *Failed to locate vcredist_x86.exe because cl.exe was in an unexpected location*, but I assumed these might be ok, as the build finished.
   
   I'm still trying to figure out how to fix the SpiderMonkey issues on my own, but as I read some posts on the net, the whole build on Windows is not an easy task, especially for an older version. If anyone, who was going this path before, could point me in the correct direction, I'd be grateful.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] lostnet commented on issue #3838: Glazier issues during SpiderMonkey build

Posted by GitBox <gi...@apache.org>.
lostnet commented on issue #3838:
URL: https://github.com/apache/couchdb/issues/3838#issuecomment-982447514


   Hi @arekdygas ,
   
   The issue of pkg-config and icu has come up on the dev list and a solution to get past the configure stage by installing a version and setting pkg_config_path is [here](https://lists.apache.org/thread/of03pwwztv3d1fhkjxbnrmcp7m0bvp80)
   
   As discussed in that thread pkg-config is not actually producing useful options for the lld_linker on windows. Based on another solution from that discussion, I'm currently building esr78 and esr91 in GH workflows with this environmental variable:
   
   `LDFLAGS: "/LIBPATH:C:\\vcpkg\\installed\\x64-windows\\lib /LIBPATH:C:\\vcpkg\\installed\\x64-windows\\bin icuin.lib icudt.lib icuuc.lib"`
   
   I think that could be adapted and put in glazier's shell1.ps as: 
   
   `$env:LDFLAGS = "/LIBPATH:C:\relax\vcpkg\installed\x64-windows\lib /LIBPATH:C:\relax\vcpkg\installed\x64-windows\bin icuin.lib icudt.lib icuuc.lib" + $env:LDFLAGS`
   
   Discussions on the rest of the process for releasing 3.2.1 for windows are going to continue in slack and will probably lead to some updates to couchdb-glazier..
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] arekdygas commented on issue #3838: Glazier issues during SpiderMonkey build

Posted by GitBox <gi...@apache.org>.
arekdygas commented on issue #3838:
URL: https://github.com/apache/couchdb/issues/3838#issuecomment-982464029


   Hi @lostnet ,
   
   Thanks a lot for tips! About 10 minutes ago I was able to build CouchDB, using a slightly different approach. I had the same problems as @big-r81 had, related to ICU, but I decided to cheat the system a bit, and compiled with --with-system-icu flag, but wrote my own pkg-config tool, which returned working linker flags. Anyway - I'm about running tests, and if all works, I'll continue on Slack.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org