Fl4m3Ph03n1x

Fl4m3Ph03n1x

Cannot compile exqlite on Windows

Background

I am trying to run this Elixir desktop app in my Windows VM:
https://github.com/elixir-desktop/desktop-example-app

I have installed Erlang OTP 24.X manually in my windows:
https://erlang.org/download/otp_win64_24.1.4.exe

And I have installed Elixir via the official website after, and have it configured to use the Erlang/OTP version I mentioned before:

Problem

So, I cloned the project and run mix deps.get as usual.
After that I ran mix deps.compile and I got an error:

λ mix deps.compile
===> Analyzing applications...
===> Compiling dbus
===> Analyzing applications...
===> Compiling ranch
===> Analyzing applications...
===> Compiling telemetry
==> exqlite
could not compile dependency :exqlite, "mix compile" failed. You can recompile this dependency with "mix deps.compile exqlite", update it with "mix deps.update exqlite" or clean it with "mix deps.clean exqlite"
** (Mix) "nmake" not found in the path. If you have set the MAKE environment variable,
please make sure it is correct.

This means I have an issue with a dependency:

λ mix deps.compile exqlite
==> exqlite
could not compile dependency :exqlite, "mix compile" failed. You can recompile this dependency with "mix deps.compile exqlite", update it with "mix deps.update exqlite" or clean it with "mix deps.clean exqlite"
** (Mix) "nmake" not found in the path. If you have set the MAKE environment variable,
please make sure it is correct.

What I tried

So, I am guessing my sqlite installation on my windows is not well done. I have installed sqlite in windows by following this tutorial:

Which boils down to:

  1. Go to SQLite download page, and download precompiled binaries from Windows section.
  2. Download sqlite-shell-win32-*.zip and sqlite-dll-win32-*.zip zipped files.
  3. − Create a folder C:\>sqlite and unzip above two zipped files in this folder, which will give you sqlite3.def, sqlite3.dll and sqlite3.exe files.
  4. − Add C:\>sqlite in your PATH environment variable and finally go to the command prompt and issue sqlite3 command, which should work.

And in fact when I type sqlite3 in my prompt, it does work.

However I understand I am still missing some step, but I can’t figure out what.

Question

What am I missing to compile the dependency?

Marked As Solved

webuhu

webuhu

Exqlite will not just use the existing Sqlite installation on your windows.
mix (mix deps compile) will try to compile the library (shipped with exqlite) with NMAKE on Windows.

I’ve written a guide exactly for us windows users.
Windows users — Exqlite v0.38.0
(sorry for just linking the guide - but I think everything is in there - even if it’s not the easiest get going - but this concerns every Elixir library using Erlang NIF)

Improvments of the guide of course are welcome.

Last Post!

Fl4m3Ph03n1x

Fl4m3Ph03n1x

Fixed it, thanks !

Where Next?

Popular in Questions Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

Other popular topics Top

Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

We're in Beta

About us Mission Statement