[
https://issues.apache.org/jira/browse/MESOS-1010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918877#comment-13918877
]
Till Toenshoff commented on MESOS-1010:
---------------------------------------
I currently see two options to fix this:
A. Patch the configure/makefiles of those projects to not detect these optional
dependencies
B. Detect those additional dependencies during the mesos-configuration phase
and link them accordingly when building _mesos.so
C. Give up the idea of having a self-contained _mesos.so within our Python egg.
For the correct path to go forward, I would like to start a discussion here;
Pro A;
- Mesos itself does not need those additions at all
- Mesos does not install any of those 3rdparty libraries as we are statically
linking against them (self-contained _mesos.so)
Pro B;
- At some point, Mesos will not bundle these projects anymore and rely on them
being installed by the user and link them accordingly
> Python extension build is broken if gflags-dev is installed
> -----------------------------------------------------------
>
> Key: MESOS-1010
> URL: https://issues.apache.org/jira/browse/MESOS-1010
> Project: Mesos
> Issue Type: Bug
> Components: build, python api
> Environment: Fedora 20, amd64. GCC: 4.8.2.
> Reporter: Nikita Vetoshkin
>
> In my environment mesos build from master results in broken python api module
> {{_mesos.so}}:
> {noformat}
> nekto0n@ya-darkstar ~/workspace/mesos/src/python $
> PYTHONPATH=build/lib.linux-x86_64-2.7/ python -c "import _mesos"
> Traceback (most recent call last):
> File "<string>", line 1, in <module>
> ImportError:
> /home/nekto0n/workspace/mesos/src/python/build/lib.linux-x86_64-2.7/_mesos.so:
> undefined symbol: _ZN6google14FlagRegistererC1EPKcS2_S2_S2_PvS3_
> {noformat}
> Unmangled version of symbol looks like this:
> {noformat}
> google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*,
> char const*, void*, void*)
> {noformat}
> During {{./configure}} step {{glog}} finds {{gflags}} development files and
> starts using them, thus *implicitly* adding dependency on {{libgflags.so}}.
> This breaks Python extensions module and perhaps can break other mesos
> subsystems when moved to hosts without {{gflags}} installed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)