You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by "big-r81 (via GitHub)" <gi...@apache.org> on 2024/08/15 20:50:05 UTC

[PR] Update build tools [couchdb-glazier]

big-r81 opened a new pull request, #37:
URL: https://github.com/apache/couchdb-glazier/pull/37

   - Update build tools
   - Install tools into tools directory (default: c:\tools)


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301469603

   > It can come handy for developers as well. You can always default to `https://github.com/apache/couchdb-glaizer`.
   
   I think it's a good idea. The question is now, if we only add the simple bootstrap script for the moment and do the additional features in a separate PR? The initial idea was to update and simplify the build steps for CouchDB in Windows.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301278779

   > I see these error messages at the end:
   > 
   > ```
   > The following packages will be built and installed:
   >     icu[core,tools]:x64-windows -> 73.1
   > error: in triplet x64-windows: Unable to find a valid Visual Studio instance
   > Could not locate a complete Visual Studio instance
   > The following paths were examined for Visual Studio instances:
   >   C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary/Build\vcvarsall.bat
   > 
   > Installing OpenSSL ...
   > Computing installation plan...
   > The following packages will be built and installed:
   >     openssl:x64-windows -> 3.1.3
   >   * vcpkg-cmake:x64-windows -> 2023-05-04
   >   * vcpkg-cmake-config:x64-windows -> 2022-02-06#1
   >   * vcpkg-cmake-get-vars:x64-windows -> 2023-03-02
   > Additional packages (*) will be modified to complete this operation.
   > error: in triplet x64-windows: Unable to find a valid Visual Studio instance
   > Could not locate a complete Visual Studio instance
   > The following paths were examined for Visual Studio instances:
   >   C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary/Build\vcvarsall.bat
   > 
   > Downloading SpiderMonkey ...
   > Installing SpiderMonkey ...
   > VALUE: &archiver.TarXz{Tar:(*archiver.Tar)(0xc00005c720)}
   > copy : Container cannot be copied onto existing leaf item.
   > At C:\relax\couchdb-glazier\bin\install_dependencies.ps1:83 char:1
   > + copy -Recurse -Force "$smBuild\*" $vcpkgBase
   > + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   >     + CategoryInfo          : InvalidArgument: (C:\relax\Windows-mozjs-91\include:String) [Copy-Item], PSArgumentException
   >     + FullyQualifiedErrorId : CopyContainerItemToLeafError,Microsoft.PowerShell.Commands.CopyItemCommand
   > 
   > copy : Container cannot be copied onto existing leaf item.
   > At C:\relax\couchdb-glazier\bin\install_dependencies.ps1:83 char:1
   > + copy -Recurse -Force "$smBuild\*" $vcpkgBase
   > + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   >     + CategoryInfo          : InvalidArgument: (C:\relax\Windows-mozjs-91\lib:String) [Copy-Item], PSArgumentException
   >     + FullyQualifiedErrorId : CopyContainerItemToLeafError,Microsoft.PowerShell.Commands.CopyItemCommand
   > ```
   > 
   > In result, SpiderMonkey cannot be found on configure:
   > 
   > ```
   > .\configure.ps1
   > ERROR: SpiderMonkey 91 is not found. Please specify with -SpiderMonkeyVersion.
   > ```
   
   It seems, your branch is updated. The copy commands doesn't exists anymore ...


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299613713

   > > The libraries requested by the linker is on the `LIBPATH` (cf. `echo $env:LIBPATH`) but the full `LIBPATH` somehow does not make it to the site of invocation.
   > 
   > Mhh, we set explicitly the LIBPATH and yes it’s not catched up by the port compiler …
   
   I have just learnt that the linker uses the `LIB` environment variable instead.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301281845

   Aw, you are right.  I was using the wrong branch :-(


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296151234

   Thanks @big-r81 — yes, I have been planning to test your PR today or tomorrow.  I will get back to you on this once I have done it.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301489998

   > I do not insist on addressing all these issues in a single PR. That said, let us make the bootstrap script a separate commit and PR.
   
   Yes, sounds good. So for the current state, all changes works for you on a fresh install?


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299825686

   https://learn.microsoft.com/en-us/dotnet/core/extensions/globalization-icu#icu-on-windows


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "nickva (via GitHub)" <gi...@apache.org>.
nickva commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296915398

   @big-r81 unfortunately my windows instance is a physical machine and re-installing it probably won't work. I never did it just came with the laptop.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296145820

   @nickva, @pgj 
   Hey, I updated this PR and added some handling of the downloaded artifacts. Maybe you can test this PR on a fresh Windows instalation and give feedback (if you have time).
   
   Gábor: If this PR is merged, I would additional test your Clouseau PR!


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


Re: [PR] Update build tools [couchdb-glazier]

Posted by "nickva (via GitHub)" <gi...@apache.org>.
nickva commented on code in PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#discussion_r1719021318


##########
bin/variables.ps1:
##########
@@ -10,38 +10,44 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
+# Installation directory for build tools
+$toolsDir = "C:\tools"
+
 # VCPKG SETTINGS
 
 # Download location of Vcpkg for Windows
-$vcpkgVersion = "2023.10.19"
+$vcpkgVersion = "2024.07.12"
 $vcpkgUri = "https://github.com/microsoft/vcpkg/archive/refs/tags/${vcpkgVersion}.zip"
 $vcpkgFile = Split-Path $vcpkgUri -Leaf
-$vcpkgInstallPath = "C:\tools\vcpkg"
+$vcpkgInstallPath = "${toolsDir}\vcpkg"
 $vcpkgBase = "${vcpkgInstallPath}\installed\x64-windows"
 
 # ERLANG BUILD SETTINGS
 
 # Download location of the Erlang/OTP Environment for Windows (x64)
-$erlVersion = "25.3.2.12"
+$erlVersion = "25.3.2.13"
 $erlBuildUri = "https://github.com/erlang/otp/releases/download/OTP-${erlVersion}/otp_win64_${erlVersion}.exe"
 $erlBuildFile = Split-Path $erlBuildUri -Leaf
 $erlDir = "erl-${erlVersion}"
-$erlInstallPath = "C:\tools\${erlDir}"
+$erlInstallPath = "${toolsDir}\${erlDir}"
 
 # ERLANG BUILD SETTINGS
 
 # Download location of the Elixir binaries for Windows (x64)
-$elxBuildUri = "https://github.com/elixir-lang/elixir/releases/download/v1.15.7/elixir-otp-25.zip"
+$elxVersion = "1.15.7"
+$elxBuildUri = "https://github.com/elixir-lang/elixir/releases/download/v${elxVersion}/elixir-otp-25.zip"
 $elxBuildFile = Split-Path $elxBuildUri -Leaf
-$elxInstallPath = "C:\relax\elixir"
+$elxDir = "elixir-${elxVersion}"
+$elxInstallPath = "${toolsDir}\${elxDir}"
 
 # SPIDERMONKEY SETTINGS
 
-# Donwload location of the SpiderMonkey development files for Windows (x64)
+# Download location of the pre-build SpiderMonkey development files for Windows (x64)
 $smBuild = "Windows-mozjs-91"
-$smBuildUri = "https://github.com/big-r81/couchdb-sm/releases/download/v0.0.3/$smBuild.tar.xz"
+$smBuildVersion = "0.0.5"
+$smBuildUri = "https://github.com/big-r81/couchdb-sm/releases/download/v${smBuildVersion}/${smBuild}.tar.xz"
 $smBuildFile = Split-Path $smBuildUri -Leaf
-$smInstallPath = "C:\relax\vcpkg\installed\x64-windows"
+$smInstallPath = "${vcpkgBase}"

Review Comment:
   good catch



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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301420463

   > Do not we want it make the bootstrap script parametric? One may want to use it against different branches and forks of `apache/couchdb-glazier`.
   
   Mhhh, my idea was that a user just run it (with a doubelick or per shell) and all is setup, like the bootstrap script of vcpkg ...


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 merged PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296855167

   The fresh install seems to be working, but then I ran into this issue when trying to build CouchDB:
   
   ```console
   ERROR: sh(cmd /q /c link.exe priv/couch_ejson_compare/couch_ejson_compare.o  icuin.lib icudt.lib icuuc.lib /DLL  /LIBPATH:"c:/tools/erl-25.3.2.13/lib/erl_interface-5.3.2.1/lib" ei.lib  /OUT:priv/couch_ejson_compare.dll)
   failed with return code 1120 and the following output:
   Microsoft (R) Incremental Linker Version 14.41.34120.0
   Copyright (C) Microsoft Corporation.  All rights reserved.
   
      Creating library priv\couch_ejson_compare.lib and object priv\couch_ejson_compare.exp
   couch_ejson_compare.o : error LNK2019: unresolved external symbol u_getVersion_74 referenced in function get_icu_version
   couch_ejson_compare.o : error LNK2019: unresolved external symbol uiter_setUTF8_74 referenced in function compare_strings
   couch_ejson_compare.o : error LNK2019: unresolved external symbol ucol_open_74 referenced in function get_collator
   couch_ejson_compare.o : error LNK2019: unresolved external symbol ucol_close_74 referenced in function on_unload
   couch_ejson_compare.o : error LNK2019: unresolved external symbol ucol_strcollIter_74 referenced in function compare_strings
   couch_ejson_compare.o : error LNK2019: unresolved external symbol ucol_getVersion_74 referenced in function get_collator_version
   couch_ejson_compare.o : error LNK2019: unresolved external symbol ucol_getUCAVersion_74 referenced in function get_uca_version
   priv\couch_ejson_compare.dll : fatal error LNK1120: 7 unresolved externals
   ```


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301241825

   One minor note.  Maybe that is unrelated but it bugs me a bit.
   
   After installing `git` via `choco`, the path for the binaries is not (automatically) added to the `PATH`:
   
   ```console
   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://community.chocolatey.org/install.ps1'))
   choco feature enable -n allowGlobalConfirmation
   choco install git
   ```
   
   Thus the invocations of `git` does not work out-of-the-box as the subsequent instructions would suggest:
   
   ```console
   git config --global core.autocrlf false
   git clone https://github.com/apache/couchdb-glazier
   ```
   
   To make them work, I had insert the following line:
   
   ```console
   $env:PATH = $env:PATH + ';C:\Program Files\Git\bin'
   ```


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301289008

   > One minor note. Maybe that is unrelated but it bugs me a bit.
   > 
   > After installing `git` via `choco`, the path for the binaries is not (automatically) added to the `PATH`:
   > 
   > ```
   > 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://community.chocolatey.org/install.ps1'))
   > choco feature enable -n allowGlobalConfirmation
   > choco install git
   > ```
   > 
   > Thus the invocations of `git` does not work out-of-the-box as the subsequent instructions would suggest:
   > 
   > ```
   > git config --global core.autocrlf false
   > git clone https://github.com/apache/couchdb-glazier
   > ```
   > 
   > To make them work, I had insert the following line:
   > 
   > ```
   > $env:PATH = $env:PATH + ';C:\Program Files\Git\bin'
   > ```
   
   Oh good point, we need to call `refreshenv`, but it isn't available at this time, so we would need to use an explicit workaround like (here)[https://github.com/apache/couchdb-glazier/blob/e13f3eb48f4562da2e62d3486a0b6a60cde2d47b/bin/install_dependencies.ps1#L32-L37]. The benefit would be, that we don't need to hardcode the path.
   
   We should add a `bottstrap` script, which does all these steps automatically...
   


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299882037

   So, I updated the PR and changed the order of the appended (prepended) paths. It should work now!


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301513486

   Yes, they do.


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


Re: [PR] Update build tools [couchdb-glazier]

Posted by "nickva (via GitHub)" <gi...@apache.org>.
nickva commented on code in PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#discussion_r1719021588


##########
bin/variables.ps1:
##########
@@ -10,38 +10,44 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
+# Installation directory for build tools
+$toolsDir = "C:\tools"

Review Comment:
   good idea, @big-r81 



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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2297046779

   > The libraries requested by the linker is on the `LIBPATH` (cf. `echo $env:LIBPATH`) but the full `LIBPATH` somehow does not make it to the site of invocation.
   
   Mhh, we set explicitly the LIBPATH and yes it’s not catched up by the port compiler …


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299817429

   I think I have found something curious.  One of the directories on the library path (in the `LIB` environment variable) has _some_ of the ICU libraries, which — I believe — confuses the linker.  This is the "Windows Kits" library directory: `C:\Program Files (x86)\Windows Kits\10\Lib\10.0.2261.0\um\x64` which has `icu.lib`, `icuin.lib`, and `icuuc.lib`.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299791749

   > I have just learnt that the linker uses the `LIB` environment variable instead.
   
   `LIB` and `LIBPATH` should be the same and I’m pondering why it doesn’t work now…
   


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299853278

   Right, we do not necessarily need the `icu` package via `vcpkg`.  However, according to the documentation I linked above in my comment, the built-in ICU has to be used somewhat differently.  There is a single unified `icu.h` and `icu.lib` and that have to be added to the corresponding places.  See https://github.com/microsoft/icu for more information.
   
   With the `icu` package having removed, and having fixed the header and library name references, I was able to build the code on Windows again.  Note that Windows ships only ICU 72 but I guess that is enough for us.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299552515

   Please remember to update the `README` file as well.  It has some version numbers included.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2299844955

   > I think I have found something curious. One of the directories on the library path (in the `LIB` environment variable) has _some_ of the ICU libraries, which — I believe — confuses the linker. This is the "Windows Kits" library directory: `C:\Program Files (x86)\Windows Kits\10\Lib\10.0.2261.0\um\x64` which has `icu.lib`, `icuin.lib`, and `icuuc.lib`.
   
   1. A interesting. I have an idea. I changed the logic, how the env vars `LIB` and `LIBPATH` are created. Now the paths are appended to the end of teh env vars and before they were prepended. I will change the order and test again.
   
   2. Maybe we don't need the extra vcpkg-icu libs anymore?


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301481630

   I do not insist on addressing all these issues in a single PR.  That said, let us make the bootstrap script a separate commit and PR.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296896894

   Ok, the same error did I encountered too. It seems the path to lib dir of vcpkg isn’t available for the port compiler. I think we have to set it from an env variable and append maybe [here](https://github.com/apache/couchdb/blob/b85d4bb143550ad7227152c3f5e2fc6a6cf98f96/src/couch/rebar.config.script#L229).
   
   I think there needs some clean of the compiler/linker switches for Windows.


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


Re: [PR] Update build tools [couchdb-glazier]

Posted by "nickva (via GitHub)" <gi...@apache.org>.
nickva commented on code in PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#discussion_r1719022454


##########
bin/install_dependencies.ps1:
##########
@@ -13,18 +13,23 @@
 # Sourcing variable definitions
 . ${PSScriptRoot}\variables.ps1
 
+if (-not (Test-Path -Path $toolsDir)) {
+  New-Item -Path $toolsDir -ItemType Directory
+}
+
 # Exclude c:\relax from MS defender to speed up things
 Add-MpPreference -ExclusionPath "C:\relax"
+Add-MpPreference -ExclusionPath "${toolsDir}"

Review Comment:
   very nice!



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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2296902846

   The libraries requested by the linker is on the `LIBPATH` (cf. `echo $env:LIBPATH`) but the full `LIBPATH` somehow does not make it to the site of invocation.


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301398940

   Do not we want it make the bootstrap script parametric?  One may want to use it against different branches and forks of `apache/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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301438044

   > Mhhh, my idea was that a user just run it (with a doubelick or per shell) and all is setup, like the bootstrap script of vcpkg ...
   
   It can come handy for developers as well.
   


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301272159

   I see these error messages at the end:
   
   ```console
   The following packages will be built and installed:
       icu[core,tools]:x64-windows -> 73.1
   error: in triplet x64-windows: Unable to find a valid Visual Studio instance
   Could not locate a complete Visual Studio instance
   The following paths were examined for Visual Studio instances:
     C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary/Build\vcvarsall.bat
   
   Installing OpenSSL ...
   Computing installation plan...
   The following packages will be built and installed:
       openssl:x64-windows -> 3.1.3
     * vcpkg-cmake:x64-windows -> 2023-05-04
     * vcpkg-cmake-config:x64-windows -> 2022-02-06#1
     * vcpkg-cmake-get-vars:x64-windows -> 2023-03-02
   Additional packages (*) will be modified to complete this operation.
   error: in triplet x64-windows: Unable to find a valid Visual Studio instance
   Could not locate a complete Visual Studio instance
   The following paths were examined for Visual Studio instances:
     C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary/Build\vcvarsall.bat
   
   Downloading SpiderMonkey ...
   Installing SpiderMonkey ...
   VALUE: &archiver.TarXz{Tar:(*archiver.Tar)(0xc00005c720)}
   copy : Container cannot be copied onto existing leaf item.
   At C:\relax\couchdb-glazier\bin\install_dependencies.ps1:83 char:1
   + copy -Recurse -Force "$smBuild\*" $vcpkgBase
   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       + CategoryInfo          : InvalidArgument: (C:\relax\Windows-mozjs-91\include:String) [Copy-Item], PSArgumentException
       + FullyQualifiedErrorId : CopyContainerItemToLeafError,Microsoft.PowerShell.Commands.CopyItemCommand
   
   copy : Container cannot be copied onto existing leaf item.
   At C:\relax\couchdb-glazier\bin\install_dependencies.ps1:83 char:1
   + copy -Recurse -Force "$smBuild\*" $vcpkgBase
   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       + CategoryInfo          : InvalidArgument: (C:\relax\Windows-mozjs-91\lib:String) [Copy-Item], PSArgumentException
       + FullyQualifiedErrorId : CopyContainerItemToLeafError,Microsoft.PowerShell.Commands.CopyItemCommand
   ```
   
   In result, SpiderMonkey cannot be found on configure:
   
   ```console
   .\configure.ps1 -WithClouseau
   ERROR: SpiderMonkey 91 is not found. Please specify with -SpiderMonkeyVersion.
   ```


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "pgj (via GitHub)" <gi...@apache.org>.
pgj commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301299544

   > we would need to use an explicit workaround like [here](https://github.com/apache/couchdb-glazier/blob/e13f3eb48f4562da2e62d3486a0b6a60cde2d47b/bin/install_dependencies.ps1#L32-L37).
   
   Nice!  Yes, I can confirm that works.
   


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


Re: [PR] dev(toolchain): Update toolchain and versions [couchdb-glazier]

Posted by "big-r81 (via GitHub)" <gi...@apache.org>.
big-r81 commented on PR #37:
URL: https://github.com/apache/couchdb-glazier/pull/37#issuecomment-2301390280

   Hey Gábor, could you test this "bootstrap" script, instead of doing the "first" steps manually?
   
   ```powershell
   $relaxDir = "C:\relax"
   
   if (-not (Test-Path -Path $relaxDir)) {
     New-Item -Path $relaxDir -ItemType Directory
   }
   
   Set-Location $relaxDir
   
   Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
   choco feature enable -n allowGlobalConfirmation
   choco install git
   
   # Explicit workaround that refresnenv is working for this powershell shell
   $ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
   if (Test-Path($ChocolateyProfile)) {
     Import-Module "$ChocolateyProfile"
   }
   refreshenv
   
   git config --global core.autocrlf false
   git clone https://github.com/apache/couchdb-glazier
   &.\couchdb-glazier\bin\install_dependencies.ps1
   ```


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