dashbitco / broadway_kafka

A Broadway connector for Kafka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`crc32cer` DEPS fails when running mix.deps compile

amacciola opened this issue · comments

** (Mix) Could not compile dependency :crc32cer

Hi @amacciola, can you please provide as much information as possible? What is your OS? What is your Erlang and Elixir versions? What is your dependencies versions (run mix deps)? Otherwise there isn't much we can do to help. Thanks!

@josevalim Yes i believe it may be a cause and effect of my recently updating my Mac with the latest update. But here is all the information you asked for:

Mac OS Catalina Version 10.15.6
Elixir version 1.8
Erlang version is 23
broadway 0.6.2
broadway_kafka 0.1.4

Yes i believe it may be a cause and effect of my recently updating my Mac with the latest update

I see... 🤔 what is the whole compilation error? Can you be missing some C libraries/headers?

@josevalim

===> Compiling crc32cer
===> Linking /Users/amacciola/Desktop/app-name/deps/crc32cer/priv/crc32cer_nif.so
** (Mix) Could not compile dependency :crc32cer, "/Users/amacciola/.mix/rebar3 bare compile --paths="/Users/amacciola/Desktop/app-name/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile crc32cer", update it with "mix deps.update crc32cer" or clean it with "mix deps.clean crc32cer"

Yeah, that’s a linking issue. My suggestion is to make sure you are on latest crc32cer version. If that doesn’t work, try closing the source directly and getting it to compile. Not much we can do from our side of things. Thanks!

@josevalim crc32cer is a dependency of broadway_kafka its is not a lib that i pull into my project myself. So it is not on the latest version which would be 0.1.10 but it does match the latest version that broadway_kafka has it updated to in its latest release. Which is 0.1.4

@josevalim

After adding this to my mix.exs

      {:broadway_kafka, "~> 0.1.0", override: true},
      {:brod, "~> 3.14.0", override: true},
      {:kafka_protocol, "~> 2.4.1", override: true}

it was able to compile without errors. So just upgrading kafka_protocal version seemed to fix the issue. Upgrading this version also upgrades the crc32cer version. I guess one thing that would just fix this all together is if brod lib just made a new version upgrading kafka_protocol to use the latest version and then broadway_kafka just used that version of brod.

however not sure if the latest version of kafka_protocol is compatible with broadway_kafka and brod but i guess ill find out during testing