Elixir: Elixir not getting compiled on windows

Created on 1 Nov 2020  路  8Comments  路  Source: elixir-lang/elixir

Environment

  • Elixir & Erlang/OTP versions (elixir --version): Erlang 23.1, Elixir-1.11.1
  • Operating system: Windows 10 - 64 Bit

Current behavior

  1. We installed Erlang(otp_win64_23.1) from Erlang's website.
  2. We installed msys-make, msys-grep, msys-bash with Mingw as stated in elixir's README file (Compile from source section).
  3. We cloned the Elixir Repo and checkout the v1.11.1 tag
  4. We ran msys-make (i.e. make) command.
  5. We got the following error:
HP@LAPTOP-MJA1S51G MINGW64 ~/Documents/elixir ((v1.11.1))
$ mingw32-make.exe compile
Generated elixir app
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/kernel/utils.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/code/identifier.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/stream/reducers.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/regex.ex
Compiled lib/elixir/lib/inspect/algebra.ex
Compiled lib/elixir/lib/inspect.ex
Compiled lib/elixir/lib/string.ex
Compiled lib/elixir/lib/string/chars.ex
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/list/chars.ex
Compiled lib/elixir/lib/module/locals_tracker.ex
Compiled lib/elixir/lib/module/parallel_checker.ex
Compiled lib/elixir/lib/module/types/helpers.ex
Compiled lib/elixir/lib/module/types/unify.ex
Compiled lib/elixir/lib/module/types/of.ex
Compiled lib/elixir/lib/module/types/pattern.ex
Compiled lib/elixir/lib/module/types/expr.ex
Compiled lib/elixir/lib/module/types.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/file.ex
Compiled lib/elixir/lib/map.ex
Compiled lib/elixir/lib/range.ex
Compiled lib/elixir/lib/access.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/lexical_tracker.ex
mingw32-make[1]: Entering directory 'C:/Users/HP/Documents/elixir'
==> unicode (compile)
Compiling lib/elixir/unicode/unicode.ex (it's taking more than 10s)

== Compilation error in file lib/elixir/unicode/properties.ex ==
** (ArgumentError) argument error
    :erlang.binary_to_integer("\r", 16)
    lib/elixir/unicode/properties.ex:10: anonymous fn/1 in :elixir_compiler_0.__FILE__/1
    c:/Users/HP/Documents/elixir/lib/elixir/lib/enum.ex:1399: Enum."-map/2-lists^map/1-0-"/2
    lib/elixir/unicode/properties.ex:10: anonymous fn/1 in :elixir_compiler_0.__FILE__/1
    lib/elixir/unicode/properties.ex:83: anonymous fn/3 in :elixir_compiler_0.__FILE__/1
    c:/Users/HP/Documents/elixir/lib/elixir/lib/enum.ex:2181: Enum."-reduce/3-lists^foldl/2-0-"/3
    lib/elixir/unicode/properties.ex:62: (file)
Makefile:105: recipe for target 'lib/elixir/ebin/Elixir.String.Unicode.beam' failed
mingw32-make[1]: *** [lib/elixir/ebin/Elixir.String.Unicode.beam] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/HP/Documents/elixir'
Makefile:90: recipe for target 'lib/elixir/ebin/Elixir.Kernel.beam' failed
mingw32-make: *** [lib/elixir/ebin/Elixir.Kernel.beam] Error 2

Expected behavior

Elixir should get compiled. And we should be able to use elixir and its tools like iex, mix etc.

Most helpful comment

The commit has been pushed. :)

All 8 comments

You should check your git configuration. Git should keep the line ending in those files to \n, so we properly handle them. In any case, I will push a commit that makes it work with both on master soon. :) Thanks for the report!

Thanks a lot for replying 馃槉

We tried to change line-ending with most of the options mentioned in this stackoverflow thread with no success.
I think we need to wait for that commit.
Thanks a lot :)

If possible please let us know, and we'll try to recompile again with latest version of the repo.

The commit has been pushed. :)

Wow. That's so fast. Trying again on master. 馃檶馃徏 馃檶馃徏 馃檶馃徏

It worked successfully. Thanks a lot @josevalim 馃檶馃徏

It still fails when we clone repo directly on windows.

To fix it.... clone the repo with the following config flag.

git clone --config core.autocrlf=false https://github.com/elixir-lang/elixir

@collegeimprovements which failures are you still getting? Can you please share them?

Sure. I'll share them as soon as possible.
Maybe it's here. But I'm not very sure.
The failure was similar to the one that I had got before. "\r" and "\r\n" one. I'll share the details soon.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LucianaMarques picture LucianaMarques  路  3Comments

vothane picture vothane  路  3Comments

whitepaperclip picture whitepaperclip  路  3Comments

andrewcottage picture andrewcottage  路  3Comments

alexrp picture alexrp  路  4Comments