Giter VIP home page Giter VIP logo

Comments (3)

objectuser avatar objectuser commented on July 21, 2024

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.

erikvullings avatar erikvullings commented on July 21, 2024

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):

  1. Install msys2 from here
  2. Open a bash shell using the start menu (look for msys2) 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
  1. 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.

objectuser avatar objectuser commented on July 21, 2024

@erikvullings Glad you got it working! Hopefully you're approach will help someone else out. 👍

from kaffe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.