-
Notifications
You must be signed in to change notification settings - Fork 10
rocks: unable to install with tarantoolctl rocks on Linux #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the patch!
Please limit a width of commit message by 72 symbols, see [1].
I see that issue #39 collects a number of problems:
Seems your commit solves only the first problem. What about second one? |
What for? |
27f29a0
to
c8a61f2
Compare
|
The idea was, that installation from rocks is working everywhere without need to install any library manually. That is default behavior. But it is still possible to build the module with additional options for CMake, if it is needed. |
Let's add explanation to a commit message. |
c8a61f2
to
01694e6
Compare
Done. |
01694e6
to
2356a58
Compare
2356a58
to
e4c9813
Compare
On any platforms many targets from subdirectories are included into make command by default. They are not necessary to build driver.{so|dylib}. EXCLUDE_FROM_ALL option disables all targets at the beginning and only targets which are explicitly added to mqtt dependencies will be built. Static build option for libmosquitto set by default in rocks. That means there is no more need to install libmosquitto manually for successful build from rocks. But there is still an opportunity to add some other build options in CMake, if it is needed. WITH_PIC added as an option. This is related to the CMP0077 policy. https://cmake.org/cmake/help/latest/policy/CMP0077.html. Without this change the behaviour is the following. If the module builds statically, WITH_PIC is firstly set on, but the effect of this will be discarded by option(WITH_PIC <...> OFF) in third_party/mosquitto/lib/CMakeLists.txt. This way the build fails. Fixes #39
e4c9813
to
a18c852
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The problem from #39 is solved by adding EXCLUDE_FROM_ALL option.
On any platforms many targets from subdirectories are included into make command by default. They are not necessary to build driver.{so|dylib}. EXCLUDE_FROM_ALL option disables all targets at the beginning and only targets which are explicitly added to mqtt dependencies will be built.
Additionally static build for rocks set by default.
Fixes #39