- Проблемы после установки Python на Linux?
- gfortran_linux-64 pins to broken Python 3.6.2_15. #6698
- Comments
- rainwoodman commented Oct 17, 2017
- mingwandroid commented Oct 17, 2017
- rainwoodman commented Oct 17, 2017
- mingwandroid commented Oct 17, 2017
- kalefranz commented Oct 17, 2017
- jakirkham commented Feb 17, 2018 •
- msarahan commented Feb 22, 2018
- msarahan commented Feb 22, 2018
- jakirkham commented Feb 22, 2018
- msarahan commented Feb 22, 2018
- Кросс-компиляция Python3 в Ubuntu 12 для ARM
- Отладка ошибки » gcc: ошибка: x86 64-linux-gnu-gcc: нет такого файла или каталога»
- 5 ответов
Проблемы после установки Python на Linux?
$ python —version результат: Python 2.7.12
$ python3 —version результат: Python 3.5.2
which python результат: /usr/bin/python
which python3 результат: /usr/bin/python3
$ sudo apt update
$ sudo apt install python3.6
$ ls /usr/bin/python*
результат:
$ python3.6 —version результат: Python 3.6.3
затем.
думаю здесь сделал ошибку, эту команду не нужно было вводить, результат:
$ update-alternatives —config python
результат: Есть только одна альтернатива в группе ссылок python (предоставляющая /usr/bin/python): /usr/bin/python2.7
Настраивать нечего.
$ update-alternatives —config python3
результат:
Есть 2 варианта для альтернативы python3 (предоставляет /usr/bin/python3).
Выбор Путь Приор Состояние
————————————————————
* 0 /usr/bin/python3.6 3 автоматический режим
1 /usr/bin/python3.5 2 ручной режим
2 /usr/bin/python3.6 3 ручной режим
Press to keep the current choice[*], or type selection number: 0
После всех этих шаманств, начались чудеса 🙂
$ python —version
получаю: bash: /usr/lib/command-not-found: /usr/bin/python3: плохой интерпретатор: Нет такого файла или каталога
$ python2 —version возвращает: Python 2.7.12
$ python3 —version возвращает: bash: /usr/lib/command-not-found: /usr/bin/python3: плохой интерпретатор: Нет такого файла или каталога
$ python3.5 —version возвращает: Python 3.5.2
$ python3.6 —version возвращает: Python 3.6.3
перестал запускаться gnome-terminal назначенный на Alt+T, возвращает: не удалось выполнить процесс-потомок «/usr/bin/gnome-terminal» (нет такого файла или каталога), но при этом запускается gnome-terminal.real
при запуске графического окна «Обновление приложений», выдает ошибку: не удалось выполнить процесс-потомок «/usr/bin/update-manager» (нет такого файла или каталога), но при этом sudo apt update и sudo apt upgrade работают,
при запуске графического окна «Программы и обновления», выдает ошибку: не удалось выполнить процесс-потомок «/usr/bin/software-properties-gtk» (нет такого файла или каталога).
lsb_release
возвращает: bash: /usr/bin/lsb_release: /usr/bin/python3: плохой интерпретатор: Нет такого файла или каталога
lsb_release -а , тоже самое
попробовал все сбросить
sudo update-alternatives —remove-all python
sudo update-alternatives —remove-all python2
sudo update-alternatives —remove-all python3
результат: ошибки не исправились, все также. если правильно понимаю, я затронул системный python 2.7.12 и его зависимости. Помогите исправить, подскажите где я ошибся и как правильно нужно было делать.
Спасибо.
Источник
gfortran_linux-64 pins to broken Python 3.6.2_15. #6698
Comments
rainwoodman commented Oct 17, 2017
The text was updated successfully, but these errors were encountered:
mingwandroid commented Oct 17, 2017
Which version of conda are you running here? gfortran_linux-64 does not pin to conda at all. I suspect a conda bug.
rainwoodman commented Oct 17, 2017
mingwandroid commented Oct 17, 2017
@kalefranz, can you take a look at this please?
kalefranz commented Oct 17, 2017
Seems like it might be related to conda/conda#6164 (comment)
jakirkham commented Feb 17, 2018 •
Any news on this? Seeing this if I merely try to switch from an environment with the gcc_linux-64 package into another environment.
msarahan commented Feb 22, 2018
@jakirkham can you give us a reproducer series of steps in a docker container? I don’t see anything in the dependencies that should have this effect.
depends for gfortran_linux-64-7.2.0-25.tar.bz2:
0 | «binutils_linux-64 7.2.0 25» |
---|---|
1 | «gcc_linux-64 7.2.0 25» |
2 | «gfortran_impl_linux-64 7.2.0.*» |
msarahan commented Feb 22, 2018
jakirkham commented Feb 22, 2018
It’s been a few days, but I did something like this.
- Install gcc_linux-64 in a new environment.
- Activate that environment.
- Try to switch out of that environment (e.g. to root ).
I think it was basically getting confused and trying to use python from a different environment than gcc_linux-64 was installed in, which caused things to go sideways. If this doesn’t help, I can take a closer look.
msarahan commented Feb 22, 2018
I can reproduce this when:
- root env is an older python version that is missing the compiler compatibility shim
- other env has newer python and compiler package installed
- activate other env, then activate root.
This is happening because once the inner environment is activated, these env vars are set:
All Python 3.6 installs use these vars (and we backported these vars to earlier python versions). It is insufficient for conda to unset them only at deactivation time, because any conda operation done with the inner env activated will use the outer python, and will fail.
The workaround I recommend right now is to update python in your root environment. To get unstuck and perform this update, do
A proper fix would be to patch the older pythons and have them handle failure to import this module more gracefully. A more hackish solution might be to have conda force python to ignore this environment variable, but I’m not sure if Conda could even get at os.environ soon enough before python tried to load this info.
I recommend updating your root env python for now. We’ll talk about this issue internally and decide whether this is worth a fix, given that the workaround is pretty straightforward.
Источник
Кросс-компиляция Python3 в Ubuntu 12 для ARM
Пытаюсь сделать кросс-компиляцию Python 3.5.5 на Ubuntu 12 (в виртуалбокс), чтобы потом перенести на промышленный контроллер (в котором Линукс). Инструкция по вот этой ссылке — http://idiip.jiinii.com/cross-compile-python-3.html. При выполнении ./configure —host=arm-linux-gnueabihf —target=arm-linux-gnueabihf —build=x86_64-linux-gnu —prefix=$HOME/PythonSrc/PythonTarget —disable-ipv6 —enable-shared командная строка выдает такое сообщение:
Опыта немного у меня. Помогите разобраться.
А что в config.log?
Бери abi из ведройда от es проводника и не надо компилить
Landgraf , в файле config.log много чего написано. Я можно сказать пока не понимаю что там и к чему. Я так понимаю не разобравшись с этими логами дальше не продвинутся у меня дела ?
Может подскажете тогда что можно почитать про кросс-компиляцию?
Ищи по error: , последнюю ошибку.
файле config.log много чего написано
Так найди нужное место. Там рядом будет продублировано такое же сообщение от configure, и вообще оно будет в конце портянки с вызовами команд, сразу перед портянкой с переменными.
slovazap , я думаю пока интересна вот эта часть файла config.log?:
Мне вообще не интересна. Вам — скорее всего, ошибка там черным по белому написана, причём несколько раз.
выложи файл на pastebin.com и кинь сюда ссылку хотя бы
arm-linux-gnueabihf-gcc: command not found
Кросс-компилятор же нужно установить сначала. Вроде, так это делается:
Landgraf , файл config.log выложил сюда — https://pastebin.com/9Z8JzDiA . На всякий случай сам файл configure выложил сюда — https://pastebin.com/ZLc9LDZU
xaizek , установил. Но все равно не помогает. Так же все и осталось.
Команда arm-linux-gnueabihf-gcc в консоли работает?
в логах буквально в самом начале написано
./configure: line 4024: arm-linux-gnueabihf-gcc: command not found
попробуй после того как установил, перелогиниться. Если не поможет, смотри почему не находит arm-linux-gnueabihf-gcc
xaizek , как это проверить?
Набрать в консоли arm-linux-gnueabihf-gcc и нажать Enter.
xaizek , выдается сообщение
Landgraf , я инсталлировал arm-linux-gnueabihf-gcc, но компиляция все равно пока не получается. Хотя сообщение выдаваемое командной строкой немного другое теперь.
Файл config.log я выложил по ссылке https://pastebin.com/VTq3kDLW (там я на всякий случай переименовал файл как config_1).
Теперь судя по логам вместо «…arm-linux-gnueabihf-gcc: command not found» пишется сообщение «arm-linux-gnueabihf-gcc: fatal error: no input files». То есть каких-то входных файлов (данных) не хватает?
И еще смутило последнее сообщение «If you meant to cross compile, use `–host’.» (110-я строка файла config_1). Я же использую уточнение «–host=x86_64-linux-gnu», на что он ругается?
Заранее благодарен за помощь.
а что за контроллер то хоть?
может на нем уже debian-подобный дистрибутив какой-то установлен?
или планируется быть установлен?
Теперь судя по логам вместо «…arm-linux-gnueabihf-gcc: command not found» пишется сообщение «arm-linux-gnueabihf-gcc: fatal error: no input files». То есть каких-то входных файлов (данных) не хватает?
Нет, это ошибка не в этом, а здесь:
Что-то ты неправильно кросс-компилируешь. Потому что получается, что ./conftest скомпилировался под arm, а запускается на x86_64. Возможно флаги build/host/target неправильно расставил.
И еще смутило последнее сообщение «If you meant to cross compile, use `–host’.» (110-я строка файла config_1). Я же использую уточнение «–host=x86_64-linux-gnu», на что он ругается?
Да, именно так. Посмотри как по инструкции в твоей же ссылке:
Дело в том, что сборочная система Autotools настолько тупая, что хостом она при кросс-компиляции считает целевую машину, а не ту, на которой ты компилируешь.
Дело в том, что сборочная система Autotools настолько тупая, что хостом она при кросс-компиляции считает целевую машину, а не ту, на которой ты компилируешь.
почему тупая, в документации прямо сказано, что host — это машина ДЛЯ которой ты компилируешь
что host — это машина ДЛЯ которой ты компилируешь
Интересно, какие наркотики употребляли те, кто проектировал Autotools. Хотя… где проектирование и где Autootools.
хост хостит программу, которую мы компилируем, всё логично 🙂
Источник
Отладка ошибки » gcc: ошибка: x86 64-linux-gnu-gcc: нет такого файла или каталога»
Я пытаюсь построить: https://github.com/kanzure/nanoengineer
но похоже, что это ошибки на:
x86_64-linux-gnu-gcc наверняка существует в / usr / bin (это символическая ссылка), и цель определенно существует. Мне кажется, что Makefile был сгенерирован неправильно, возможно, есть флаг, который должен быть передан перед указанием x86_64-linux-gnu-gcc? Я также не уверен, что указывает x86_64-linux-gnu-gcc предполагается выполнять.
наконец, этот makefile был создан configure, поэтому, как только мы сузим причину ошибки, мне придется выяснить, какие файлы нужно изменить, чтобы исправить это. (Я сам парень типа CMake, но, конечно, я не выбирал систему сборки для этого проекта.) Моя ОС-Debian.
Я также пытался построить эту ветку: https://github.com/kanzure/nanoengineer/branches/kirka-updates
Если вы можете попробовать это постройте на вашей системе, я был бы очень признателен! Спасибо!
5 ответов
после изрядного количества работы я смог заставить его строить на Ubuntu 12.04 x86 и Debian 7.4 x86_64. Я написал руководство ниже. Можете ли вы попробовать следовать за ним, чтобы увидеть, решает ли он проблему?
если не Пожалуйста, дайте мне знать, где вы застряли.
Установить Общие Зависимости
Установить NumArray 1.5.2
Установите Цифровой 23.8
установить HDF5 1.6.5
Установить Nanoengineer
устранение неисправностей
в Debian Jessie вы получите сообщение об ошибке, о котором упоминалось в cant pants. Кажется, в сценариях automake есть проблема. x86_64-linux-gnu-gcc вставить в CFLAGS и gcc будет интерпретировать это как имя одного из исходных файлов. В качестве обходного пути, давайте создайте пустой файл с таким именем. Пусто, чтобы он не изменил программу и само это имя, чтобы компилятор взял его. Из клонированного каталога nanoengineer запустите эту команду, чтобы сделать gcc счастливым (это хак да, но он работает) .
если вы получаете сообщение об ошибке при попытке скомпилировать HDF5 по строкам: «ошибка: вызовите» __open_missing_mode», объявленный с атрибутом error: open with O_CREAT во втором аргументе требуется 3 аргумента», затем измените файл perform/zip_perf.c, строки 548 выглядеть следующий и повторно запустите сделает.
если появляется сообщение об ошибке Numeric / arrayobject.h не найден при создании Наноинженера, попробуйте запустить
если появляется сообщение об ошибке, подобное «TRACE_PREFIX undeclared», измените файл sim/src/simhelp.c строк 38 до 41, чтобы выглядеть так и повторно запустить make:
если при попытке запуска появляется сообщение об ошибке NanoEngineer-1, который упоминает что-то похожее на «не удается импортировать имя GL_ARRAY_BUFFER_ARB», измените строки в следующих файлах
это выглядит так:
я также нашел дополнительный текстовый файл для устранения неполадок, который был удален, но вы можете найти его здесь
Источник