Python install catch 22

Kubilay Kocak koobs.freebsd at gmail.com
Sun Apr 6 02:22:20 UTC 2014


On 5/04/2014 9:12 PM, Willem Jan Withagen wrote:
> 
> 
> Op 5 apr. 2014 om 05:48 heeft Shane Ambler <FreeBSD at ShaneWare.Biz> het volgende geschreven:
> 
>> 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.
> 
> Sorry,
> 
> I did not explain  the situation clear enough.
> 
> I was at 2.7, and wanted to install a 2.7 upgrade because of a bug.
> If memory serves me, from 2.7.3 to 2.7.6
> 
> But that started mounting about missing db stuff, and having to install a py/db of choice.
> That is where I ran into the catch22, installing a db required py-tools, which in turn starts to try to upgrade python from 2.7.3 to 2.7.6.

Hi Willem,

a) Can you clarify/confirm whether you tried installing/upgrading Python
via ports or packages.

b) Tell us exactly (method & commands) how you attempted to upgrade
Python 2.7 to Python 3.3

b) If via ports, it would be helpful to know how and why the dbm module
fails to build for python33

Either attach a complete build log here, or join us on IRC
#freebsd-python on freenode so we can help you isolate.

Koobs


> Then I cleaned/removed al python stuff, and tried again.
> First with 2.7 and when that did not work, I tried 3.3 with the same result.
> I tried with portinstall/portupgrade as well as make && make install, but both fail for the same reason.
> 
> So atm I have no python at al.
> 
>> 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.
> 
> Using command line in putty.
> I will try again, and scan de build output for more errors. So there should be an error building the part in the stage tree?
> 
> 
>>
>> gettext libiconv and gmake are the only things that need to be installed
>> before python to build.
> 
> So where does it get the DBMS stuff from?
> 
>> Maybe there is an issue with you not building
>> from /usr/ports ?
> 
> That would be a first. This config is like this for about 6 years.
> And /user/ports links to this tree.
> 
>>
>>> 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?
> 
> That would be the alternative, but I only do that, if nothing else works.
> I've grown to always build my stuff.
> 
>>
>> What FreeBSD version are you using?
> 
> I386 9.2-STABLE
> 
> --WjW
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
> 



More information about the freebsd-ports mailing list