Comments (3)
Hi, Erik. I think Brod (on which Kaffe is dependent) does require make
, but I'm not familiar with setting up an environment on Windows.
It looks like there was an issue opened on Brod concerning compiling on windows: kafka4beam/brod#128. Is that helpful? I think the link provided there might be relevant: https://erlang.mk/guide/installation.html#_on_windows.
from kaffe.
EDITED
@objectuser Yeah, you are right. It took me a while to setup an environment on Windows 10, but the following worked for me (I still receive many warnings, as you can see below, probably because you need to explicitly use parenthesis for certain functions in the latest versions of Elixir/Erlang, but the program now runs in Windows too):
- Install msys2 from here
- Open a
bash
shell using the start menu (look formsys2
) and run the following commands to install the tools (see also here):
pacman -Syuu
pacman -Syuu # I had to do this twice, as updating pacman itself disturbed the update process
pacman -S git make mingw-w64-x86_64-gcc
- Edit /c/msys64/USERNAME/.bash_profile and add the following
PATH
PATH=${PATH}:/c/progra~2/Elixir/bin:/c/progra~1/erl9.0/bin:/c/msys64/mingw64/bin/
Now I can run mix compile
and mix test
successfully from the bash
command prompt.
Bash output on mix test
$ mix test
===> Compiling supervisor3
===> Compiling snappyer
===> Compiling kafka_protocol
===> Compiling brod
==> kaffe
Compiling 14 files (.ex)
warning: variable "endpoints" does not exist and is being expanded to "endpoints()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:4
warning: variable "client_producer_config" does not exist and is being expanded to "client_producer_config()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:5
warning: variable "producer_topics" does not exist and is being expanded to "producer_topics()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:7
warning: variable "heroku_kafka?" does not exist and is being expanded to "heroku_kafka?()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:15
warning: variable "default_client_producer_config" does not exist and is being expanded to "default_client_producer_config()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:22
warning: variable "maybe_heroku_kafka_ssl" does not exist and is being expanded to "maybe_heroku_kafka_ssl()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:23
warning: variable "client_cert" does not exist and is being expanded to "client_cert()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config.ex:22
warning: variable "heroku_kafka?" does not exist and is being expanded to "heroku_kafka?()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/producer.ex:27
warning: variable "client_cert_key" does not exist and is being expanded to "client_cert_key()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config.ex:22
warning: variable "endpoints" does not exist and is being expanded to "endpoints()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:4
warning: variable "subscriber_name" does not exist and is being expanded to "subscriber_name()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:5
warning: variable "consumer_group" does not exist and is being expanded to "consumer_group()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:6
warning: variable "topics" does not exist and is being expanded to "topics()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:7
warning: variable "consumer_group_config" does not exist and is being expanded to "consumer_group_config()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:8
warning: variable "client_consumer_config" does not exist and is being expanded to "client_consumer_config()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:9
warning: variable "message_handler" does not exist and is being expanded to "message_handler()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:10
warning: variable "async_message_ack" does not exist and is being expanded to "async_message_ack()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:11
warning: variable "rebalance_delay_ms" does not exist and is being expanded to "rebalance_delay_ms()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:12
warning: variable "max_bytes" does not exist and is being expanded to "max_bytes()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:13
warning: variable "consumer_group" does not exist and is being expanded to "consumer_group()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:23
warning: variable "heroku_kafka?" does not exist and is being expanded to "heroku_kafka?()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:32
warning: variable "default_client_consumer_config" does not exist and is being expanded to "default_client_consumer_config()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:62
warning: variable "maybe_heroku_kafka_ssl" does not exist and is being expanded to "maybe_heroku_kafka_ssl()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:63
warning: variable "begin_offset" does not exist and is being expanded to "begin_offset()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:70
warning: variable "heroku_kafka?" does not exist and is being expanded to "heroku_kafka?()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/config/consumer.ex:90
warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1
lib/kaffe/partition_selector.ex:28
warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
lib/kaffe/consumer.ex:135
Generated kaffe app
==> messenger
Compiling 1 file (.ex)
Generated messenger app
18:24:44.581 [debug] event#start=Elixir.Kaffe
..
Finished in 0.03 seconds
2 tests, 0 failures
Randomized with seed 599000
from kaffe.
@erikvullings Glad you got it working! Hopefully you're approach will help someone else out. 👍
from kaffe.
Related Issues (20)
- Defining multiple handlers HOT 1
- worker_per_topic_partition with multiple topics HOT 1
- Examples not compatible with Elixir 1.10 or 1.11 HOT 2
- extract_der is giving error with SSL HOT 2
- Undefined function exponential_backoff HOT 10
- Offset doesn't get updated between runs and runs crash with OOM errors HOT 4
- async ack - lots of duplicate messages until I restart the application HOT 2
- Kaffe.Producer.produce_sync raises on timeout
- How to set kafka headers when publishing message HOT 1
- Invalid call to raise/reraise on brod/kpro error
- Add support for SCRAM mechanism in SASL authentication. HOT 1
- Module to help write ExUnit tests
- It's impossible to create 2 separate consumers for different topics
- Running mix with kaffe deps fails to download pc package from hex
- Wrong place for configuration
- Config dump on error leaks credentials HOT 1
- Endpoints configuration is weird for using ENV vars
- Missing documentation HOT 8
- Connecting to a TLS-based Kafka instance under AWS MSK? HOT 18
- Receives notification when rebalance in progress/assignments revoked HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kaffe.