Opened 10 years ago

Closed 10 years ago

#5021 closed defect (fixed)

bin/gmg not created in new install

Reported by: ayleph Owned by:
Priority: major Milestone: 0.8.0
Component: documentation Keywords: make, bin, gmg
Cc: Parent Tickets:

Description

Installing latest master, I don't get a bin/gmg executable.

~ $ mkdir mediagoblin-0.8.0
~ $ cd mediagoblin-0.8.0/
~/mediagoblin-0.8.0 $ git clone https://gitorious.org/mediagoblin/mediagoblin.git .
~/mediagoblin-0.8.0 $ virtualenv2 --system-site-packages .
~/mediagoblin-0.8.0 $ source bin/activate
(mediagoblin-0.8.0) ~/mediagoblin-0.8.0 $ ./bootstrap.sh
(mediagoblin-0.8.0) ~/mediagoblin-0.8.0 $ ./configure --without-virtualenv
(mediagoblin-0.8.0) ~/mediagoblin-0.8.0 $ make
(mediagoblin-0.8.0) ~/mediagoblin-0.8.0 $ bin/gmg dbupdate
-bash: bin/gmg: No such file or directory
(mediagoblin-0.8.0) ~/mediagoblin-0.8.0 $ find bin/
bin/
bin/activate.csh
bin/pip2
bin/pybabel
bin/pip2.7
bin/activate.fish
bin/activate
bin/easy_install
bin/activate_this.py
bin/easy_install-2.7
bin/pip
bin/python2
bin/python
bin/python2.7

Change History (6)

comment:1 by ayleph, 10 years ago

Component: infrastructuredocumentation
Priority: majorminor

This was a misunderstanding of how the install process works. When configuring with the without-virtualenv switch, you must separately run python setup.py develop. Rather than a programming/infrastructure issue, this is more of a documentation issue to make sure that end users understand the implications of the without-virtualenv switch.

comment:2 by Boris Bobrov, 10 years ago

Priority: minormajor

I'm raising the priority because users come asking.

comment:3 by Jim Campbell, 10 years ago

I've attempted several installs over the past several days, each following the "latest" docs, and have not encountered this problem.

The steps being shown above aren't the standard steps. Can you explain what you're attempting to do differently, and why it's necessary to document a non-standard setup?

comment:4 by ayleph, 10 years ago

There was an email to the GMG-Devel list saying that we could pass the --without-virtualenv switch to ./configure. However, there's not documentation about what this option does. I assumed (and apparently others assume) that it wouldn't overwrite an existing virtualenv, but that it would place the binaries in an existing virtualenv. In reality, it doesn't create a virtualenv (expected), but it also doesn't create binaries in an existing virtualenv.

It was a misunderstanding on my part, and I don't blame the MediaGoblin documentation for my assumptions. But I thought it would be a good idea to document what this option actually does. If it doesn't seem worth putting that in the actual docs, then maybe we can close this ticket. I have a separate ticket open addressing the fact that ./configure --help gives incorrect information about the --without-virtualenv switch. https://issues.mediagoblin.org/ticket/5022

comment:5 by Christopher Allan Webber, 10 years ago

I've added clarity to the docs in git master on what --without-virtualenv does:

.. note::

   What if you don't want an in-package ``virtualenv``?  Maybe you
   have your own ``virtualenv``, or you are building a MediaGoblin
   package for a distribution.  There's no need necessarily for the
   virtualenv produced by ``./configure && make`` by default other
   than attempting to simplify work for developers and people
   deploying by hiding all the virtualenv and bower complexity.

   If you want to install all of MediaGoblin's libraries
   independently, that's totally fine!  You can pass the flag
   ``--without-virtualenv`` which will skip this step.   
   But you will need to install all those libraries manually and make
   sure they are on your ``PYTHONPATH`` yourself!  (You can still use
   ``python setup.py develop`` to install some of those libraries,
   but note that no ``./bin/python`` will be set up for you via this
   method, since no virtualenv is set up for you!)

comment:6 by Christopher Allan Webber, 10 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.