Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Apr 2014 14:18:04 +1030
From:      Shane Ambler <FreeBSD@ShaneWare.Biz>
To:        Willem Jan Withagen <wjw@digiware.nl>, ports@freebsd.org
Subject:   Re: Python install catch 22
Message-ID:  <533F7CF4.6070003@ShaneWare.Biz>
In-Reply-To: <533EA19E.80905@digiware.nl>
References:  <533EA19E.80905@digiware.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On 04/04/2014 22:42, Willem Jan Withagen wrote:
> Hi,
> 
> I've tried to upgrade my python 2.7 which did not work.
> Then I deinstalled all python stuff and tried to install python3 (aka 3.3)

You can install both versions of python (2.7 & 3.3) at the same time,
but currently you can only install a module to one of the versions at a
time.

So far there are still many modules that don't work with 3.x so you may
want to use 2.7 if you want python with more than the default modules.

The default python is still 2.7, if you want to use 3.3 then you might
want to add
DEFAULT_VERSIONS=PYTHON=3.3 PYTHON3=3.3
to your /etc/make.conf

> The system everytime refuses to install because of missing a database:
> 
> pkg-static:
> lstat(/home2/usr/ports/lang/python33/work/stage/usr/local/lib/python3.3/lib-dynload/_dbm.so):
> No such file or directory
> *** [fake-pkg] Error code 74
> 
> [ replace python33 by python27 te get the similar error for 2.7 ]

This would indicate that the dbm module wasn't built. It should be built
and is a module that gives access to others that may be installed from
the list below. The db modules below don't need to be installed first
for _dbm.so to be built.

This is an error compiling not related to the other modules. If your
using a gui then scrollback in the terminal to see the error - increase
scrollback limit if needed, from cli maybe use script to keep a log of
the build to look through.

gettext libiconv and gmake are the only things that need to be installed
before python to build. Maybe there is an issue with you not building
from /usr/ports ?

> And then hints:
> ====
> Note that some of the standard modules are provided as separate
> ports since they require extra dependencies:
> 
> gdbm            databases/py-gdbm
> sqlite3         databases/py-sqlite3
> tkinter         x11-toolkits/py-tkinter
> 
> Install them as needed.
> ====
> 
> Which is nasty catch22, because one needs a recent/working python to
> actually be able to do this.
> 
> How do other cope with this?
> 

Could using pkg to install a prebuilt binary package be an option?

What FreeBSD version are you using?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?533F7CF4.6070003>