-
Notifications
You must be signed in to change notification settings - Fork 10
Conversation
@@ -9,15 +9,14 @@ | |||
`esy` is used for building, so if you don't have `esy`, install it: | |||
|
|||
``` | |||
npm install -g esy@0.5.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be a bug elsewhere, but on my Windows system with a fresh install of npm and esy, I couldn't compile with the latest version (0.6.x). It worked without problem with version 0.5.8.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, thanks @tjammer - what sort of issue did you hit? Do you happen to have the error message / log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've used 0.6.2 for a long time now, and 0.6.0 for a bit before that as well. Having different versions of esy for different projects isn't really practical, so it seems unlikely the issue is with this repository. So I'll merge this now, but don't let that hinder you from continuing to comment to figure out the issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One other note - we do run on our Windows CI with esy@0.6.2
:
reason-sdl2/.ci/esy-build-steps.yml
Line 7 in ce07970
- script: npm install -g esy@0.6.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to reproduce the issue. I'm not 100% sure what is happening, but when I try to build without having Admin rights, some symlinks can't be set and the build is aborted. If I try to run again (with Admin rights, this time) I hit the following error. I just used esy 0.6.2 the first time, then purged the install and build successfully with esy 0.5.8
So yeah, nothing related to the esy version :)
C:\Users\tobi\reason-sdl2 (master) (reason-sdl2@2.10.3020)
λ esy build
info esy build 0.6.2 (using package.json)
info building @esy-ocaml/substs@0.0.1@d41d8cd9
info building ocaml@4.8.1000@d41d8cd9
info building esy-cmake@0.3.5@d41d8cd9
info building esy-sdl2@2.0.10006@d41d8cd9
info building @esy-ocaml/substs@0.0.1@d41d8cd9: done
info building @opam/conf-m4@opam:1@3b2b148a
info building @opam/conf-m4@opam:1@3b2b148a: done
info building @opam/base-unix@opam:base@87d0b2eb
info building @opam/base-unix@opam:base@87d0b2eb: done
info building @opam/base-threads@opam:base@36803084
info building @opam/base-threads@opam:base@36803084: done
info building esy-cmake@0.3.5@d41d8cd9: done
0 [main] make 7861 child_info_fork::abort: \??\C:\Users\tobi\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggc-1.dll: Loaded to different address: parent(0x180000) != child(0x3FF4D0000)
error: build failed with exit code: 1
build log:
# esy-build-package: building: ocaml@4.8.1000
# esy-build-package: pwd: C:\Users\tobi\.esy\3\b\ocaml-4.8.1000-a241290c
# esy-build-package: running: "./esy-configure" "--disable-cfi" "--prefix" "C:/Users/tobi/.esy/3_/s/ocaml-4.8.1000-a241290c"
[esy-configure] Detected windows environment...
[configure-windows] Setting up flexdll
[Flexdll] Already present, no need to clone.
configure: Configuring OCaml version 4.08.1
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 12526: 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 sigsetmask... no
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 getpriority... no
checking for utimes... no
checking for dup2... yes
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 asynchronous I/O... 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
configure: the bytecode threads library is not supported
checking bfd.h usability... no
checking bfd.h presence... no
checking for bfd.h... no
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 7861 child_info_fork::abort: \??\C:\Users\tobi\AppData\Roaming\npm\node_modules\esy\node_modules\esy-bash\.cygwin\bin\cyggc-1.dll: Loaded to different address: parent(0x180000) != child(0x3FF4D0000)
make: fork: Resource temporarily unavailable
error: command failed: "./esy-configure" "--disable-cfi" "--prefix" "C:/Users/tobi/.esy/3_/s/ocaml-4.8.1000-a241290c" (exited with 2)
esy-build-package: exiting with errors above...
building ocaml@4.8.1000
esy: exiting due to errors above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for updating this, @glennsl !
No description provided.