Skip to content
This repository has been archived by the owner on Jun 6, 2020. It is now read-only.

[docs] Update README #50

Merged
merged 1 commit into from
Mar 22, 2020
Merged

[docs] Update README #50

merged 1 commit into from
Mar 22, 2020

Conversation

glennsl
Copy link
Member

@glennsl glennsl commented Mar 21, 2020

No description provided.

@glennsl glennsl requested a review from bryphe March 22, 2020 08:50
@@ -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
Copy link

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.

Copy link
Member

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?

Copy link
Member Author

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.

Copy link
Member

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:

- script: npm install -g esy@0.6.2

Copy link

@tjammer tjammer Mar 23, 2020

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

Copy link
Member

@bryphe bryphe left a 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 !

@glennsl glennsl merged commit ce07970 into master Mar 22, 2020
@glennsl glennsl deleted the docs/readme/update branch March 22, 2020 17:58
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants