LINUX.ORG.RU

Сборка старого meson из исходников

 , ,


0

1

Собираю старый meson из исходников, python и все необходимое уже установил. При установке meson 0.59 получаю

# 1 вариант
python3.6 -m pip install meson
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Requirement already satisfied: meson in /tmp/meson-0.59.0
python3 -m pip install meson
Requirement already satisfied (use --upgrade to upgrade): meson in /tmp/meson-0.59.0
/usr/local/bin/python3.6 /tmp/meson\-0\.59\.0/setup.py install
running install
running bdist_egg
running egg_info
creating UNKNOWN.egg-info
writing UNKNOWN.egg-info/PKG-INFO
writing dependency_links to UNKNOWN.egg-info/dependency_links.txt
writing top-level names to UNKNOWN.egg-info/top_level.txt
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no directories found matching 'test?cases'
warning: no directories found matching 'manual?tests'
warning: no files found matching '__main__.py'
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-i686/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install

installing package data to build/bdist.linux-i686/egg
running install_data
creating build
creating build/bdist.linux-i686
creating build/bdist.linux-i686/egg
creating build/bdist.linux-i686/egg/share
creating build/bdist.linux-i686/egg/share/man
creating build/bdist.linux-i686/egg/share/man/man1
copying man/meson.1 -> build/bdist.linux-i686/egg/share/man/man1
creating build/bdist.linux-i686/egg/share/polkit-1
creating build/bdist.linux-i686/egg/share/polkit-1/actions
copying data/com.mesonbuild.install.policy -> build/bdist.linux-i686/egg/share/polkit-1/actions
creating build/bdist.linux-i686/egg/EGG-INFO
copying UNKNOWN.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO
copying UNKNOWN.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying UNKNOWN.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying UNKNOWN.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/UNKNOWN-0.0.0-py3.6.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing UNKNOWN-0.0.0-py3.6.egg
Copying UNKNOWN-0.0.0-py3.6.egg to /usr/local/lib/python3.6/site-packages
Adding UNKNOWN 0.0.0 to easy-install.pth file

Installed /usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg
Processing dependencies for UNKNOWN==0.0.0
Finished processing dependencies for UNKNOWN==0.0.0
meson
The program 'meson' is currently not installed. You can install it by typing:
apt install meson

#2 ой вариант альтернативный
pip3 install meson
Collecting meson
Exception:
Traceback (most recent call last):
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connection.py", line 137, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/util/connection.py", line 67, in create_connection
    for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM):
  File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 559, in urlopen
    body=body, headers=headers)
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 345, in _make_request
    self._validate_conn(conn)
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 786, in _validate_conn
    conn.connect()
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connection.py", line 217, in connect
    conn = self._new_conn()
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connection.py", line 146, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xb688a30c>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 328, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python3/dist-packages/pip/wheel.py", line 748, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 360, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 512, in _prepare_file
    finder, self.upgrade, require_hashes)
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 273, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 440, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 398, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python3/dist-packages/pip/index.py", line 543, in _get_pages
    page = self._get_page(location)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 646, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 755, in get_page
    "Cache-Control": "max-age=600",
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3/dist-packages/pip/download.py", line 378, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/adapter.py", line 46, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/adapters.py", line 376, in send
    timeout=timeout
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 609, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 228, in increment
    total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

Может кто с таким сталкивался, @mord0d, @Kron4ek, @vasily_pupkin ?

Перемещено hobbit из general



Последнее исправление: cogitoergosum (всего исправлений: 2)

Ответ на: комментарий от cogitoergosum

проконсультироваться с экспертом

Вот поэтому я и спрашиваю: зачем ты меня скастовал? Где я отметился как "иксперд по питону"?! Я никогда подобным не занимался и не планирую. Я даже не берусь (и никогда не брался) пакетить проекты на питоне.

Если бы я был заинтересован в meson или python, я был бы подписан на соответствующий тег. Последнего тега у тебя, кстати, не хватает.

А кастовать рандомных юзеров в надежде что это сработает — плохая идея: ты скорее улетишь в игнор, чем тебе станут помогать те, кто в твоём вопросе не заинтересован вообще никак, но кого ты заставил потратить время на выяснение причин каста. ^_~

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Извини, я новорег, увидел твои комменты тут Как установить MPD из исходников? поэтому и обратился к тебе, по поводу избранных тегов, огромное спасибо буду иметь ввиду.

cogitoergosum
() автор топика
Ответ на: комментарий от cogitoergosum

Хочу уточнить. Тебе нужен именно meson 0.59 и именно из исходников ?

По крайне мере последнее колесо мезона 1.2.2 ставится не python 3.7-3.11

Если нет инета, скачай все нужные whl и свали в диру и ставь локально : python -m pip install some-package.whl

mx__ ★★★★★
()

Ты все неправильно делаешь:

  1. его точно надо собирать в virtualenv, чтобы потом не мучаться с пересечениями в библиотеках между собранным самостоятельно и системным
  2. проблема вот тут:
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

из-за несовместимости между версиями этого месона и pip. Вот тут больше про эту ошибку.

Внимательно читай инструкции по сборке месона, какая именно версия петона и пипа ему нужна, вполне может быть что придется либо собирать еще и старый петон либо править исходники месона чтобы оно собралось и запустилось из-под нового петона.

alex0x08 ★★★
()
Ответ на: комментарий от cogitoergosum

https://files.pythonhosted.org/packages/01/48/b4ba2490ed26c73618736dece01a68a609713f1a7923563d4c41ac966b3b/meson-0.59.4-py3-none-any.whl

если что то типа так : pip download mesa==0.59.4 (точно не подскажу)

P.S. И судя по pypi оно уже с 3.6 катит .. https://pypi.org/project/meson/0.59.4/#files

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от alex0x08

нашел вот это "Чтобы пользоваться возможностями пакетного менеджера pip, его необходимо установить. Если версия вашего Python выше 3.4 или 2.7.9, то pip уже интегрирован в него. Использование более ранних версий языка не рекомендуется (вы теряете часть функционала) значит пип не нужен раз он встроен в питон у меня python 3.6.0

cogitoergosum
() автор топика
Ответ на: комментарий от mx__

попробовал meson установился правда так

 cd /tmp/
mkdir mes
cd mes
 python3.6 -m venv venv --prompt meson0.59
 source venv/bin/activate

 pip install -r requirements.txt
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 pip3.6 install /media/meson-0.59.4-py3-none-any.whl
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Processing /media/meson-0.59.4-py3-none-any.whl
Installing collected packages: meson
Successfully installed meson-0.59.4
   meson
Traceback (most recent call last):
  File "/tmp/mes/venv/bin/meson", line 7, in <module>
    from mesonbuild.mesonmain import main
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 29, in <module>
    from . import mconf, mdist, minit, minstall, mintro, msetup, mtest, rewriter, msubprojects, munstable_coredata, mcompile, mdevenv
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/mconf.py", line 21, in <module>
    from . import build
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/build.py", line 26, in <module>
    from . import environment
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/environment.py", line 35, in <module>
    from . import compilers
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/compilers/__init__.py", line 152, in <module>
    from .detect import (
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/compilers/detect.py", line 255, in <module>
    ) -> T.NoReturn:
AttributeError: module 'typing' has no attribute 'NoReturn'

 meson -v
Traceback (most recent call last):
  File "/tmp/mes/venv/bin/meson", line 7, in <module>
    from mesonbuild.mesonmain import main
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 29, in <module>
    from . import mconf, mdist, minit, minstall, mintro, msetup, mtest, rewriter, msubprojects, munstable_coredata, mcompile, mdevenv
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/mconf.py", line 21, in <module>
    from . import build
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/build.py", line 26, in <module>
    from . import environment
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/environment.py", line 35, in <module>
    from . import compilers
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/compilers/__init__.py", line 152, in <module>
    from .detect import (
  File "/tmp/mes/venv/lib/python3.6/site-packages/mesonbuild/compilers/detect.py", line 255, in <module>
    ) -> T.NoReturn:
AttributeError: module 'typing' has no attribute 'NoReturn'

Вроде пишет успешно установилось Тогда откуда ошибки … непонятно и вопрос если для сборки проекта с гитхаба нужно meson, ninja то надо ли создавать общее виртуальное пространство, названное у меня meson0.59, и все создавать в нем, но в отдельных папках (для meson одну, а для ninja другую и второе если они (meson и ninja) будут находиться в отдельных папках то увидит ли их руст собранный из исходников без вирт окружения, и собранный проект как его потом вывести из вирт окружения или запускать его придется только там?

cogitoergosum
() автор топика
Ответ на: комментарий от mx__

У него Mint там нет в дистре meson, думаю что можно взять из соответствующего (по старости) Ubuntu/Debian.

А это что?

https://community.linuxmint.com/software/view/meson

Блин, кто так вообще вопросы задёт? Где входные данные? Какой, мать его, дистр? Почему мы вообще гадаем какая у ТСа версия дистра и что он хочет сделать этим древним Meson’ом?

EXL ★★★★★
()
Ответ на: комментарий от EXL

Да я хз, на левых дистрах обычно ищу через : https://pkgs.org/

а там Mint как то куцо представлен, вот и подумал что нет. Думал будет что то типа : https://rhel.pkgs.org/7/epel-x86_64/meson-0.55.1-1.el7.noarch.rpm.html

А как он умудрился его с колес не поставить я вообще х.з.

mx__ ★★★★★
()
Ответ на: комментарий от EXL

Пожалуйста если ты спрашиваешь Mint 18.3 Sylvia i386 - железо старое сразу, предвидя вопрос почему не сменишь, отвечу - оно меня устраивает это раз и второе - никому не в обиду - просто ответ на предполагаемый вопрос (тем у кого возникнет) настоящий профессионал найдет из любой ситуации (или подскажет как выкрутиться) без странных советов типа купи новое железо и….

cogitoergosum
() автор топика
Последнее исправление: cogitoergosum (всего исправлений: 1)
Ответ на: комментарий от mx__

там сейчас только amd64

Да я хз, на левых дистрах обычно ищу через : https://pkgs.org/

а там Mint как то куцо представлен, вот и подумал что нет. Думал будет что то типа : https://rhel.pkgs.org/7/epel-x86_64/meson-0.55.1-1.el7.noarch.rpm.html

А как он умудрился его с колес не поставить я вообще х.з.

mx__ ★★★★★ (25.10.23 12:09:19 MSK) Ответить на это сообщение Реакции Ссылка Разметка:*

cogitoergosum
() автор топика

Мой тебе совет - изучи что такое чрут, сделай дебутстрап в чруте старого дибиан, олд стайбл и в нём крути компеляй свои мезоны и ниндзи старых версий. Заодно и разберёшься в вопросах совместимости. Потом чрут можешь сносить и уже на своей системе срать в /opt сборку из исходников. Собрать ниндзю симейк и прочий тулчейн не особо сложно, за неделю вкуришь

menangen ★★★★★
()