Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2015-01-19

Python 2.4

Как я ранее упоминал, гражданин Н. купил себе хостинг, где на 512 мегабайт оперативки установлен Debian 7 amd64. Хостинг был взят с целью поднять на нем СЭД NauDoc. Про Наудок мы поговорим позже, сейчас достаточно понимать, что это древнее говно мамонта требует Python 2.4. В пакетах такого уже нет, поэтому собирать будем из исходников.

Конечно, если бы все было просто, я бы не стал писать эту мутоту. Все непросто. Забегая вперед, могу сказать, что основная сложность в том, что теперь библиотеки и хидеры лежат несколько в других папках файловой системы, нежели во времена Python 2.4. Я на этом нюансе потерял несколько часов жизни. Надеюсь, этот пост поможет кому-нибудь сэкономить время.

Итак, установка необходимых пакетов

su -l
aptitude search libbz2 libsqlite3 libreadline zlib1g libncurses5 libssl libgdbm | less
aptitude search libbsd libssl
aptitude install build-essential dkms checkinstall
aptitude install libbz2-dev libsqlite3-dev libreadline-dev zlib1g-dev libncurses5-dev libssl-dev libgdbm-dev
aptitude install libbsd-dev libsslcommon2 libsslcommon2-dev libcurl-dev libcurl3
aptitude install tk8.4 tk8.4-dev tk8.5 tk8.5-dev python-tk tcl-dev tcl8.4 tcl8.4-dev
apt-get build-dep python

Распаковка дистра, правка конфигов

su -l valik
pushd ~/t/NauDoc-6/
tar zxf Python-2.4.4.tgz
cd Python-2.4.4
nano setup.py
nano Modules/Setup.dist

Правки конфигов были такие

--- Modules/Setup.dist.orig     2014-11-25 18:49:13.153936201 +0300
+++ Modules/Setup.dist  2014-11-25 19:14:07.609936201 +0300
@@ -309,11 +309,11 @@
 # every system.

 # *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+ _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
 # *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-#      -L/usr/local/lib \
+ -L/usr/lib \
 # *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-#      -I/usr/local/include \
+ -I/usr/include/tcl8.4 \
 # *** Uncomment and edit to reflect where your X11 header files are:
 #      -I/usr/X11R6/include \
 # *** Or uncomment this for Solaris:
@@ -328,7 +328,7 @@
 # *** Uncomment and edit for TOGL extension only:
 #      -DWITH_TOGL togl.c \
 # *** Uncomment and edit to reflect your Tcl/Tk versions:
-#      -ltk8.2 -ltcl8.2 \
+ -ltk8.4 -ltcl8.4 \
 # *** Uncomment and edit to reflect where your X11 libraries are:
 #      -L/usr/X11R6/lib \
 # *** Or uncomment this for Solaris:

и


--- setup.py.orig       2014-11-25 17:50:51.857936201 +0300
+++ setup.py    2014-11-25 18:36:12.349936201 +0300
@@ -268,7 +268,7 @@
         # be assumed that no additional -I,-L directives are needed.
         lib_dirs = self.compiler.library_dirs + [
             '/lib64', '/usr/lib64',
-            '/lib', '/usr/lib',
+            '/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu', '/lib/x86_64-linux-gnu',
             ]
         inc_dirs = self.compiler.include_dirs + ['/usr/include']
         exts = []
@@ -496,7 +496,8 @@
                 ssl_incs += krb5_h
         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
                                      ['/usr/local/ssl/lib',
-                                      '/usr/contrib/ssl/lib/'
+                                      '/usr/contrib/ssl/lib/',
+                                      'x86_64-linux-gnu'
                                      ] )

         if (ssl_incs is not None and

Компиляем

cp Modules/Setup.dist Modules/Setup
script -t 2>~/python24.time ~/python24.script
./configure --prefix=/opt/python24
make clean
make
^d

и устанавливаем

su -l
mkdir -p /opt/python24
pushd /home/valik/t/NauDoc-6/Python-2.4.4
script -t 2>~/python24.time ~/python24.script
make install
checkinstall -D
^d

Сообщение от checkinstall

 Done. The new package has been installed and saved to
 /home/valik/t/NauDoc-6/Python-2.4.4/python24_2.4.4-1_amd64.deb
 You can remove it from your system anytime using:
      dpkg -r python24

Значит, Python 2.4 установился и готов к боевому дежурству.




original post http://vasnake.blogspot.com/2015/01/python-24.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)