What does this install error mean?

687 views
Skip to first unread message

Clint Olsen

unread,
Jan 15, 2010, 7:21:31 PM1/15/10
to merc...@selenic.com
python setup.py  install --install-base="/home/colsen" --install-platbase="/home/colsen/lib/python2.6/site-packages/i686"  --force
running install
error: install-base or install-platbase supplied, but installation scheme is incomplete
make: *** [install-home-bin] Error 1

I spent a fair bit of time fighting the installer for 1.3.1 because I have two simultaneous Linux versions I need to support.  I couldn't find another way to get the two builds to co-exist.

Thanks,

-Clint

Martin Geisler

unread,
Jan 15, 2010, 8:08:01 PM1/15/10
to Clint Olsen, merc...@selenic.com
Clint Olsen <clint...@gmail.com> writes:

> python setup.py install --install-base="/home/colsen"
> --install-platbase="/home/colsen/lib/python2.6/site-packages/i686" --force
> running install
> error: install-base or install-platbase supplied, but installation scheme is
> incomplete
> make: *** [install-home-bin] Error 1

Well, I don't know about those flags, but I normally use
--home=$HOME/opt or --prefix=/something.

> I spent a fair bit of time fighting the installer for 1.3.1 because I
> have two simultaneous Linux versions I need to support. I couldn't
> find another way to get the two builds to co-exist.

Mercurial is actually super easy to install: do 'make local' and you'll
get a self-contained installation right where you unpacked the source.
You can then symlink the 'hg' script into a directory in your PATH.

--
Martin Geisler

VIFF (Virtual Ideal Functionality Framework) brings easy and efficient
SMPC (Secure Multiparty Computation) to Python. See: http://viff.dk/.

Clint Olsen

unread,
Jan 17, 2010, 2:33:35 AM1/17/10
to Martin Geisler, merc...@selenic.com
Hi:

Thanks for your reply.  Yeah, I did end up having to use the local compile.  I just got tired of fighting it.  For 1.3.1 some of the switches below were the only way I could get it to install the platform-dependent Python libraries in their own directories so they did not clobber each other (32 vs. 64-bit for example).  I tried various prefix/home and they would not work either at install time or the target directories ended up colliding.  The documentation isn't very clear of the nuances between prefix/home/install-(plat)base, and how it's all supposed to work.  Normally GNU-style install has "prefix" for potentially shared and "exec-prefix" for those files that are arch/plat specific.

Thanks,

-Clint

Martin Geisler

unread,
Jan 17, 2010, 9:04:41 AM1/17/10
to Clint Olsen, merc...@selenic.com
Clint Olsen <clint...@gmail.com> writes:

Hi again :-)

> Thanks for your reply. Yeah, I did end up having to use the local
> compile. I just got tired of fighting it.

I think 'make local' is great -- it's simple and easy to manage.

> For 1.3.1 some of the switches below were the only way I could get it
> to install the platform-dependent Python libraries in their own
> directories so they did not clobber each other (32 vs. 64-bit for
> example). I tried various prefix/home and they would not work either
> at install time or the target directories ended up colliding.

Pick a prefix for each and set PYTHONPATH accordingly?

> The documentation isn't very clear of the nuances between
> prefix/home/install-(plat)base, and how it's all supposed to work.
> Normally GNU-style install has "prefix" for potentially shared and
> "exec-prefix" for those files that are arch/plat specific.

Well, those flags are all standard distutils flags:

http://docs.python.org/install/

In that sense, I think documentation for --prefix and friends is out of
scope for Mercurial.

Clint Olsen

unread,
Jan 18, 2010, 5:19:30 PM1/18/10
to Martin Geisler, merc...@selenic.com
Hi:

So, what do you do about things like the man pages when you do a "make local"?  I can' think of an easy way to use symlinks or otherwise wrap "man" so these pages are seen.

Thanks,

-Clint

On Fri, Jan 15, 2010 at 5:08 PM, Martin Geisler <m...@lazybytes.net> wrote:

Mark A. Flacy

unread,
Jan 18, 2010, 5:33:11 PM1/18/10
to merc...@selenic.com
On Mon, 2010-01-18 at 14:19 -0800, Clint Olsen wrote:
> Hi:
>
> So, what do you do about things like the man pages when you do a "make
> local"? I can' think of an easy way to use symlinks or otherwise wrap
> "man" so these pages are seen.

Use the MANPATH environment variable to add the local directory.

--
Mark A. Flacy <mfl...@verizon.net>

_______________________________________________
Mercurial mailing list
Merc...@selenic.com
http://selenic.com/mailman/listinfo/mercurial

Clint Olsen

unread,
Jan 18, 2010, 5:46:26 PM1/18/10
to mfl...@verizon.net, merc...@selenic.com
Hi:

Thanks for replying.  I was looking for something (hopefully) that didn't require me to reset my environment - similarly to how the symlink to the local dir where hg was built doesn't require me to update my PATH.  I'm just thinking of course...

Thanks,

-Clint

Martin Geisler

unread,
Jan 18, 2010, 6:47:01 PM1/18/10
to Clint Olsen, merc...@selenic.com
Clint Olsen <clint...@gmail.com> writes:

> Hi:
>
> So, what do you do about things like the man pages when you do a "make
> local"?

I would say that you don't --- if you're going to install Mercurial
without the help of your package manager, then you don't get man pages,
HTML documentation, zsh and bash completion files, etc...

But in reality you can do 'make doc' to build the man and HTML pages :-)
It is perhaps easier to browse them online:

http://www.selenic.com/mercurial/hg.1.html
http://www.selenic.com/mercurial/hgrc.5.html
http://www.selenic.com/mercurial/hgignore.5.html

Reply all
Reply to author
Forward
0 new messages