ndreynolds/ratatouille

Error getting dependency ex_termbox

arturictus opened this issue · 5 comments

Hi,
I could not get the dependency ex_termbox when running mix deps.get

mix.exs

defp deps do
    [
      {:ratatouille, "~> 0.5.0"}
    ]
end
$ mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  asciichart 1.0.0
  elixir_make 0.6.0
  ex_termbox 1.0.1
  ratatouille 0.5.0
* Updating ex_termbox (Hex package)
Request failed (403)
** (Mix) Package fetch failed and no cached copy available (https://repo.hex.pm/tarballs/ex_termbox-1.0.1.tar)

I've checked the dependency in master and is set to {:ex_termbox, "~> 1.0"}
https://github.com/ndreynolds/ratatouille/blob/master/mix.exs#L33

In hex.pm the last ex_termbox release is 1.0.0
https://hex.pm/packages/ex_termbox/1.0.0

Any idea why is trying to install ex_termbox 1.0.1?

Thanks
The library looks amazing

I managed to install dependencies with:

  defp deps do
    [
      {:ratatouille, "~> 0.5.0"},
      {:ex_termbox, git: "https://github.com/ndreynolds/ex_termbox.git", override: true}
    ]
  end

Sorry, for the trouble! This should be fixed now with ex_termbox 1.0.2 if you want to go back to using the hex dep.

So I'd published ex_termbox 1.0.1, but realized afterwards that there was a file permissions error causing compilation to fail. It was getting late, so I just reverted 1.0.1, thinking that would route new fetches to 1.0.0, but apparently that's not quite how hex works.

Let me know if any new issues come up!

worked!

mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  asciichart 1.0.0
  elixir_make 0.6.0
  ratatouille 0.5.0
New:
  ex_termbox 1.0.2

Thanks!

I have the same, or a similar issue:

==> ex_termbox
cd c_src/termbox && CFLAGS=-fPIC ./waf configure --prefix=. && ./waf
/bin/sh: 1: ./waf: not found
make: *** [Makefile:19: c_src/termbox/build/src/libtermbox.a] Error 127
could not compile dependency :ex_termbox, "mix compile" failed. You can recompile this dependency with "mix deps.compile ex_termbox", update it with "mix deps.update ex_termbox" or clean it with "mix deps.clean ex_termbox"

I really struggled with this for a while. What ultimately worked for me was,

$ export PATH="$brew_prefix/opt/python@3.9/libexec/bin:$PATH"
$ mix deps.get
$ mix deps.compile

If you try that and still don't have any luck, you could try adding ex_termbox to your deps explicitly, but make sure to include submodules: true, e.g.,

defp deps do
  [
    {:ratatouille, "~> 0.5.0"},
    {:ex_termbox,
     git: "https://github.com/ndreynolds/ex_termbox.git", override: true, submodules: true}
  ]
end