[ 
https://issues.apache.org/jira/browse/MESOS-7290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15940442#comment-15940442
 ] 

Till Toenshoff edited comment on MESOS-7290 at 3/24/17 2:42 PM:
----------------------------------------------------------------

[~rharnasch] the compilation error {{g++: internal compiler error: Killed 
(program cc1plus)}} is indeed a common problem when using too many compilation 
processes for the available RAM on your build machine.

You were obviously hitting two problems and the internal error should be 
entirely unrelated to the python egg / proto problem.

I do not have exact, current numbers but generally g++ needs more than clang++. 
As a rule of thumb, make sure that you have about 2gb per compilation process 
for clang++ and 2.5gb for g++. You can adjust the number of processes by 
providing the {{j N}} flag to {{make}}.
So for 16gb of RAM with clang++ you may go all the way up to {{j 8}} - 
certainly also depending on the amount of cores/threads on the build machines 
CPU. Numbers may vary for your system...
If it fails again, reduce {{N}}.

The python egg version comparison issues, to me, indeed sounds like a bug that 
should get triaged and fixed. 


was (Author: tillt):
[~rharnasch] the compilation error {{g++: internal compiler error: Killed 
(program cc1plus)}} is indeed a common problem when using too many compilation 
processes for the available RAM on your build machine.

I do not have exact, current numbers but generally g++ needs more than clang++. 
As a rule of thumb, make sure that you have about 2gb per compilation process 
for clang++ and 2.5gb for g++. You can adjust the number of processes by 
providing the {{j N}} flag to {{make}}.
So for 16gb of RAM with clang++ you may go all the way up to {{j 8}} - 
certainly also depending on the amount of cores/threads on the build machines 
CPU. Numbers may vary for your system...
If it fails again, reduce {{N}}.

> make fails at protobuf stage
> ----------------------------
>
>                 Key: MESOS-7290
>                 URL: https://issues.apache.org/jira/browse/MESOS-7290
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>         Environment: CentOS 7.3 (built from 1611 image)
>            Reporter: Raul Harnasch
>            Assignee: Kapil Arya
>
> {noformat}
> Building protobuf Python egg ...
> cd ../3rdparty/protobuf-2.6.1/python &&                       \
>   CC="gcc"                                    \
>   CXX="g++"                                   \
>   CFLAGS="-g1 -O0 -Wno-unused-local-typedefs"                         \
>   CXXFLAGS="-g1 -O0 -Wno-unused-local-typedefs -std=c++11"                    
> \
>   PYTHONPATH=/opt/mesos/build/3rdparty/setuptools-20.9.0      \
>   /bin/python setup.py build bdist_egg
> Installed 
> /opt/mesos/build/3rdparty/protobuf-2.6.1/python/.eggs/google_apputils-0.4.2-py2.7.egg
> Traceback (most recent call last):
>   File "setup.py", line 200, in <module>
>     "Protocol Buffers are Google's data interchange format.",
>   File "/usr/lib64/python2.7/distutils/core.py", line 112, in setup
>     _setup_distribution = dist = klass(attrs)
>   File "/opt/mesos/build/3rdparty/setuptools-20.9.0/setuptools/dist.py", line 
> 269, in __init__
>     self.fetch_build_eggs(attrs['setup_requires'])
>   File "/opt/mesos/build/3rdparty/setuptools-20.9.0/setuptools/dist.py", line 
> 313, in fetch_build_eggs
>     replace_conflicting=True,
>   File 
> "/opt/mesos/build/3rdparty/setuptools-20.9.0/pkg_resources/__init__.py", line 
> 826, in resolve
>     dist = best[req.key] = env.best_match(req, ws, installer)
>   File 
> "/opt/mesos/build/3rdparty/setuptools-20.9.0/pkg_resources/__init__.py", line 
> 1085, in best_match
>     dist = working_set.find(req)
>   File 
> "/opt/mesos/build/3rdparty/setuptools-20.9.0/pkg_resources/__init__.py", line 
> 695, in find
>     raise VersionConflict(dist, req)
> pkg_resources.VersionConflict: (pytz 2012d 
> (/usr/lib/python2.7/site-packages), Requirement.parse('pytz>=2010'))
> make[2]: *** 
> [../3rdparty/protobuf-2.6.1/python/dist/protobuf-2.6.1-py2.7.egg] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory `/opt/mesos/build/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/opt/mesos/build/src'
> make: *** [all-recursive] Error 1
> {noformat}
> Looks like a dependency issue, but as the error suggests, I have pytz 2012d 
> when the minimum requirement is 2010. Pip confirms this:
> {noformat}
> $ pip freeze | grep pytz
> pytz===2012d
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to