vernemq / vmq_mzbench

An MQTT loadtest and usage scenario tool for VerneMQ and other MQTT systems.
Apache License 2.0
42 stars 44 forks source link

Cannot Start Server #32

Open akefirad opened 5 years ago

akefirad commented 5 years ago

I'm trying to build and use mzbench + vmq_mzbench, but cannot get it running. What I did:

1. git clone https://github.com/satori-com/mzbench
2. cd mzbench
3. virtualenv -p python2 venv
4. source venv/bin/activate
5. pip install -r requirements.txt
6. ./bin/mzbench start_serve

and it fails with:

Executing make -C /home/rad/src/github/mzbench/bin/../server generate
make: Entering directory '/home/rad/src/github/mzbench/server'
/home/rad/src/github/mzbench/bin/rebar3 compile
===> Verifying dependencies...
===> Package <<"header_generator">> not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/rad/.cache/rebar3/hex/default/registry
===> Generating package index...
===> [appsignal:1.6.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [prometheus_httpd:2.1.10], Bad dependency version for prometheus: ~> 3.5 or ~> 4.2.
===> [appsignal:1.7.0-alpha.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.5], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.7], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> Writing index to /home/rad/.cache/rebar3/hex/default/packages.idx
===> Plugin header_generator not available. It will not be used.
===> Package <<"eqc_resolver">> not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/rad/.cache/rebar3/hex/default/registry
===> Generating package index...
===> [appsignal:1.6.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [prometheus_httpd:2.1.10], Bad dependency version for prometheus: ~> 3.5 or ~> 4.2.
===> [appsignal:1.7.0-alpha.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.5], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.7], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> Writing index to /home/rad/.cache/rebar3/hex/default/packages.idx
===> Plugin eqc_resolver not available. It will not be used.
===> Package <<"rebar_gdb_plugin">> not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/rad/.cache/rebar3/hex/default/registry
===> Generating package index...
===> [appsignal:1.6.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [prometheus_httpd:2.1.10], Bad dependency version for prometheus: ~> 3.5 or ~> 4.2.
===> [appsignal:1.7.0-alpha.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.5], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.7], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> Writing index to /home/rad/.cache/rebar3/hex/default/packages.idx
===> Plugin rebar_gdb_plugin not available. It will not be used.
===> Compiling meck
===> Compiling _build/default/deps/meck/src/meck_code_gen.erl failed
_build/default/deps/meck/src/meck_code_gen.erl:182: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace

Makefile:87: recipe for target '.make/compilation-up-to-date' failed
make: *** [.make/compilation-up-to-date] Error 1
make: Leaving directory '/home/rad/src/github/mzbench/server'

The environment is:

Ubuntu 18.04.2 LTS
Erlang/OTP 22
Erts 10.4.4
Rebar 3.11.1
Python 2.7.15+

Then I thought it might be because of the newer version of Erlang/OTP. Then I tried to do the same with Erlang/OTP version 20.3, but it failed with a different error :disappointed: I also tried to get it running using the RPM package on a CentOS machine:

sudo yum install -y <rpm_file_downloaded_from_github_releases>
sudo pip install mzbench_api_client
mzbench start_server

But it seems start_server is not a valid command, since it fails with the help message. Can you please help me with this? Thanks.

ioolkos commented 5 years ago

Hi @akefirad thanks... as a first thing, could you use https://github.com/mzbench/mzbench instead of the old satori fork?

akefirad commented 5 years ago

Sure, I think I tried it and it failed with the exact error. I'll retry again. (would you like to update the README about the repo? I can provide the PR)

akefirad commented 5 years ago

Yup, failed with the same error :disappointed:

ioolkos commented 5 years ago

PR's welcome! The error compiling meck must be due to OTP 22 (complaining about get_stacktrace becasue it's treating warnings as errors)

I'll try compiling a fresh clone on my machine with OTP 21.3. Bear with me... I'm on a slow cell phone network and technically on vacation :)

akefirad commented 5 years ago

Sure thanks for the support. Enjoy your vacation.

ioolkos commented 5 years ago

Confirmed that compilation works for me with OPT 20.3. (on Ubuntu 16.04, using the virtualenv) This is due to deprecation warnings in OTP 21 and 22 treated as errors in various dependencies.

While this is fine in principle we should look into this with MZBench. Current OTP compatibility would be great there.

akefirad commented 5 years ago

Thanks for the reply. Do you have any idea when it might be fixed? And also as I said I tried to compile it using OTP 20.3 on my machine (Ubuntu 18.04.3) but it failed. Can you please try on U 18.04 too? (Do you want me to post the error?)