Вот уже пошел второй месяц моему неосиляторству. Есть некий хелловорлд (http://pastebin.com/rCP0s8Qa если кому интересно, но лучше туда не смотреть), который отлично линкуется и работает с дистрибутивным libpython2.6-2.7, никаких варнингов и все хорошо.
Но, как гласит инструкция на сайте http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/, иногда вы просыпаетесь и понимаете, что у вас недостаточно проблем в жизни и вы решаете собрать питон самостоятельно, чем я и занялся. Правда пока все это происходит на linux x86, до андроида я пока не дошел.
Типичная попытка сборки выглядит так:
wget https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tgz
tar xvf Python-2.6.9.tgz;cd Python...;
./configure --prefix=/peezdon;make;make install
# /peezdon/bin/python-config --includes
-I/peezdon/include/python2.6 -I/peezdon/include/python2.6
# /peezdon/bin/python-config --libs
-lpthread -ldl -lutil -lm -lpython2.6
LOG: Traceback (most recent call last):
LOG: File "youtube-dl", line 15, in <module>
LOG: File "youtube_dl/__init__.py", line 61, in <module>
LOG:
LOG: import io
LOG: File "/peezdon/lib/python2.6/io.py", line 63, in <module>
LOG:
LOG: import _fileio
LOG: ImportError :
LOG: /peezdon/lib/python2.6/lib-dynload/_fileio.so: undefined symbol: PyFloat_Type
В свою очередь PyFloat_Type точно определен и находится в floatobject.o, если слинковаться до кучи еще и с ним, то разумеется получаем:
/peezdon/lib/python2.6/config//libpython2.6.a(floatobject.o):/Python-2.6.9/Objects/floatobject.c:64: first defined here
Конечно оно уже определено, а ты что, раньше не видело?
ЧТО ОНО ОТ МЕНЯ ХОЧЕТ? Пишу тебе, дорогая Катерина Матвеевна, как к последней инстанции, Я ХОЧУ К МАМЕ УЖЕ.
А вообще хотелось бы собрать его единым монолитом, вкомпилив внутрь все-все модули и зависимости, embedded во все поля. Реквестирую мануалов, а то второй месяц идет, я в депрессии и печали, с горя смотрю на сборки вроде sl4a/kivy и подобные сборки питона от Vasyan666, чего очень не хочу.