revery-ui / revery

:zap: Native, high-performance, cross-platform desktop apps - built with Reason!
https://www.outrunlabs.com/revery/
MIT License
8.07k stars 197 forks source link

Quickstart build step error #1088

Open ruifortes opened 3 years ago

ruifortes commented 3 years ago

Quickstart fails on a brand new Windows 10 installation. "Esy install" went ok but not the "esy build" step.

I'm using using:

I'm a mere web developer taking first steps in this native area so everything is quit over my head but I can follow instructions. Anything I can do to isolate the problem?

Thanks

Here's the "esy build" log:

PS F:\DEV\GITHUB\revery-quick-start> esy build
info esy build 0.6.10 (using package.json)
info building ocaml@4.9.1000@d41d8cd9
info building esy-cmake@0.3.5@d41d8cd9
info building yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9
info building @opam/base-bigarray@opam:base@b03491b0
info building @revery/esy-harfbuzz@2.6.8002@d41d8cd9
info building esy-angle-prebuilt@1.0.0@d41d8cd9
info building esy-sdl2@2.0.10008@d41d8cd9
info building @esy-cross/ninja-build@1.8.2001@d41d8cd9
info building @opam/base-bigarray@opam:base@b03491b0: done
info building @revery/esy-cmake@0.3.5001@d41d8cd9
info building @esy-cross/ninja-build@1.8.2001@d41d8cd9: done
info building esy-nasm@github:revery-ui/esy-nasm#64a802b@d41d8cd9
info building esy-nasm@github:revery-ui/esy-nasm#64a802b@d41d8cd9: done
      0 [main] make 3184 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xD10000) != child(0x600000)
info building esy-angle-prebuilt@1.0.0@d41d8cd9: done
info building esy-cmake@0.3.5@d41d8cd9: done
info building esy-freetype2@2.9.1008@d41d8cd9
info building esy-macdylibbundler@0.4.5@d41d8cd9
info building @revery/esy-cmake@0.3.5001@d41d8cd9: done
info building esy-libjpeg-turbo@github:revery-ui/libjpeg-turbo#dbb3dd5@d41d8cd9
info building esy-libjpeg-turbo@github:revery-ui/libjpeg-turbo#dbb3dd5@d41d8cd9: done
info building esy-skia@github:revery-ui/esy-skia#91c98f6@d41d8cd9
info building esy-macdylibbundler@0.4.5@d41d8cd9: done
info building esy-freetype2@2.9.1008@d41d8cd9: done
      0 [main] make 12463 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0x600000) != child(0xCD0000)
      1 [main] make 12523 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)
      0 [main] make 12586 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)
      0 [main] make 12669 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0x600000) != child(0xCD0000)
      0 [main] make 14399 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: ocaml@4.9.1000
    # esy-build-package: pwd: C:\Users\rsf\.esy\3\b\ocaml-4.9.1000-fdc11aa5
    # esy-build-package: running: "./esy-configure" "--disable-cfi" "--prefix" "C:/Users/rsf/.esy/3_/s/ocaml-4.9.1000-fdc11aa5"
    [esy-configure] Detected windows environment...
    [configure-windows] Setting up flexdll
    [Flexdll] Cloning...
    Cloning into 'flexdll'...
    Note: checking out 'f84baaeae463f96f9582883a9cfb7dd1096757ff'.

    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.

    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:

      git checkout -b <new-branch-name>

    HEAD is now at f84baae Bugfix: another fix for max command length
    [Flexdll] Clone successful!
    configure: Configuring OCaml version 4.09.1+dev1-2020-03-13
    checking build system type... x86_64-unknown-cygwin
    checking host system type... x86_64-w64-mingw32
    checking target system type... x86_64-w64-mingw32
    checking for x86_64-w64-mingw32-ld... x86_64-w64-mingw32-ld
    checking how to print strings... printf
    checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.exe
    checking for suffix of executables... .exe
    checking whether we are cross compiling... yes
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether x86_64-w64-mingw32-gcc accepts -g... yes
    checking for x86_64-w64-mingw32-gcc option to accept ISO C89... none needed
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-ld
    checking if the linker (x86_64-w64-mingw32-ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B
    checking the name lister (/usr/bin/x86_64-w64-mingw32-nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 8192
    checking how to convert x86_64-unknown-cygwin file names to x86_64-w64-mingw32 format... func_convert_file_cygwin_to_w32
    checking how to convert x86_64-unknown-cygwin file names to toolchain format... func_convert_file_noop
    checking for x86_64-w64-mingw32-ld option to reload object files... -r
    checking for x86_64-w64-mingw32-objdump... x86_64-w64-mingw32-objdump
    checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
    checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
    checking how to associate runtime and link libraries... func_cygming_dll_for_implib
    checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
    checking for archiver @FILE support... @
    checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip
    checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
    checking for gawk... gawk
    checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc object... ok
    checking for sysroot... no
    checking for a working dd... /usr/bin/dd
    checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
    checking for x86_64-w64-mingw32-mt... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... no
    checking for objdir... .libs
    checking if x86_64-w64-mingw32-gcc supports -fno-rtti -fno-exceptions... no
    checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
    checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
    checking if x86_64-w64-mingw32-gcc static flag -static works... yes
    checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
    checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
    checking whether the x86_64-w64-mingw32-gcc linker (x86_64-w64-mingw32-ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... yes
    checking dynamic linker characteristics... Win32 ld.exe
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking whether #! works in shell scripts... yes
    checking C compiler vendor... gcc-7-4
    ./configure: line 12521: flexlink: command not found
    checking for a BSD-compatible install... /usr/bin/install -c
    checking for cos in -lm... yes
    checking math.h usability... yes
    checking math.h presence... yes
    checking for math.h... yes
    checking for unistd.h... (cached) yes
    checking for stdint.h... (cached) yes
    checking sys/shm.h usability... no
    checking sys/shm.h presence... no
    checking for sys/shm.h... no
    checking for dirent.h... yes
    checking for sys/select.h... no
    checking for off_t... yes
    checking size of int... 4
    checking size of long... 4
    checking size of long *... 8
    checking size of short... 2
    checking size of long long... 8
    configure: Target is a 64 bits architecture
    checking whether byte ordering is bigendian... no
    checking alignment of double... 8
    checking alignment of long... 4
    checking whether the C compiler supports -fno-tree-vrp... yes
    checking for x86_64-w64-mingw32-ld... x86_64-w64-mingw32-ld
    configure: checking semantics of signal handlers
    checking for sigaction... no
    checking for sigprocmask... no
    configure: assuming signals have the System V semantics.
    checking for getrusage... no
    checking for times... no
    checking for secure_getenv... no
    checking for __secure_getenv... no
    checking for issetugid... no
    checking for socklen_t... no
    checking for inet_aton... no
    checking for struct sockaddr_in6... no
    checking for rewinddir... yes
    checking for lockf... no
    checking for mkfifo... no
    checking for getcwd... yes
    checking for utimes... no
    checking for fchmod... no
    checking for truncate... yes
    checking for ftruncate... yes
    checking for select... no
    checking for nanosleep... yes
    checking for symlink... no
    checking for waitpid... no
    checking for wait4... no
    checking for getgroups... no
    checking for setgroups... no
    checking for initgroups... no
    checking termios.h usability... no
    checking termios.h presence... no
    checking for termios.h... no
    checking for setitimer... no
    checking sys/utsname.h usability... no
    checking sys/utsname.h presence... no
    checking for sys/utsname.h... no
    checking for gettimeofday... yes
    checking for mktime... yes
    checking for putenv... yes
    checking locale.h usability... yes
    checking locale.h presence... yes
    checking for locale.h... yes
    checking for newlocale... no
    checking xlocale.h usability... no
    checking xlocale.h presence... no
    checking for xlocale.h... no
    checking for strtod_l... no
    configure: Dynamic loading of shared libraries is supported.
    checking sys/mman.h usability... no
    checking sys/mman.h presence... no
    checking for sys/mman.h... no
    checking for pwrite... no
    checking for struct stat.st_atim.tv_nsec... no
    configure: stat supports nanosecond precision
    checking how many arguments gethostbyname_r() takes... can't tell
    checking how many arguments gethostbyaddr_r() takes... can't tell
    checking for mkstemp... yes
    checking for nice... no
    checking for dup3... no
    checking for pipe2... no
    checking for accept4... no
    checking for getauxval... no
    checking for execvpe... yes
    configure: replay debugger supported
    checking whether stack overflows can be detected... no
    configure: the Win32 threads library is supported
    checking bfd.h usability... no
    checking bfd.h presence... no
    checking for bfd.h... no
    configure: BFD library not found, 'ocamlobjinfo' will be unable to display info on .cmxs files.
    configure: not using frame pointers
    checking whether mmap supports huge pages... no assumed
    checking whether to build spacetime... no
    configure: creating ./config.status
    config.status: creating Makefile.common
    config.status: creating Makefile.config
    config.status: creating runtime/caml/m.h
    config.status: creating runtime/caml/s.h
    config.status: executing libtool commands
    make -C runtime BOOTSTRAPPING_FLEXLINK=yes ocamlrun.exe
          0 [main] make 14399 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)
    make: fork: Resource temporarily unavailable
    error: command failed: "./esy-configure" "--disable-cfi" "--prefix" "C:/Users/rsf/.esy/3_/s/ocaml-4.9.1000-fdc11aa5" (exited with 2)
    esy-build-package: exiting with errors above...

  building ocaml@4.9.1000
esy: exiting due to errors above
PS F:\DEV\GITHUB\revery-quick-start>       0 [main] make 18681 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)
      0 [main] make 21176 child_info_fork::abort: \??\C:\Users\rsf\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggmp-10.dll: Loaded to different address: parent(0xCD0000) != child(0x600000)

PS F:\DEV\GITHUB\revery-quick-start>
Et7f3 commented 3 years ago

I did get that error. I suspect their is a race condition between package that require additional Cygwin components. I haven't chance to debug just relaunched and it disappeared.