Hi Ronny,

   If you follow its configuration here:

https://github.com/apache/couchdb/blob/main/src/couch/rebar.config.script#L197
to IcuWinEnv, it doesn't set any search paths like other OSes since it is
expecting these paths to already be setup in the environment.

>From your earlier email I saw:

ERROR: sh(cmd /q /c link.exe priv/couch_ejson_compare/couch_ejson_compare.o
icuin.lib icudt.lib icuuc.lib /DLL  /LIBPATH:"c:/Program
Files/erl9.3.3.14/lib/erl_interface-3.10.2.2/lib" ei.lib
/OUT:priv/couch_ejson_compare.dll)

I'm not sure why the vcpkg setup from glazier isn't applying library paths
to the environment, (dumping the env with set(?) might help identify the
cause) but in IcuWinEnv you could try adding a /LIBPATH before the ICU
libraries with their location to get a clean build of this nif which
hopefully then runs.. I think order might also not be important to window's
linker so an alternative is to just jam a copy of the vcpkg directories
into that erl_interface directory.
Cheers,
Will Young


Am Mi., 24. Nov. 2021 um 17:50 Uhr schrieb Ronny Berndt
<ro...@kioskkinder.com.invalid>:
>
> Hi,
>
> today I hacked manually the missing unresolved symbols for sm 60 in and
> compiled the icu lib by myself. So I was able to create the
> couchdb v3.2.1 executable and the installer.
>
> Side note: running the tests wasn't successful!
>
> I can run .\dev\run.cmd or the installed version. If I click on "Verify
> Installation" I get the following error messages, see
> https://pastebin.com/55kyfint
>
> Jan and I running out of the origin of the problem...
>
> Cheers, Ronny
>
>
> Florian Beckert & Ronny Berndt GbR
> Saalstr. 3
> 07743 Jena
>
> Tel.    03641 - 6391110
> Fax.    03641 - 219637
> E-Mail: p...@kioskkinder.com
>
>
> Am Mi., 17. Nov. 2021 um 23:13 Uhr schrieb Will Young <
> lostnetwork...@gmail.com>:
>
> > Hi,
> >
> >   Are you sure these PS shells are running from the glazier
> > bin/shell1.ps usually referred to as the same powershell in the docs?
> >
> >    Looking at the pastebin it looks like libicu is being passed to the
> > windows linker in UNIX proper style so it is being ignored, so the
> > pkg-config setup didn't really change that all the icu symbols are
> > going to be missing. In the later make for couch with the copied mozjs
> > binaries, it also looks like the vcpkg paths are not in the linker's
> > "LIBPATH" and so it makes sense that the missing symbols are again
> > from libraries being added there.
> >
> > I don't think you need to add pkg-conf (or don't want to give it a
> > real configuration), rather glazier's bin/shell.ps1 launched by or
> > after the bin/install_dependencies.ps1 has all the necessary path
> > settings. (AFAIK windows does some dll's search voodoo so only having
> > the paths is important and explicit -llibname like options simply
> > aren't used.)
> >
> > I've not really tried glazier and don't actually have windows locally,
> > I am just using it as a guide for wsl in github actions, so my
> > apologies if I'm way off on how it works..
> >   Will Young
> >

Reply via email to