You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Andy Konwinski (Commented) (JIRA)" <ji...@apache.org> on 2011/11/13 09:49:51 UTC
[jira] [Commented] (MESOS-63) make install not finding
mesos-1.0-py2.6-linux-x86_64.egg
[ https://issues.apache.org/jira/browse/MESOS-63?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13149252#comment-13149252 ]
Andy Konwinski commented on MESOS-63:
-------------------------------------
I'm copying and pasting the output from make where this egg is supposed to be getting generated:
pushd ../third_party/protobuf-2.3.0/python ; PYTHONPATH=../third_party/distribute-0.6.19/distribute-0.6.19-py2.6.egg python2.6 setup.py bdist_egg ; popd
~/mesos/build/third_party/protobuf-2.3.0/python ~/mesos/build/src
---------------------------------------------------------------------------
This script requires setuptools version 0.6c9 to run (even to display
help). I will attempt to download it for you (from
http://pypi.python.org/packages/2.6/s/setuptools/), but
you may need to enable firewall access for this script first.
I will start the download in 15 seconds.
(Note: if this machine does not have network access, please obtain the file
http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg
and place it in this directory before rerunning this script.)
---------------------------------------------------------------------------
Downloading http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg
/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'namespace_packages'
warnings.warn(msg)
/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_egg'
~/mesos/build/src
The reason that command is failing is because there should be an extra "../../" at the beginning of PYTHONPATH, i.e. it should be getting set to ../../../third_party/distribute-0.6.19/distribute-0.6.19-py2.6.egg.
This path is getting generated based on this line in Makefile.in:
pushd @top_builddir@/$(PROTOBUF)/python ; PYTHONPATH=@top_builddir@/$(SETUPTOOLS) $(PYTHON) setup.py bdist_egg ; popd
Since we are changing directories at the beginning of line, and @top_builddir@ uses relative paths, we instead have to use @abs_top_builddir@.
Also, popd is unnecessary at the end of this line since each separate line in a makefile recipe is run in its own subshell (see http://www.gnu.org/s/make/manual/make.html#Execution). Because of this, we can use cd instead of pushd without worries and revert the change in MESOS-50 to use bash instead of sh.
I'm uploading a very small patch that makes these changes. I've tested it on Ubuntu 10.04.3 LTS, OSX Snow Leopard, and Debian GNU/Linux 5.0.
The tests run and pass on OSX and Ubuntu. The SampleFrameworks.PythonFramework test fails on Debian, but when I apply MESOS-78 and MESOS-79, the tests all pass on Debian too.
> make install not finding mesos-1.0-py2.6-linux-x86_64.egg
> ---------------------------------------------------------
>
> Key: MESOS-63
> URL: https://issues.apache.org/jira/browse/MESOS-63
> Project: Mesos
> Issue Type: Bug
> Components: build
> Environment: Version of Mesos: https://svn.apache.org/repos/asf/incubator/mesos/?p=1197837
> Operating system (Amazon EC2 AMI):
> Description: Ubuntu 10.04.3 LTS
> Release: 10.04
> Codename: lucid
> Reporter: Andy Konwinski
> Priority: Critical
>
> After applying 0001-include-limits.h-in-process_spawn-to-fix-compilati.patch from MESOS-37 and MESOS-50.patch from MESOS-50, Mesos builds on Ubuntu Lucid, but I still get an error when I run sudo make install. Michael Armbrust reported this bug in the first comment in MESOS-37, but I'm breaking it out into its own issue.
> Output from command...
> $ sudo make install
> if test ! -d /usr/local/mesos/bin; \
> then mkdir -p /usr/local/mesos/bin; \
> fi
> if test ! -d /usr/local/mesos/lib; \
> then mkdir -p /usr/local/mesos/lib; \
> fi
> if test ! -d /usr/local/mesos/lib/java; \
> then mkdir -p /usr/local/mesos/lib/java; \
> fi
> if test ! -d /usr/local/mesos/conf; \
> then mkdir -p /usr/local/mesos/conf; \
> fi
> if test ! -d /usr/local/mesos/deploy; \
> then mkdir -p /usr/local/mesos/deploy; \
> fi
> install -m 755 ./bin/mesos-master /usr/local/mesos/bin
> install -m 755 ./bin/mesos-slave /usr/local/mesos/bin
> install -m 755 ./bin/mesos-local /usr/local/mesos/bin
> install -m 755 ./bin/mesos-launcher /usr/local/mesos/bin
> install -m 755 ./bin/mesos-getconf /usr/local/mesos/bin
> install -m 755 ./bin/killtree.sh /usr/local/mesos/bin
> rsync -avz ./bin/webui /usr/local/mesos/bin
> sending incremental file list
> sent 882 bytes received 20 bytes 1804.00 bytes/sec
> total size is 154399 speedup is 171.17
> rsync -avz ./deploy /usr/local/mesos
> sending incremental file list
> sent 201 bytes received 13 bytes 428.00 bytes/sec
> total size is 4776 speedup is 22.32
> install -m 755 ./lib/libmesos_exec.a /usr/local/mesos/lib
> install -m 755 ./lib/libmesos_sched.a /usr/local/mesos/lib
> install -m 755 ./lib/libmesos.so /usr/local/mesos/lib
> install -m 755 ./lib/java/libmesos.so /usr/local/mesos/lib/java
> install -m 755 ./lib/java/mesos.jar /usr/local/mesos/lib/java
> mkdir -p /usr/local/mesos/lib/python
> PYTHONPATH=third_party/distribute-0.6.19/distribute-0.6.19-py2.6.egg:/usr/local/mesos/lib/python python2.6 -m easy_install --install-dir /usr/local/mesos/lib/python ./src/python/dist/*.egg
> Processing mesos-1.0-py2.6-linux-x86_64.egg
> removing '/usr/local/mesos/lib/python/mesos-1.0-py2.6-linux-x86_64.egg' (and everything under it)
> creating /usr/local/mesos/lib/python/mesos-1.0-py2.6-linux-x86_64.egg
> Extracting mesos-1.0-py2.6-linux-x86_64.egg to /usr/local/mesos/lib/python
> mesos 1.0 is already the active version in easy-install.pth
> Installed /usr/local/mesos/lib/python/mesos-1.0-py2.6-linux-x86_64.egg
> Processing dependencies for mesos==1.0
> Finished processing dependencies for mesos==1.0
> PYTHONPATH=third_party/distribute-0.6.19/distribute-0.6.19-py2.6.egg:/usr/local/mesos/lib/python python2.6 -m easy_install --install-dir /usr/local/mesos/lib/python ./third_party/protobuf-2.3.0/python/dist/*.egg
> error: Not a URL, existing file, or requirement spec: './third_party/protobuf-2.3.0/python/dist/*.egg'
> make: *** [install] Error 1
> ---------------------------
> We can tell from MESOS-55, which shows what the output from `make install` should look like when it doesn't break at this point, that the egg it is actually looking for is probably protobuf-2.3.0-py2.6.egg. The dist dir isn't even getting created on my ubuntu instance.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira