ROOT права = TWRP Recovery + Magisk
Просто и быстро «В ДВА ШАГА» получаем ROOT права на Android
TWRPЧтоб установить ROOT права нам необходим «Team Win Recovery Project» или сокращенно TWRP. Это кастомный софт с открытым исходным кодом, то есть специальный расширенный режим телефона, который также предоставляет нам возможность:
- Устанавливать неофициальные сторонние прошивки
- Устанавливать разные патчи и дополнения
- Создавать резервные копии, как отдельных разделов, так и всей прошивки в целом
- Восстанавливать данные, как с внутренней памяти, так и с SD-карты из ранее созданных резервных копий
- Подключиться к ПК через USB в режиме ADB и в режиме съёмного накопителя
- Сбрасывать “Data» к заводским настройкам
- Очищать разделы «Cache» и «Dalvik-cache»
- Форматировать любые разделы и создавать новые
Ну что, готов? Тогда let’s go получать Root-права для своего смартфона следуя приведенной ниже инструкции.
Помни, что за все свои действия отвечаешь только ты сам!
Для необходимости настроить телефон «под себя» это идеальный и достаточно безопасный вариант. Но не забывай, что возможны серьезные системные сбои и даже полный выход смартфона из строя, если неверно выполнять последовательность всех действий этой инструкции. Поэтому будь внимателен и последователен.
Перед началом обязательно сделай полный БЭКАП!
➊ Шаг первыйУстановка «TWRP Recovery»Подготовка смартфона к установке «Team Win Recovery Project 3.4.0-1»
Первым делом убедись, что заряд батареи твоего смартфона не менее 50% и он не выключится во время процесса установки и прошивки рекавери.
Для установки TWRP Recovery необходимо обязательно иметь разблокированный загрузчик смартфона. Чтобы проверить статус своего загрузчика заходим в настройки смартфона и открываем – [Расширенные настройки] – [Для разработчиков] – [Статус Mi Unlock].
Если загрузчик твоего смартфона заблокирован, как просто его разблокировать смотри здесь
Еще нам нужно включить отладку по USB. Для этого в настройках открываем – [Расширенные настройки] > [Для разработчиков]. Включаем тумблер – [Отладка по USB] и нажимаем кнопку – [ОК].
Теперь сейчас в телефон скачиваем и сохраняем ZIP-архив рут менеджера «Magisk Manager». И обязательно запомни путь к этому файлу (Magisk-v20.4), он нам обязательно понадобится немного позже.
LIFEHACK: Для более удобного поиска лучше сохранить этот файл в корневой раздел.Установка инструмента авто-инстоллятора «Recovery Installer»
Теперь скачиваем в свой компьютер архив recovery_installer.
После загрузки ZIP-файла создадим папку на системном диске C:/ с произвольным названием, например «TWRP» и распакуем скачанный ZIP-архив в эту папку. В итоге структура должна выглядеть так: C:\ TWRP\recovery_installer
А содержимое папки таким:
Теперь переводим смартфон в режим Fastboot. Для этого полностью выключаем телефон, затем зажимаем клавиши [Питание] и [Громкость –] и держим нажатыми до виброотклика и появления на экране логотипа режима Fastboot (зайца с андроидом).
В режиме Fastboot подключаем телефон к компьютеру USB-кабелем.
👍 LIFEHACK: Для этой цели лучше использовать оригинальный кабель.
Если при подключении смартфона к компьютеру появляется всплывающее окно «USB-устройство не опознано” и твой ПК не синхронизировался с телефоном, это может возникнуть по нескольким причинам. Две основные из них это:
● Используется не оригинальный USB-кабель
● Отсутствуют или устарели драйверы Xiaomi для Windows
Соответственно USB-кабель необходимо заменить на оригинальный. А драйверы нужно установить или обновить до актуальной версии.
Как легко установить драйверы Xiaomi для Windows с инструкцией по установке и быстро подключить свой смартфон к ПК смотри здесь
В папке с инструментом авто-инстоллятора рекавери [recovery_installer] запускаем файл [Install.bat] (в случае, если ты скачали «полный комплект для установки», нужно запустить файл [TWRP_Install_select.bat], нажать цифру [1] и клавишу [Enter]).
На экране компьютера откроется окно отображения системных процессов прошивки TWRP. Через пару секунд следуя высветившейся рекомендации, нажимаем любую клавишу на клавиатуре ПК.
Готово! TWRP уже в твоем смартфоне.
Теперь для входа в «TWRP Recovery» зажимаем клавиши [Питание] и [Громкость «+» (верх)] и удерживаем до появления логотипа “MI».
Если установка TWRP не произошла, убедись что у тебя в ПК установлены драйвера для твоего устройства, а также разблокирован загрузчик
После загрузки «TWRP» на первом экране при необходимости изменить язык интерфейса нажимаем вкладку [Select Language], выбираем из списка удобный для себя язык и нажимаем ОК. Теперь в строку «Enter Password for User [0]» вводим свой цифровой четырехзначный код разблокировки телефона и нажимаем кнопку с галочкой. Производится расшифровка нашего раздела Data и обновление информации о разделах системы. После чего «TWRP» открывает главное меню софта состоящее из восьми вкладок.
Сейчас хочу обратить внимание! Если на данном этапе выключить или перезагрузить телефон то установленный «TWRP» слетит и его придется устанавливать заново. Поэтому очень важным моментом данного метода является то, что ко второму шагу инструкции необходимо приступать обязательно сейчас, не выключая и не перегружая смартфон. USB-кабель можно отключить (не принципиально). Главное, находясь в режиме «TWRP» преступить к следующему этапу.
➋ Шаг второйУстановка «Magisk Manager»
Опенсорсная утилита «Magisk Manager» с уже интегрированным модулем «Magisk» — это крутой администратор с открытым исходным кодом, который дает нам ROOT-права с возможностью суперпользователя для своего Android-смартфона. «Magisk Manager»позволяет нам устанавливать любые кастомные программы и моды, удалять ненужные системные приложения. И что очень важно делать это безопасно в режиме Systemless, не меняя структуру раздела /system. А способность «Magisk менеджера» использовать разнообразные дополнительные модули делает функциональность нашего смартфона практически безграничной. При этом он позволяет скрывать наличие рута в системе для различных приложений — банковских игровых почтовых и др. А все действующие стоковые программы и дальше могут получать обновления.
Основные возможности «MagiskManager»:
- Root-права с возможностью суперпользователя
- Устанавливать любые кастомные программы и моды
- Удалять ненужные системные приложения, не внося изменений в раздел System
- Для действующих стоковых программ продолжать получать обновления
- Использовать множество всевозможных дополнительных модулей
- Запуск скриптов с подменой файлов до монтирования раздела Data
- Скрывать наличие рута для выбранных приложений
В открывшемся главном меню кликаем вкладку [Установка]. Находим ранее скачанный нами файл Magisk-v20.4 и кликаем его.
На открывшейся странице загрузки файла делаем [>>>свайп для активизации прошивки]. Процесс прошивки запущен.
Далее нажимаем вкладку [Перезагрузка в ОС] и дожидаемся перезагрузки в операционную систему.
В течении минуты на нашем рабочем столе должна появиться иконка установленного приложения «Magisk Manager». Кликаем ее и запускаем рут менеджер. Если уже доступно обновление модуля «Magisk» и/или самого менеджера обновляемся. А если версии актуальны и статусы отмечены зелеными галочками значит, цель достигнута, твой смартфон благополучно получил рут права.
РАЗ-ДВА И ИМЕЕМ ROOT ПРАВА! — Технично «В ДВА ШАГА» рутируем любой Android!Новый 100% метод «В ДВА ШАГА» получения ROOT прав на любом Android устройстве с помощью готовых пакетов «Авто-инсталляторов» смотри в специальном видео: ▼▼▼
Не ограничивай стоковым функционалом свой Android смартфон расширяй возможности с ROOT правами!
ТАКЖЕ РЕКОМЕНДУЕМ:
как создать, получить, удалить и настроить
В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Давайте детально обсудим, что может суперпользователь в Linux, как настроить root и для чего нужна команда sudo.
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
- чтение, запись и изменение любых атрибутов пользовательской папки;
- то же самое и для каталога /tmp;
- выполнение программ в любом месте, где нет ограничений;
- чтение файлов с соответствующим атрибутом для всех пользователей.
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Команда sudo и примеры ее использования
Команда sudo тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.
Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:
sudo program \\ program – название приложения, которое вы хотите запустить
Еще sudo применяется для установки софта, команда в таком случае обретает вид:
sudo apt install program
Если же вы желаете использовать сразу несколько команд, например, введя sudo cat file. txt | grep text > file.txt, появится ошибка, поскольку при выполнении второй команды права суперпользователя отсутствуют, а значит, запись в файл невозможна. Решается такая ситуация добавлением sudo перед каждым выражением.
В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи sudo. Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.
Переключение на суперпользователя
Еще раз уточню, что команда sudo идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите sudo -s или sudo -i. В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда su, но она обладает дополнительными аргументами, которые следует уточнить:
- -c – позволяет выполнить команду;
- -g – устанавливает группу для пользователя;
- -G – дополнительные группы для юзера;
- —, -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
- -p – сохранение переменных окружения;
- -s – выбор оболочки для выхода.
Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода – потеря возможности взаимодействия с графическим интерфейсом операционной системы.
Второй вариант – ввод такого же логина и пароля при входе через графическую форму авторизации. Так вы сразу получите доступ ко всем файлам, даже не надо будет вводить sudo. Однако неопытным пользователям такой метод не подходит, поскольку возникает риск удаления или изменения системных файлов, что иногда приводит к поломке ОС.
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:
- Откройте Терминал и введите команду sudo adduser user (user замените на нужное имя пользователя).
- В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
- Добавьте новую учетную запись в группу sudo, введя sudo usermod -aG sudo user (user здесь тоже понадобится заменить).
- Проверьте выполненные действия, переключившись на новую учетную запись через su testuser. Для подтверждения введите пароль (при вводе символы не отображаются на экране).
- Выполните любую команду с sudo и убедитесь, что все прошло успешно.
Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.
sudo usermod -aG sudo user
Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
sudo deluser user sudo
Измените user на необходимое имя. Можете переключиться на эту учетную запись и убедиться в том, что теперь команды с sudo она выполнять не может.
Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.
Root Sony Xperia – поиск нужных данных и установка рут-прав
Вопросы касаемо получения root-прав на смартфоны Sony Xperia мы получаем ежедневно и в большом количестве. Пользователи самых разных моделей смартфонов просят помочь им установить права рут-доступа: найти нужные файлы, точные инструкции и рекомендации. Очень часто вопросы задают и те, кто даже понятия не имеет, зачем им данные права это и что потом с ними делать. Пользователи должны понимать, что чисто физически мы не в силах обеспечить вас детальными инструкциями по получению рута на все модели смартфонов и планшетов по причине того, что просто не имеем в наличии всех устройств и проверить корректность того либо иного метода нет возможности, а писать такое наугад мы не можем.
Если появляется новая проверенная инструкция, которая без особых усилий позволит “укоренить” смартфон, то мы обязательно её напишем (следите за обновлениями раздела “Инструкции” на сайте или воспользуйтесь поиском по сайту)! Для всех остальных вариантов читаем дальше.
В этом же руководстве просто покажем алгоритм поиска файлов и инструкций для получения root на проверенном источнике – форуме 4pda, который является кладезем знаний в данном случае.
В мануале мы пошагово распишем, куда нужно перейти и на что обратить внимание, чтобы получить максимально исчерпывающую информацию о руте вашего Xperia! Воспринимайте его как пособие, а не чёткую инструкцию для конкретной модели!
Сразу стоит понимать: ответственность за любые манипуляции совершаемые вами лежит только на вас, ни мы, ни авторы инструкций не несут ответственности за совершенные вами действия.
- Переходим на страницу-каталог тем прошивок на 4PDA – Ссылка
- Ищем свою модель и успешно переходим в тему.
- После этого у нас появляется два сценария дальнейшего хода действий!
Первый – установка прошивки с уже предустановленными ROOT-правами.
- Это применимо в том случае, если у вас уже есть данные права и установлено костюмное рекавери.
- Ищем спойлер с названием “Официальные прошивки”, раскрываем его и смотрим, что там есть. К слову, тут же можно найти и FTF-файлы чистых прошивок для установки через флештул.
- Всё чаще спустя малый промежуток времени после выхода очередного обновления в раздел добавляют готовые образы прошивок, которые уже имеют рут-права. Естественно, если вы ранее не рутовали устройство, то этот метод вам не подойдёт, так как рекавери у вас нет и можно переходить ко второму способу.
Второй – следование инструкциям.
- В этой же ветке ниже спойлера “Официальные прошивки” имеется спойлер “Инструкции” в котором наверняка есть ссылки на подробные руководства по получению рута.
- Например, чтобы получить первоначальный root+recovery для версии Android1.1 вам нужно будет вначале с помощью FlashTool прошить Sony Xperia на версию системы 4.4.4 KitKat, так как для неё был простой способ получения прав – Безопасный ROOT Sony Xperia с Android 5.0 Lollipop и 4.4 KitKat. Дальше прошиваем последнюю версию системы с уже вшитым “корнем” (то что описано в первом варианте).
- В любом случае, всё будет описано в инструкции!
Ещё раз акцентирую внимание на том, что если у нас появится чёткая пошаговая универсальная инструкция, то мы обязательно её предоставим. В остальном же следуя описанным выше шагам, вы будете наверняка знать, что и где вам искать. Остальное за вами! Нужно просто немного вникнуть, разобраться и прочитать. Если вы не готовы вникать или разбираться, то и рут вам не нужен. Ведь зачем человеку весло, если он не хочет грести?!
Вконтакте
Google+
Одноклассники
Установка корневого сертификата | СБИС Помощь
Установка корневого или кросс-сертификатаКаждый сертификат, используемый на компьютере, проверяется на подлинность. Для выполнения такой проверки в системе должен быть установлен корневой или кросс-сертификат того удостоверяющего центра, которым он выдан.
Сертификаты, необходимые для работы в «СБИС Электронная отчетность», ставятся на компьютер автоматически при установке программы; для работы на ЭТП — при запуске мастера настройки рабочего места.
Если в вашей системе нет корневого или кросс-сертификата УЦ, электронная подпись работать не будет. Чтобы установить их вручную, вам потребуется файл с корневым или кросс-сертификатом. Все сертификаты УЦ Тензор можно скачать на сайте.
При установке КриптоПро CSP сертификаты Головного УЦ и сертификат УЦ Минкомсвязи автоматически устанавливаются в хранилище «Доверенные корневые центры сертификации». Если этого не произошло, скачайте и установите их вручную.
- Откройте программу Launchpad и введите в строке поиска слово «терминал» (terminal).
- Запустите Терминал (Terminal).
- Введите команду:
- для установки из файла в промежуточное хранилище сертификатов (CA)
/opt/cprocsp/bin/certmgr -inst -store ca -f ~/downloads/name. cer - для установки из файла в хранилище доверенных корневых издателей (ROOT)
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/downloads/name.cer
Например, команда для установки корневого сертификата Минкомсвязи будет выглядеть так:
sudo /opt/cprocsp/bin/certmgr -inst -store root -f ~/downloads/4BC6DC14D97010C41A26E058AD851F81C842415A.cer
Если появилась строка Password, введите пароль пользователя в операционной системе macOS и нажмите клавишу .
- для установки из файла в промежуточное хранилище сертификатов (CA)
- Откройте список сертификатов, установленных:
- в промежуточное хранилище сертификатов (CA)
/opt/cprocsp/bin/certmgr -list -store ca - в хранилище доверенных корневых издателей (ROOT)
/opt/cprocsp/bin/certmgr -list -store root
- в промежуточное хранилище сертификатов (CA)
Корневой или кросс-сертификат УЦ установлен, можно приступать к работе с электронной подписью.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.
9.9. Пароль root Red Hat Enterprise Linux 6
Создание учетной записи root является одним из важнейших этапов установки системы. Root подобен режиму администратора в Microsoft Windows и используется для установки, обновления пакетов и обслуживания системы. При входе в систему в режиме root пользователь получает полный контроль над системой.
Пользователь root (также называемый суперпользователем) имеет полный доступ к системе; именно поэтому входить под именем root рекомендуется исключительно в целях администрирования системы.
Рисунок 9.32. Пароль root
Используйте учетную запись root для администрирования системы, а для повседневной работы создайте другого пользователя. Когда понадобится что-то настроить или исправить, выполните команду su
для перехода в режим root. Следование этим рекомендациям уменьшит вероятность повреждения системы из-за опечатки или случайной ошибки.
Чтобы перейти в режим root, в окне терминала введите su -
и нажмите Enter. В ответ на запрос введите пароль пользователя root и нажмите Enter.
Пароль root должен быть не короче 6 символов, при этом вводимые символы не отображаются на экране. Необходимо ввести его дважды; если пароли не совпадают, программа установки запросит повторный ввод пароля.
Придумайте такой пароль, который вы сможете запомнить, но никто другой не сможет легко угадать. Собственное имя, номер телефона, qwerty, password, root, 123456 и слово муравьед являются примерами неудачных паролей. Рекомендуется, чтобы пароли состояли из комбинаций цифр и букв верхнего и нижнего регистра и не содержали слов из словаря (например, Aard387vark и 420BMttNT). Помните, в пароле важен регистр символов. Если вы решили записать пароль, хоть это и не рекомендуется, храните его в безопасном месте.
Не используйте примеры паролей, приведенные в этом руководстве, так как это представляет серьезную угрозу безопасности.
Чтобы изменить пароль root после завершения установки, воспользуйтесь программой настройки пароля root.
Выполните в приглашении оболочки команду system-config-users
. Если вы не являетесь пользователем root, для продолжения будет предложено ввести пароль root.
Введите пароль в поле Пароль root. Из соображений безопасности вместо символов будут показаны звездочки. Введите тот же пароль в поле подтверждения. Завершив, нажмите кнопку продолжения.
Root права на Nexus 5
Ввиду того, что все смартфоны и планшеты Nexus от Google известны своей относительно невысокой ценой, простотой эксплуатации, возможностью настраивать все «под себя», они являются идеальными устройствами для различного рода экспериментаторов, которые любят переделывать систему девайсов на свой лад. Новый Nexus 5, работающий на операционной системе Android 4.4 KitKat не стал исключением. Эта статья содержит подробное описание получения рут прав на данном устройстве.
Подготовка
Подготовка заключается в следующем:
- Резервное копирование данных памяти (если записанной информации не нужно, можно не делать)
- Загрузка и установка:
- Включение режима откладки USB. Нужно зайти в настройки, найти там раздел «О телефоне» и нажать в нем несколько раз на номер сборки устройства. После этого в настройках появится раздел «Опции разработчика», где и включается данный режим.
- Проверка уровня заряда батареи (он должен быть на уровне 75%).
— драйвера — UniversalAdbDriver (установка стандартная)
— программа CF-Auto, которая доступна на сайте xda-developers по ссылке (распаковываете архив на ПК).
Внимание! Если устройство еще на гарантийном сроке, то после осуществления всех действий по рутированию, она будет аннулирована.
Получение Root
Закончив несложный этап подготовки, можно начинать свое становление из простого пользователя, в супер пользователя Nexus 5. Требуется:
- Выключить смартфон и перевести его в режим загрузки путем зажатия обоих клавиш громкости и кнопки питания.
- Затем подключить его к компьютеру по USB.
- Запустить CF-Auto-Root:
- Даем согласие на выполнение всех указаний, которые связаны с разблокировкой бутлоадера, и скрипт начнет выполнять свои действия.
- Через некоторое время должно появиться уведомление, что вы успешно установили права Root на Нексусе 5.
— В Windows потребуется два раза нажать на файл root-windows.bat.
— Пользователям системы Linux нужно открыть окно команд, перейти к папке со скачанной программой и ввести команды:
chmod +xroot-linux.sh
./root-linux.sh.
— В операционной системе Mac нужно проделать те же самые операции, что и в Linux, но ввести другие команды:
chmod +xroot-mac.sh
./root-mac.sh.
Установка кастомного рекавери через SP Flash Tool и получение root прав
Современный смартфон представляет собой универсальное устройство, которое также используется для хранения ценных данных. С целью их сохранения и невозможности свободного копирования была придумана специальная технология их шифрования. Ей защищается папка, в которой располагаются системные файлы, при повреждении которых может наступить фатальная ошибка.
Также в этой области памяти хранятся личные данные пользователей и пароли, которыми они пользуются. При этом даже владельцу данного устройства область недоступна.
Для повседневного пользования те данные, которые хранятся в защищенной области, не требуются. Крайне редко в них может возникнуть необходимость, но когда этот момент наступает, то и возникает вопрос, а как получить root-права, чтобы установить кастомную прошивку после полного сброса. Не так давно компании, которые продавали смартфоны под собственными брендами, блокировали их под одного оператора.
С помощью доступа к скрытым данным эту проблему можно было решить. Сейчас также с помощью root-прав можно немало. Но современная необходимость получения рут-прав связана с установкой операционной системы только таким способом. Раньше же было достаточно воспользоваться специальной программой.
В плане установки ПО задача стала на порядок сложнее, потому для получения root-прав необходимо найти программу, которая работала бы. Для этого придется воспользоваться сторонней утилитой TWRP.
Данный программный инструмент создан для тех смартфонов, которые работают на базе чипсетов MediaTek. так как в них имеется существенная разница.
Поэтому прежде чем приступать к сбросу всех данных на своем телефоне, убедитесь, что чипсет соответствует упомянутому.
Стоит заранее отметить, что установка подобных программ отличается от аналогичного процесса с другим софтом. Ничего удивительного, потому что это специальная программа со специальными возможностями, поэтому и действия будут соответствующими. Для проведения данной процедуры понадобятся:
- ПК;
- USB-кабель;
- телефон;
- драйвера для смартфона;
- SP Flash Tool на ПК.
Соответственно, сначала необходимо скачать вышеуказанному программу. На данный момент доступна версия 5.182. Она отлично работает, была неоднократно проверена. При необходимости cкачайте драйвера с нашего портала.
Важно. Для каждого телефона TWRP свой, поэтому уделите поиску нужного файла особе внимание. Зарегистрированы случаи, когда аппарат переставал работать.
После установки указанной программы и драйверов для телефона, можно переходить к следующему этапу процедуры. В данном руководстве описана процедура для телефона на базе чипсета MT6737 модель Oukitel U7 Plus.
Действия:
- Подключите телефон к компьютеру и выключите его полностью.
- Если все сделано правильно, в диспетчере устройств появится новый COM-порт с названием PreLoader и отключите смартфон от ПК.
- Если порт не появился, то необходимо скачать драйвер.
rar»>Скачать с нашего сервера - Далее, необходимо запустить программу SP Flash Tool с правами администратора.
- В открывшейся программе нужно найти пункт «Scatter File» и нажать на кнопку «choose».
- В открывшемся проводнике найдите папку, где вы ранее сохранили TWFP файл. В архиве имеется два файла: recovery.img и scatter. Нужен второй.
- Над областью с данными имеется листбокс. В нем должно быть выбрано «Download Only», а галочка стоит напротив Recovery.
- На следующем шаге необходимо подключить выключенный телефон к ПК.
- После автоматического определения аппарата, вверху в окне необходимо нажать кнопку загрузки. Следует ожидать окончания завершения процесса. Требуется не более 5-10 секунд.
- Теперь необходимо включить смартфон нажатием двух кнопок: громкость+ и питание. Должно открыться меню TWRP.
Меню будет на русском, поэтому дальше все просто. После альтернативного рекаверы можно также ставить рут-права и различные патчи. Работать с этой программой следует максимально внимательно, потому что можно безвозвратно нарушить функциональность своего смартфона.
- (1002 или 0x3EA) S_INVALID_ARGUMENTS
Неверный/поврежденный scatter файл. В моем случае были отключены, в scattere, блоки PRELOADER и DSP_BL. На это и ругался. - (1003 или 0x3EB) S_COM_PORT_OPEN_FAIL или (3001 или 0xBB9) S_DA_EXT_RAM_ERROR
Проблема с портом USB-портом или с кабелем.
Используйте оригинальный кабель(не поврежденный)
Попробуйте другой вход USB, на стационарных ПК используйте задние порты USB.(3001 или 0xBB9) S_DA_EXT_RAM_ERROR
- (1012 или 0x3F4) S_NOT_ENOUGH_MEMORY
Воспользуйтесь более свежей версией прошивальщика. - (1018 или 0x3FA) S_UNKNOWN_TARGET_BBCHIP
Воспользоваться более свежей версией прошивальщика. - (1040 или 0x410) S_UNSUPPORTED_OPERATION
Scatter файл не подходит к вашему смартфону. - (8417 или 0x20E1) SP FLASH TOOL ERROR: The load scatter file is invalid!
Уберите из пути к скаттер-файлу иероглифы и уменьшите длинну пути до него (до файла).
Установка ROOT — ROOT
ROOT доступен в Linux, Mac и (как бета-версия) в Windows.
Последняя стабильная версия ROOT
6.24 / 06
(о схеме управления версиями ROOT).
Есть несколько способов установить ROOT на ваш компьютер: все они перечислены в таблице содержания справа. Какой из них лучше всего подходит для вас, зависит от вашей операционной системы и требований к использованию. Во всех случаях убедитесь, что вы всегда используете самый последний выпуск ROOT, чтобы получить последние исправления ошибок, функции и быструю поддержку пользователей.
Мы распространяем предварительно скомпилированный ROOT для нескольких основных дистрибутивов Linux, а также для MacOS и (в качестве бета) Windows. Шаги по установке предварительно скомпилированного двоичного файла просты:
- Установите все необходимые зависимости с помощью системного менеджера пакетов
- Скачать релиз для нужной платформы и ROOT версии
- Распаковать архив
- Добавьте библиотеки и исполняемые файлы ROOT в свою среду, установив соответствующий
thisroot.*
скрипт. Эти сценарии установки можно найти в двоичной версии ROOT в каталогеbin
.
Например, в Ubuntu 20 пользователь может выполнить следующие команды bash для установки ROOT v6.24 / 02 после установки всех необходимых зависимостей:
$ wget https://root.cern/download/root_v6.24.02.Linux-ubuntu20-x86_64-gcc9.3.tar.gz
$ tar -xzvf root_v6.24.02.Linux-ubuntu20-x86_64-gcc9.3.tar.gz
$ source root / bin / thisroot.sh # также доступен: thisroot.{csh, fish, bat}
Чтобы избежать необходимости использовать исходный код thisroot.sh
каждый раз, когда нужно использовать ROOT, обычно добавляют команду в .bashrc
, .profile
или аналогичные файлы конфигурации.
Обратите внимание, однако, что получение thisroot.sh
может мешать версиям ROOT, установленным другими методами.
А в Windows, например, после установки откройте командную строку x86 Native Tools для VS 2019
, перейдите в свой домашний каталог ( cd% USERPROFILE%
) и вызовите thisroot.bat
(предположим, вы установили ROOT в C: \ root
). Затем можно запустить ROOT:
*********************************************** **********************
** Командная строка разработчика Visual Studio 2019 v16.11.3
** Авторские права (c) 2021 Microsoft Corporation
************************************************ ********************
[vcvarsall.bat] Среда инициализирована для: 'x86'
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community> cd% USERPROFILE%
C: \ Users \ имя пользователя> c: \ root \ bin \ thisroot.летучая мышь
C: \ Users \ имя пользователя> корень
-------------------------------------------------- ----------------
| Добро пожаловать в ROOT 6.25 / 01 https://root.cern |
| (c) 1995-2021, команда ROOT; концепция: Р. Брун, Ф. Радемакерс |
| Создан для win32 20 сентября 2021 года, 11:34:39 |
| От руководителей / master @ v6-25-01-1903-g62418 |
| С MSVC 19.29.30133.0 |
| Попробуйте '.help', '.demo', '.license', '.credits', '.выйти '/'. q '|
-------------------------------------------------- ----------------
корень [0]
Поддерживается сообществом: эти пакеты поддерживаются не командой ROOT, а полезными членами сообщества. Просмотрите стандартные каналы каждого диспетчера пакетов, чтобы сообщить о любой связанной проблеме. Если вы упаковываете ROOT и хотите, чтобы вас добавили в список ниже, свяжитесь с нами, щелкнув значок с буквой внизу страницы.
Conda
Для любого дистрибутива Linux и MacOS ROOT доступен в виде пакета conda.Чтобы создать новую среду conda, содержащую ROOT, и активировать ее, выполните
$ conda config --set channel_priority strict
$ conda create -c conda-forge --name root
$ conda activate
Установка channel_priority с
на strict
требуется во избежание конфликтов на некоторых платформах,
см. соответствующие документы conda для получения дополнительной информации.
Пакет conda использует C ++ 17.
Дополнительные инструкции по использованию этого пакета доступны в этом сообщении блога.
Сообщайте о любых проблемах с пакетом conda здесь.
Snap
Во многих дистрибутивах Linux ROOT можно установить через Snap. Например, в Ubuntu:
$ sudo snap установить root-framework
$ snap run root-framework
# или если нет опасений конфликтов с другими установками:
$ root # и вывод `which root` должен содержать` / snap`
Пакет Snap использует C ++ 17. См. Дополнительную информацию в нашем блоге или посетите официальную страницу пакета ROOT Snap.
Менеджеры пакетов Linux
ROOT может быть установлен непосредственно из диспетчера пакетов операционной системы в следующих дистрибутивах Linux:
Fedora
Пакет Fedora ROOT может быть установлен с
Однако чаще всего пользователям нужен не только базовый пакет. Полный список компонентов можно увидеть на https://src.fedoraproject.org/rpms/root/, щелкнув одну из предложенных версий. Например, чтобы установить ROOT с поддержкой python и ноутбуков, запустите
$ yum установить root python3-root root-notebook
CentOS
ROOT доступен на CentOS через EPEL.Чтобы установить ROOT на CentOS, просто запустите
$ ням установить epel-release
$ yum установить корень
Arch Linux
Пакет ROOT Arch может быть установлен с
Пакет Arch использует C ++ 17.
Gentoo
Пакет Gentoo для ROOT - это sci-Physics / root. Может быть установлен с
$ emerge sci-Physics / root
NixOS / Nix / Nixpkgs
Имя пакета для ROOT в nixpkgs - root
.Его можно установить в пользовательскую среду с помощью
$ nix-env -f '' -iA корень
Работа во временной среде может быть достигнута с помощью
$ nix-shell -p root --run root
Пакет root5
предоставляется для поддержки устаревшего программного обеспечения.
Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщать о них в трекер проблем nixpkgs.
Дистрибутивы на основе Ubuntu и Debian
Команда ROOT работает над выпуском официального .deb
пакет. Больше новостей по этой теме очень скоро.
Между тем, ROOT доступен в Ubuntu через conda или наши предварительно скомпилированные двоичные файлы.
Менеджеры пакетов MacOS
Домашнее пиво
На Mac ROOT также доступен как формула домашнего приготовления. Вы можете установить его с
Macports
После установки macports можно установить ROOT порт с
$ sudo порт установить root6
Nix / Nixpkgs
При работе в macOS применяются те же инструкции, что и для Linux.
Автономный ROOT
Если ваша платформа монтирует CVMFS ROOT доступен напрямую через выпуски LCG.
УстановкаROOT с минимальными внешними зависимостями доступна для Fedora, Ubuntu, CentOS7 и MacOS по адресу:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT//
Например, чтобы настроить ROOT 6.24 / 02 на машине CentOS7, просто запустите:
исходный код /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.24.02 / x86_64-centos7-gcc48-opt / bin / thisroot.sh
Убедитесь, что вы используете компилятор вашей системы по умолчанию, как в этой сборке ROOT.
Полная среда
ROOT, Geant4 и многие другие пакеты со всеми их зависимостями доступны как LCG просмотров :
/cvmfs/sft.cern.ch/lcg/views/LCG_/
представлений LCG доступны для CentOS7, CentOS8 и последних выпусков MacOS и Ubuntu.Например, в CERN LXPLUS вы можете настроить полную среду, содержащую ROOT 6.24 / 00 с:
исходный код /cvmfs/sft.cern.ch/lcg/views/LCG_100/x86_64-centos7-gcc10-opt/setup.sh
Чтобы узнать, какая версия ROOT содержится в выпуске LCG, посетите lcginfo.cern.ch.
Префикс Gentoo на CVMFS
ROOT также экспериментально доступен в установке Gentoo Prefix. внутри области contrib репозитория SFT CVMFS. Чтобы использовать его оттуда, запустите
$ / cvmfs / sft.cern.ch/lcg/contrib/gentoo/linux/x86_64/startprefix
Вы попадете в новую оболочку, где доступно все программное обеспечение из префикса.
ROOT Контейнеры Docker для нескольких версий Linux доступны на официальном DockerHub ROOT.
Например, чтобы опробовать последнюю версию ROOT, просто запустите docker run -it rootproject / root
.
Пользователи с учетной записью CERN могут просто подключиться к lxplus.cern.ch
через SSH и запустить root
: последняя стабильная версия устанавливается как обычный системный пакет.
Обратите внимание, что некоторые функции (например, возможности многопоточности) недоступны в lxplus.cern.ch
(или, что эквивалентно, lxplus7.cern.ch
) из-за несовместимости версий определенных зависимостей ROOT на CentOS7. Вы можете использовать lxplus8.cern.ch
для получения доступа к CentOS8, где это ограничение отсутствует.
Если другой метод установки недоступен, или если вы хотите получить полный контроль над параметрами, с помощью которых ROOT построен, можно скомпилировать ROOT из исходников.См. Подробные инструкции в разделе Сборка ROOT из исходников.
Вкратце, после установки всех необходимых зависимостей ROOT можно скомпилировать с помощью следующих команд в большинстве UNIX-подобных систем:
# Последняя стабильная ветка автоматически обновляется при каждом выпуске.
# Вы можете обновить вашу локальную копию, введя команду `git pull` из` root_src / `.
$ git clone --branch последняя стабильная версия https://github.com/root-project/root.git root_src
$ mkdir root_build root_install && cd root_build
$ cmake -DCMAKE_INSTALL_PREFIX =../root_install ../root_src # && проверьте вывод конфигурации cmake на наличие предупреждений или ошибок
$ cmake --build. - установите -j4 #, если у вас есть 4 ядра, доступные для компиляции
$ source ../root_install/bin/thisroot.sh # или thisroot. {fish, csh}
Точно так же в Windows внутри командной строки x86 Native Tools для VS 2019
ROOT можно скомпилировать с помощью следующих команд:
rem Ветвь `latest-stable` автоматически обновляется при каждом выпуске.
rem Вы можете обновить вашу локальную копию, выполнив команду git pull из root_src.C: \ Users \ имя пользователя> git clone --branch последняя стабильная версия https://github.com/root-project/root.git root_src
C: \ Users \ имя пользователя> mkdir root_build root_install && cd root_build
C: \ Users \ имя пользователя> cmake -G "Visual Studio 16 2019" -A Win32 -Thost = x64 -DCMAKE_VERBOSE_MAKEFILE = ON -DCMAKE_INSTALL_PREFIX = .. / root_install ../root_src
C: \ Users \ имя пользователя> cmake --build. --config Release --target install
C: \ Users \ имя пользователя> .. \ root_install \ bin \ thisroot.bat
Построение ROOT из исходников - ROOT
Введение
ROOT использует кроссплатформенный генератор сборки CMake в качестве
система первичной сборки.
CMake не создает проект, он генерирует файлы, необходимые для
ваш инструмент сборки (GNU make, Ninja, Visual Studio и т. д.) для создания ROOT.
Если вы действительно хотите получить функциональную ROOT-сборку, перейдите в раздел «Быстрый старт».
Если вы новичок в CMake, начните с базового использования CMake, а затем вернитесь к
Быстрый старт.
Раздел «Параметры и переменные» - это справочник по настройке вашей сборки. Если у вас уже есть опыт работы с CMake, это рекомендуемая отправная точка.
Препарат
Перед сборкой ROOT убедитесь, что вы установили все необходимые зависимости.
Быстрый старт
Ниже приведены основные инструкции для UNIX-подобных систем. Мы будем использовать командную строку, неинтерактивный интерфейс CMake.
- Загрузите и распакуйте исходники ROOT для определенного выпуска (обязательно загрузите «Исходный дистрибутив», а не двоичный дистрибутив) или просто клонируйте репозиторий ROOT git и проверьте ветку, которую вы хотите построить, например:
# Последняя стабильная ветка автоматически обновляется при каждом выпуске.# Вы можете обновить локальную копию, введя команду `git pull`. $ git clone --branch последняя стабильная версия https://github.com/root-project/root.git root_src
Далее мы будем ссылаться на каталог, в котором находятся источники ROOT (например,
root_src
выше) как - Создайте каталог для сборки и каталог для установки. Создание ROOT в исходном каталоге не поддерживается. Затем перейдите (
cd
) в каталог сборки:$ mkdir <каталог сборки>
$ cd <каталог сборки> - Выполните команду
cmake
в оболочке, заменив соответственно$ cmake -DCMAKE_INSTALL_PREFIX =
CMake обнаружит вашу среду разработки, выполнит серию тестов и сгенерирует файлы, необходимые для построения ROOT.CMake будет использовать значения по умолчанию для всех параметров сборки. См. Разделы «Параметры сборки» и «Переменные» для точной настройки вашей сборки. Это может потерпеть неудачу, если CMake не может обнаружить ваш набор инструментов или если он считает, что среда недостаточно нормальная. В этом случае убедитесь, что набор инструментов, который вы собираетесь использовать, является единственным, доступным из оболочки, и что сама оболочка является правильной для вашей среды разработки. Вы можете заставить CMake использовать данный инструмент сборки, см. Раздел Использование.
- Перейдите к использованию файлов проекта IDE или запустите сборку из каталога сборки после завершения работы CMake:
$ cmake - build.--target install [- <параметры встроенного инструмента>]
Параметр
--build
указывает cmake вызвать базовый инструмент сборки (make, ninja, xcodebuild, msbuild и т. Д.). Базовый инструмент сборки, конечно, также может быть вызван напрямую, но командаcmake --build
более портативна. В системах UNIX (с make или ninja) вы можете ускорить сборку с помощьюcmake --build. - -jN
, где N - количество доступных ядер. - Установите ROOT в вашей среде:
$ source
/ bin / thisroot.sh # или thisroot. {csh, fish, bat} в зависимости от среды Для автоматической настройки ROOT при каждом входе в систему эту команду можно добавить в файл
.profile
,.login
,.bashrc
или эквивалентный файл конфигурации.
Предостережения
Поскольку он использует интерпретатор C ++, ROOT имеет несколько более строгие требования, чем другие библиотеки C ++: приложения, которые зависят от ROOT должен быть скомпилирован с тем же стандартом C ++, с которым был скомпилирован ROOT.
Также обратите внимание, что совместимость с компиляторами, поставляемыми с devtoolset
s на CentOS или Red Hat, не гарантируется.
ROOT, Python и PyROOT
PyROOT, набор привязок Python для ROOT, изменил свою структуру и процесс сборки / установки в v6.22. Далее резюмируются основные аспекты версии 6.22 после и до версии 6.22.
После v6.22
Основной особенностью системы сборки PyROOT, представленной в v6.22, является возможность сборки как для Python3, так и для Python2 (MultiPython), доступная только в том случае, если для сборки используется версия CMake> = 3.14. Далее описываются процессы сборки и установки с CMake> = 3.14 и <3.14. Также обратите внимание, что v6.24 - последняя версия ROOT, поддерживающая cmake <3.16.
CMake> = 3,14
В этом случае библиотеки PyROOT по умолчанию создаются как на Python3, так и на Python2. Для каждой версии Python X.Y, используемой для сборки PyROOT (например, 3.8, 2.7 и т. Д.), Следующие библиотеки появятся как в каталоге сборки, так и в каталоге установки:
-
libROOTPythonizationsX_Y.так
-
libcppyX_Y.so
-
libcppyy_backendX_Y.so
Также появятся следующие чистые модули Python:
Если параметр не указан, PyROOT будет построен для самых последних версий Python3 и Python2, которые сможет найти CMake. Если можно найти только одну версию, PyROOT будет построен только для этой версии. Более того, чтобы рассматривать данную установку Python, она должна предоставлять как интерпретатор Python (двоичный), так и пакет разработки.Поэтому для сборки PyROOT рекомендуется проверить наличие python-dev и установить его, если нет.
Для сборки с конкретными установками Python (не обязательно самыми высокими) подсказки для CMake могут быть предоставлены с помощью -DPython2_ROOT_DIR = python2_dir
и / или -DPython3_ROOT_DIR = python3_dir
, чтобы указать на корневой каталог некоторой желаемой установки Python. . Точно так же Python2_EXECUTABLE
и / или Python3_EXECUTABLE
могут использоваться для указания на определенные исполняемые файлы Python.
PyROOT может быть построен только с одной версией Python, даже если в системе присутствует несколько установок. Для этого необходимо использовать параметр -DPYTHON_EXECUTABLE = / path / to / python_exec
, чтобы указать на желаемую установку Python. Обратите внимание, что если указан PYTHON_EXECUTABLE
, ни Python3_EXECUTABLE
, ни Python2_EXECUTABLE
не будут приняты во внимание.
При выполнении сценария Python используемая версия Python будет определять, какая версия библиотек PyROOT будет загружена.Следовательно, после установки среды ROOT (например, через исходный код $ ROOTSYS / bin / thisroot.sh
) PyROOT можно использовать из любой из версий Python, для которых он был создан.
Пример
# Укажите -DPython3_EXECUTABLE и -DPython2_EXECUTABLE, чтобы не выбирать самые высокие версии Python3 и Python2
$ cmake -DCMAKE_INSTALL_PREFIX = -DPython3_EXECUTABLE = -DPython2_EXECUTABLE =
$ cmake --build.--target install [- <параметры встроенного инструмента>]
$ source /bin/thisroot.sh
# ROOT можно импортировать из обеих версий Python, используемых для сборки
$
>>> импортировать ROOT
>>>
$
>>> импортировать ROOT
>>>
Следующие другие компоненты собираются и устанавливаются вместе с PyROOT:
-
TPython
: его библиотека (libROOTTPython.so
) создана только для самой высокой версии Python, на которой построен PyROOT.Следовательно, в сборке Python3-Python2 ROOT код Python, выполняемый с помощьюTPython
, должен быть совместимым с Python3. -
JupyROOT
: построен как для Python3, так и для Python2, он состоит из библиотекиlibJupyROOTX_Y.so
и чистого модуля PythonJupyROOT
. -
JsMVA
: он состоит из чистого модуля Python, который может использоваться с обеими версиями Python.
CMake
<3,14 Если версия CMake <3.14 функция MultiPython недоступна. Таким образом, PyROOT будет построен только для одной версии Python: это либо версия, найденная CMake, обычно самая высокая из доступных в системе, либо та, которая предоставляется путем установки переменной PYTHON_EXECUTABLE
.
До версии 6.22
Для ROOT <= 6.20 будет создана более старая версия PyROOT (не на основе Cppyy). Эта же версия может быть создана также в версиях> = 6.22, указав -Dpyroot_legacy = ON
. В этом случае версия Python, используемая для сборки, по умолчанию будет той, на которую указывает исполняемый файл python
.Можно использовать конкретную установку Python, задав PYTHON_EXECUTABLE
.
Установка стандарта C ++
ROOT должен быть настроен и построен с использованием того же стандарта C ++, что и программы, которые будут его использовать.
Соответствующий флаг cmake - CMAKE_CXX_STANDARD
.
Например, из командной строки можно выбрать стандарт, передав одно из значений 11, 14, 17,… например, -DCMAKE_CXX_STANDARD = 17
.
Вообще говоря, новые стандарты поддерживаются только новыми версиями ROOT.
C ++ 11 поддерживается до ROOT v6.24: для последующих версий требуется как минимум C ++ 14.
ROOT STL бэкпорты
ROOT поддерживает некоторые современные функции стандартной библиотеки C ++, чтобы сделать их доступными в более старых стандартах, таких как C ++ 14, например std :: string_view
.
Обратные порты можно найти здесь, в справочном руководстве.
Обратные порты отключены, возвращаясь к фактической реализации стандартной библиотеки C ++, если она ее предоставляет, в зависимости, например, от стандарта C ++ ROOT, с которым скомпилирован ROOT, и версии компилятора.
Включение экспериментальных функций, иначе ROOT7
Новые и улучшенные версии стандартных компонентов ROOT реализуются под кодовым именем ROOT7.
Включение C ++ 17 (или C ++ 14 до версии 6.24; см. Установка стандарта C ++) или выше автоматически включает ROOT7.
В качестве альтернативы вы можете явно включить ROOT7 с помощью -Droot7 = ON
, что, в свою очередь, установит стандарт на C ++ 17 (или C ++ 14 до v6.24), если
значение еще не было указано пользователем.
Построение ROOT с поддержкой CUDA
Для создания ROOT с поддержкой CUDA вам необходимо установить Nvidia CUDA Toolkit,
и, возможно, библиотека Nvidia Cudnn.Соответствующий CMake
параметры, которые необходимо установить: CMAKE_CUDA_HOST_COMPILER
(обычно устанавливается так же, как CMAKE_CXX_COMPILER
) и CMAKE_CUDA_STANDARD
.
Начиная с ROOT 6.20.06 можно установить для CMAKE_CXX_STANDARD
и CMAKE_CUDA_STANDARD
разные значения.
чтобы позволить компилировать ROOT с C ++ 17, а код CUDA с C ++ 14 при использовании CUDA 9 или 10. В дополнение к этим параметрам,
соответствующие параметры сборки ROOT для включения: -Dcuda = ON -Dcudnn = ON -Dtmva-gpu = ON
.
Общесистемная установка
Существует два основных метода установки ROOT из источника: независимо от местоположения и с фиксированным местоположением . Первый
рекомендуется для персональной установки ROOT, а последний - для общесистемной установки. Оба требуют установки CMAKE_INSTALL_PREFIX Переменная
во время настройки (по умолчанию - / usr / local
, если не задано). Режим установки
управляется опцией gnuinstall
во время настройки.
Установка независимо от местоположения (gnuinstall = OFF)
Это конфигурация, используемая бинарными выпусками на веб-сайте. Этот метод требует установки переменных окружения
например PATH
, LD_LIBRARY_PATH
и PYTHONPATH
. Обычно это делается путем получения скрипта bin / thisroot.sh
или
эквивалент для вашей оболочки из каталога установки. Установку можно выполнить, запустив
$ cmake - build.--target install
из каталога сборки. Если ROOT построен с -Drpath = ON
, то обычно нет необходимости устанавливать LD_LIBRARY_PATH
после установки. Также важно отметить, что с помощью этого метода обычно невозможно настроить
пути установки, например CMAKE_INSTALL_BINDIR
, CMAKE_INSTALL_LIBDIR
и т. д.
Установка в фиксированном месте (gnuinstall = ON)
Метод установки в фиксированном месте активируется с помощью -Dgnuinstall = ON
во время настройки, что также позволяет
настройка адресатов для различных компонентов путем установки переменных CMAKE_INSTALL_xxxDIR
, где xxx
- это BIN
, LIB
, ВКЛЮЧАЮТ
и т. Д.Полный список доступен в cmake / modules / RootInstallDirs.cmake
внутри репозитория и
также в списке переменных ниже. Метод установки в фиксированном месте не требует настройки какой-либо среды.
переменные, когда ROOT установлен в системные пути по умолчанию (например, / usr
, / usr / local
). Однако если CMAKE_INSTALL_LIBDIR
- это каталог, который не ищет компоновщик, рекомендуется включить -Drpath = ON
или добавить CMAKE_INSTALL_LIBDIR
в / etc / ld.so.conf
, чтобы не устанавливать LD_LIBRARY_PATH
чтобы иметь возможность запускать ROOT. Тем не менее, может потребоваться установить PYTHONPATH
этим методом, если PyROOT не
установлен в один из системных путей, которые ищет Python (запустите python -m site
, чтобы увидеть этот список путей). Этот
можно сделать с помощью export PYTHONPATH = $ (root-config --libdir)
, если root-config
уже находится в вашем PATH
.
Все варианты сборки
Каждая опция сборки - это логическая переменная, которую можно включить или выключить.Текущее значение записывается в кэш CMake (файл CMakeCache.txt в каталоге сборки), поэтому его не нужно каждый раз указывать в команде cmake. Обратите внимание, что некоторые параметры могут быть отключены автоматически для некоторых платформ или если необходимая внешняя библиотека или компонент не могут быть удовлетворены. Пользователь может просматривать и редактировать полный список параметров с помощью утилиты ccmake
или cmake-gui
для Windows. Обратите внимание, что в Windows некоторые параметры еще не реализованы.
Пользователь может установить любую переменную CMake или параметр, который управляет процессом сборки, из командной строки cmake
. Передача cmake -D =
создает запись в кеше CMake. Список параметров CMake, специфичных для ROOT, можно найти ниже. Примечание : некоторые параметры имеют значения по умолчанию, зависящие от платформы (например, какао - это ON
на яблоке)
Щелкните один из следующих раскрывающихся списков, чтобы просмотреть полный список параметров сборки для конкретной версии ROOT:
варианты сборки для ROOT 6.22Вариант сборки | Эффект | По умолчанию |
---|---|---|
иностранец | Включить поддержку AliEn (требуется libgapiUI от ALICE) | ВЫКЛ. |
стрелка | Включить поддержку Apache Arrow | ВЫКЛ. |
изображение | Включить поддержку обработки изображений через libAfterImage | НА |
builtin_afterimage | Собранная копия libAfterImage в комплекте | ВЫКЛ. |
builtin_cfitsio | Внутренняя сборка CFITSIO (требуется сеть) | ВЫКЛ. |
builtin_clang | Собранная копия Clang | в комплектеНА |
builtin_davix | Внутренняя сборка Davix (требуется сеть) | ВЫКЛ. |
builtin_fftw3 | Внутренняя сборка FFTW3 (требуется сеть) | ВЫКЛ. |
builtin_freetype | Собранная копия freetype | ВЫК |
builtin_ftgl | Собранная копия FTGL | в комплектеВЫКЛ. |
builtin_gl2ps | Собранная копия gl2ps | ВЫКЛ. |
builtin_glew | Собранная копия GLEW | в комплектеВЫК |
builtin_gsl | Внутренняя сборка GSL (требуется сеть) | ВЫКЛ. |
builtin_llvm | Собранная копия LLVM | НА |
встроенный_lz4 | Собранная копия lz4 | ВЫК |
builtin_lzma | Собранная копия lzma | в комплектеВЫКЛ. |
builtin_openssl | Внутренняя сборка OpenSSL (требуется сеть) | ВЫКЛ. |
builtin_pcre | Собранная копия PCRE | ВЫКЛ. |
builtin_tbb | Внутренняя сборка TBB (требуется сеть) | ВЫКЛ. |
builtin_unuran | Собранная копия unuran | ВЫК |
встроенный_VC | Внутренняя сборка Vc (требуется сеть) | ВЫКЛ. |
builtin_vdt | Внутренняя сборка VDT (требуется сеть) | ВЫК |
builtin_veccore | Внутренняя сборка VecCore (требуется сеть) | ВЫКЛ. |
встроенный_xrootd | Внутренняя сборка XRootD (требуется сеть) | ВЫКЛ. |
builtin_xxhash | Собранная копия xxHash | в комплектеВЫКЛ. |
builtin_zlib | Собранная копия zlib | в комплектеВЫКЛ. |
builtin_zstd | Сборка включена libzstd, или используйте системную libzstd | ВЫК |
кэш-памяти | Включить использование ccache для ускорения сборки | ВЫКЛ. |
cefweb | Включить поддержку веб-дисплея CEF (Chromium Embedded Framework) | ВЫКЛ. |
плакированный | Build clad, подключаемый модуль автоматического распознавания cling (требуется сеть) | НА |
какао | Использовать собственный графический сервер Cocoa / Quartz (только для MacOS X) | ВЫКЛ. |
охват | Включить флаги компиляции для тестирования покрытия | ВЫК |
cuda | Включить поддержку CUDA (требуется набор инструментов CUDA> = 7.5) | ВЫК |
каднн | Включить поддержку cuDNN (по умолчанию, когда Cuda включен) | НА |
cxxmodules | Включить поддержку модулей C ++ | ВЫК |
фрейм данных | Включить ROOT RDataFrame | НА |
Дэвикс | Включить поддержку Davix (доступ HTTP / WebDAV) | НА |
кэш-память | Включить поддержку dCache (требуется libdcap от DESY) | ВЫК |
дев | Включить рекомендуемые флаги компиляции разработчика, уменьшить открытые включает | ВЫК |
исключения | Включить обработку исключений компилятора | НА |
FCGI | Включить поддержку FastCGI на HTTP-сервере | ВЫК |
fftw3 | Включить поддержку FFTW3 | НА |
fitsio | Включить поддержку чтения изображений FITS | НА |
фортран | Сборка Fortran-компонентов ROOT | ВЫК |
gdml | Включить поддержку GDML (язык разметки описания геометрии) | НА |
гфал | Включить поддержку GFAL (Grid File Access Library) | НА |
gnuinstall | Выполните установку в соответствии с рекомендациями GNU | ВЫК |
gsl_shared | Включить связывание с разделяемыми библиотеками для GSL (по умолчанию нет) | ВЫК |
гвиз | Включить поддержку Graphviz (программное обеспечение для визуализации графиков) | ВЫК |
http | Включить поддержку HTTP-сервера | НА |
imt | Включить поддержку неявной многопоточности с помощью блоков Intel® Thread Bulding (TBB) | НА |
jemalloc | Использовать распределитель памяти jemalloc | ВЫК |
libcxx | Сборка с использованием libc ++ | ВЫК |
macos_native | Отключить поиск библиотек, включений и двоичных файлов в местах, отличных от исходной установки (только MacOS) | ВЫК |
mathmore | Построить расширенную математическую библиотеку libMathMore (требуется GSL) | НА |
окончание_памяти | Свободная внутренняя ROOT-память перед завершением процесса (экспериментально, используется для проверки утечек) | ВЫК |
memstat | Утилита построения статистики памяти (помогает обнаруживать утечки памяти) | ВЫК |
minuit2 | Библиотека минимизации Build Minuit2 | ВЫК |
млп | Включить поддержку федерации классов TMultilayerPerceptron | НА |
monalisa | Включить поддержку мониторинга с помощью Monalisa (требуется libapmoncpp) | ВЫК |
mpi | Включить поддержку интерфейса передачи сообщений (MPI) | ВЫК |
MySQL | Включить поддержку баз данных MySQL | НА |
odbc | Включить поддержку баз данных ODBC (требуется libiodbc или libodbc) | ВЫК |
opengl | Включить поддержку OpenGL (требуется libGL и libGLU) | НА |
оракул | Включить поддержку баз данных Oracle (требуется Oracle Instant Client) | НА |
pgsql | Включить поддержку PostgreSQL | НА |
пирог | Включить поддержку автоматических привязок Python (PyROOT) | НА |
pyroot_legacy | Используйте устаревшие привязки Python для ROOT | ВЫК |
пития6 | Включите поддержку Pythia 6.х | НА |
pythia6_nolink | Отложенное связывание библиотеки Pythia6 | ВЫК |
pythia8 | Включить поддержку Pythia 8.x | НА |
qt5web | Включить поддержку веб-отображения Qt5 (требуется Qt5WebEngine) | ВЫК |
r | Включить поддержку привязок R (требуется R, Rcpp и RInside) | ВЫК |
кровельный | Расширенный набор фитингов Build RooFit | НА |
корень7 | Сборка ROOT 7 компонентов ROOT (требуется стандарт C ++ 14 или выше) | НА |
rpath | Связывание библиотек со встроенным RPATH (путь поиска во время выполнения) | ВЫК |
runtime_cxxmodules | Включить поддержку времени выполнения для модулей C ++ | НА |
shadowpw | Включить поддержку теневых паролей | ВЫК |
общий | По возможности используйте общие сторонние библиотеки | НА |
версия | Установить номер версии в имени (рекомендуется) | ВЫК |
спектр | Включить поддержку TSpectrum | НА |
sqlite | Включить поддержку SQLite | НА |
SSL | Включить поддержку SSL-шифрования через OpenSSL | НА |
tcmalloc | Использовать распределитель памяти tcmalloc | ВЫК |
TMVA | Построить библиотеку многовариантного анализа TMVA | НА |
tmva-процессор | Постройте TMVA с поддержкой ЦП для глубокого обучения (требуется BLAS) | НА |
tmva-gpu | Постройте TMVA с поддержкой GPU для глубокого обучения (требуется CUDA) | ВЫК |
тмва-пымва | Включить поддержку Python в TMVA (требуется numpy) | НА |
тмва-рмва | Включить поддержку R в TMVA | ВЫК |
уран | Включить поддержку UNURAN (пакет для генерации неоднородных случайных чисел) | ВЫК |
vc | Включить поддержку Vc (векторные классы SIMD для C ++) | ВЫК |
vdt | Включить поддержку VDT (быстрые и векторизуемые математические функции) | НА |
veccore | Включить поддержку библиотеки абстракций VecCore SIMD | ВЫК |
vecgeom | Включить поддержку библиотеки векторизованной геометрии VecGeom | ВЫК |
ВМС | Сборка библиотеки моделирования VMC | ВЫК |
веб-интерфейс | Создание веб-компонентов пользовательского интерфейса ROOT (требуется стандарт C ++ 14 или выше) | НА |
win_broken_tests | Включить неработающие тесты в Windows | ВЫК |
winrtdebug | Ссылка на библиотеку времени выполнения отладки Windows | ВЫК |
x11 | Включить поддержку X11 / Xft | НА |
xml | Включить поддержку XML (требуется libxml2) | НА |
xproofd | Включить поддержку LEGACY для файлового сервера и клиента XProofD (требуется XRootD v4 с private-devel) | ВЫК |
xrootd | Включить поддержку файлового сервера и клиента XRootD | НА |
Дополнительные возможности сборки | ||
все | Включить все дополнительные компоненты по умолчанию | ВЫК |
асан | Построить ROOT с инструментарием Address Sanitizer | ВЫК |
clingtest | Включить тесты привязки (примечание: это делает символы llvm / clang видимыми в libCling) | ВЫК |
g минимальное | По умолчанию включить только необходимые параметры, но включить X11 | ВЫК |
минимальный | По умолчанию включить только необходимые параметры | ВЫК |
rootbench | Создайте rootbench, если rootbench существует в корневом каталоге или является дочерним каталогом. | ВЫК |
roottest | Создайте roottest, если roottest существует в корневом каталоге или в дочернем каталоге. | ВЫК |
испытания | Включить тестирование с помощью CTest | ВЫК |
вариант сборки | Эффект | По умолчанию |
---|---|---|
иностранец | Включить поддержку AliEn (требуется libgapiUI от ALICE) | ВЫК |
стрелка | Включить поддержку Apache Arrow | ВЫК |
изображение | Включить поддержку обработки изображений через libAfterImage | НА |
builtin_afterimage | Собранная копия libAfterImage в комплекте | ВЫК |
builtin_cfitsio | Внутренняя сборка CFITSIO (требуется сеть) | ВЫК |
builtin_clang | Собранная копия Clang | в комплектеНА |
встроенный | Собранная копия Cling | в комплектеНА |
builtin_davix | Внутренняя сборка Davix (требуется сеть) | ВЫК |
builtin_fftw3 | Внутренняя сборка FFTW3 (требуется сеть) | ВЫК |
builtin_freetype | Собранная копия freetype | ВЫК |
builtin_ftgl | Собранная копия FTGL | в комплектеВЫК |
builtin_gl2ps | Собранная копия gl2ps | ВЫК |
builtin_glew | Собранная копия GLEW | в комплектеВЫК |
builtin_gsl | Внутренняя сборка GSL (требуется сеть) | ВЫК |
builtin_llvm | Собранная копия LLVM | НА |
встроенный_lz4 | Собранная копия lz4 | ВЫК |
builtin_lzma | Собранная копия lzma | в комплектеВЫК |
builtin_nlohmannjson | Используйте nlohmann / json.hpp файл распространяется с ROOT | НА |
builtin_openssl | Внутренняя сборка OpenSSL (требуется сеть) | ВЫК |
builtin_openui5 | Используйте пакет openui5, поставляемый с ROOT | НА |
builtin_pcre | Собранная копия PCRE | ВЫК |
builtin_tbb | Внутренняя сборка TBB (требуется сеть) | ВЫК |
builtin_unuran | Собранная копия unuran | ВЫК |
встроенный_VC | Внутренняя сборка Vc (требуется сеть) | ВЫК |
builtin_vdt | Внутренняя сборка VDT (требуется сеть) | ВЫК |
builtin_veccore | Внутренняя сборка VecCore (требуется сеть) | ВЫК |
встроенный_xrootd | Внутренняя сборка XRootD (требуется сеть) | ВЫК |
builtin_xxhash | Собранная копия xxHash | в комплектеВЫК |
builtin_zlib | Собранная копия zlib | в комплектеВЫК |
builtin_zstd | Сборка включена libzstd, или используйте системную libzstd | ВЫК |
кэш-памяти | Включить использование ccache для ускорения сборки | ВЫК |
cefweb | Включить поддержку веб-дисплея CEF (Chromium Embedded Framework) | ВЫК |
плакированный | Build clad, подключаемый модуль автоматического распознавания cling (требуется сеть) | НА |
какао | Использовать собственный графический сервер Cocoa / Quartz (только для MacOS X) | ВЫК |
охват | Включить флаги компиляции для тестирования покрытия | ВЫК |
cuda | Включить поддержку CUDA (требуется набор инструментов CUDA> = 7.5) | ВЫК |
каднн | Включить поддержку cuDNN (по умолчанию, когда Cuda включен) | НА |
cxxmodules | Включить поддержку модулей C ++ | ВЫК |
фрейм данных | Включить ROOT RDataFrame | НА |
Дэвикс | Включить поддержку Davix (доступ HTTP / WebDAV) | НА |
кэш-память | Включить поддержку dCache (требуется libdcap от DESY) | ВЫК |
дев | Включить рекомендуемые флаги компиляции разработчика, уменьшить открытые включает | ВЫК |
distcc | Включите использование distcc для ускорения сборки (ccache вызывается первым, если он включен) | ВЫК |
исключения | Включить обработку исключений компилятора | НА |
FCGI | Включить поддержку FastCGI на HTTP-сервере | ВЫК |
fftw3 | Включить поддержку FFTW3 | НА |
fitsio | Включить поддержку чтения изображений FITS | НА |
фортран | Сборка Fortran-компонентов ROOT | ВЫК |
gdml | Включить поддержку GDML (язык разметки описания геометрии) | НА |
гфал | Включить поддержку GFAL (Grid File Access Library) | НА |
gnuinstall | Выполните установку в соответствии с рекомендациями GNU | ВЫК |
gsl_shared | Включить связывание с разделяемыми библиотеками для GSL (по умолчанию нет) | ВЫК |
гвиз | Включить поддержку Graphviz (программное обеспечение для визуализации графиков) | ВЫК |
http | Включить поддержку HTTP-сервера | НА |
imt | Включить поддержку неявной многопоточности с помощью блоков Intel® Thread Bulding (TBB) | НА |
jemalloc | Использовать распределитель памяти jemalloc | ВЫК |
libcxx | Сборка с использованием libc ++ | ВЫК |
macos_native | Отключить поиск библиотек, включений и двоичных файлов в местах, отличных от исходной установки (только MacOS) | ВЫК |
mathmore | Построить расширенную математическую библиотеку libMathMore (требуется GSL) | НА |
окончание_памяти | Свободная внутренняя ROOT-память перед завершением процесса (экспериментально, используется для проверки утечек) | ВЫК |
memstat | Утилита построения статистики памяти (помогает обнаруживать утечки памяти) | ВЫК |
minuit2 | Библиотека минимизации Build Minuit2 | ВЫК |
млп | Включить поддержку федерации классов TMultilayerPerceptron | НА |
monalisa | Включить поддержку мониторинга с помощью Monalisa (требуется libapmoncpp) | ВЫК |
mpi | Включить поддержку интерфейса передачи сообщений (MPI) | ВЫК |
MySQL | Включить поддержку баз данных MySQL | НА |
odbc | Включить поддержку баз данных ODBC (требуется libiodbc или libodbc) | ВЫК |
opengl | Включить поддержку OpenGL (требуется libGL и libGLU) | НА |
оракул | Включить поддержку баз данных Oracle (требуется Oracle Instant Client) | НА |
pgsql | Включить поддержку PostgreSQL | НА |
pyroot_legacy | Используйте устаревшие привязки Python для ROOT | ВЫК |
пирог | Включить поддержку автоматических привязок Python (PyROOT) | НА |
pythia6_nolink | Отложенное связывание библиотеки Pythia6 | ВЫК |
пития6 | Включите поддержку Pythia 6.х | НА |
pythia8 | Включить поддержку Pythia 8.x | НА |
qt5web | Включить поддержку веб-отображения Qt5 (требуется Qt5WebEngine) | ВЫК |
r | Включить поддержку привязок R (требуется R, Rcpp и RInside) | ВЫК |
кровельный | Расширенный набор фитингов Build RooFit | НА |
корень7 | Сборка ROOT 7 компонентов ROOT (требуется стандарт C ++ 14 или выше) | НА |
rpath | Связывание библиотек со встроенным RPATH (путь поиска во время выполнения) | ВЫК |
runtime_cxxmodules | Включить поддержку времени выполнения для модулей C ++ | НА |
shadowpw | Включить поддержку теневых паролей | ВЫК |
общий | По возможности используйте общие сторонние библиотеки | НА |
версия | Установить номер версии в имени (рекомендуется) | ВЫК |
спектр | Включить поддержку TSpectrum | НА |
sqlite | Включить поддержку SQLite | НА |
SSL | Включить поддержку SSL-шифрования через OpenSSL | НА |
tcmalloc | Использовать распределитель памяти tcmalloc | ВЫК |
test_distrdf_pyspark | Включить распределенные тесты RDataFrame, использующие pyspark | ВЫК |
tmva-процессор | Постройте TMVA с поддержкой ЦП для глубокого обучения (требуется BLAS) | НА |
tmva-gpu | Постройте TMVA с поддержкой GPU для глубокого обучения (требуется CUDA) | ВЫК |
TMVA | Построить библиотеку многовариантного анализа TMVA | НА |
тмва-пымва | Включить поддержку Python в TMVA (требуется numpy) | НА |
тмва-рмва | Включить поддержку R в TMVA | ВЫК |
уран | Включить поддержку UNURAN (пакет для генерации неоднородных случайных чисел) | ВЫК |
кольцо | Включите поддержку io_uring (требуется библиотека и ядро Linux> = 5.1) | ВЫК |
vc | Включить поддержку Vc (векторные классы SIMD для C ++) | ВЫК |
vdt | Включить поддержку VDT (быстрые и векторизуемые математические функции) | НА |
veccore | Включить поддержку библиотеки абстракций VecCore SIMD | ВЫК |
vecgeom | Включить поддержку библиотеки векторизованной геометрии VecGeom | ВЫК |
ВМС | Сборка библиотеки моделирования VMC | ВЫК |
веб-интерфейс | Создание веб-компонентов пользовательского интерфейса ROOT (требуется стандарт C ++ 14 или выше) | НА |
win_broken_tests | Включить неработающие тесты в Windows | ВЫК |
winrtdebug | Ссылка на библиотеку времени выполнения отладки Windows | ВЫК |
x11 | Включить поддержку X11 / Xft | НА |
xml | Включить поддержку XML (требуется libxml2) | НА |
xproofd | Включить поддержку LEGACY для файлового сервера и клиента XProofD (требуется XRootD v4 с private-devel) | ВЫК |
xrootd | Включить поддержку файлового сервера и клиента XRootD | НА |
Дополнительные возможности сборки | ||
все | Включить все дополнительные компоненты по умолчанию | ВЫК |
асан | Построить ROOT с инструментарием Address Sanitizer | ВЫК |
утверждает | Включить утверждения (включен для CMAKE_BUILD_TYPE = Debug и dev = ON) | ВЫК |
clingtest | Включить тесты привязки (примечание: это делает символы llvm / clang видимыми в libCling) | ВЫК |
g минимальное | По умолчанию включить только необходимые параметры, но включить X11 | ВЫК |
минимальный | По умолчанию включить только необходимые параметры | ВЫК |
rootbench | Создайте rootbench, если rootbench существует в корневом каталоге или является дочерним каталогом. | ВЫК |
roottest | Создайте roottest, если roottest существует в корневом каталоге или в дочернем каталоге. | ВЫК |
испытания | Включить тестирование с помощью CTest | ВЫК |
Соответствующие переменные CMake
Вот некоторые из часто используемых переменных CMake, а также краткое объяснение и примечания, относящиеся к ROOT.Для получения полной документации проверьте документацию CMake или выполните команду cmake --help-variable VARIABLE_NAME
.
Переменная | Тип | Пояснение |
---|---|---|
CMAKE_BUILD_TYPE | СТРОКА | Устанавливает тип сборки для генераторов на основе make. Возможные значения: Release, MinSizeRel, Debug, RelWithDebInfo и Optimized. В таких системах, как Visual Studio, пользователь устанавливает тип сборки с помощью настроек IDE.По умолчанию RelWithDebInfo |
CMAKE_INSTALL_PREFIX | ПУТЬ | Путь, по которому будет установлен ROOT, если выполняется make install или создается цель «INSTALL». |
CMAKE_C_FLAGS | СТРОКА | Дополнительные флаги для использования при компиляции исходных файлов C. |
CMAKE_CXX_FLAGS | СТРОКА | Дополнительные флаги для использования при компиляции исходных файлов C ++. |
CMAKE_Fortran_COMPILER | ПУТЬ | Полный путь к компилятору Fortran. В качестве альтернативы вы можете указать переменную среды FC перед вызовом cmake |
CMAKE_C_COMPILER | ПУТЬ | Полный путь к компилятору C. В качестве альтернативы вы можете указать переменную среды CC перед вызовом cmake |
CMAKE_CXX_COMPILER | ПУТЬ | Полный путь к компилятору C ++.В качестве альтернативы вы можете указать переменную среды CXX перед вызовом cmake |
CMAKE_INSTALL_BINDIR | ПУТЬ | Место установки для исполняемых файлов пользователя (bin) |
CMAKE_INSTALL_LIBDIR | ПУТЬ | Место установки для библиотек объектного кода (lib, lib64 или lib / в Debian) |
CMAKE_INSTALL_INCLUDEDIR | ПУТЬ | Место установки для файлов заголовков C / C ++ (включая) |
CMAKE_INSTALL_SYSCONFDIR | ПУТЬ | Установка назначения для данных одного компьютера только для чтения (и т. Д.) |
CMAKE_INSTALL_MANDIR | ПУТЬ | Место установки для документации man (DATAROOTDIR / man) |
CMAKE_INSTALL_DATAROOTDIR | ПУТЬ | Каталог установки для архитектурно-независимых данных только для чтения (общий ресурс) |
CMAKE_INSTALL_DATADIR | ПУТЬ | Установить целевые независимые от архитектуры данные только для чтения (DATAROOTDIR / root) |
CMAKE_INSTALL_MACRODIR | ПУТЬ | Место установки для макросов ROOT (DATAROOTDIR / macros) |
CMAKE_INSTALL_ICONDIR | ПУТЬ | Место установки для значков (DATAROOTDIR / icons) |
CMAKE_INSTALL_FONTDIR | ПУТЬ | Место установки для шрифтов (DATAROOTDIR / fonts) |
CMAKE_INSTALL_SRCDIR | ПУТЬ | Место установки для источников (DATAROOTDIR / src) |
CMAKE_INSTALL_DOCDIR | ПУТЬ | Место установки для корневого каталога документации (DATAROOTDIR / doc / root) |
CMAKE_INSTALL_TESTDIR | ПУТЬ | Установить место назначения для тестов (DOCDIR / test) |
CMAKE_INSTALL_TUTDIR | ПУТЬ | Место установки для руководств (DOCDIR / обучающие программы) |
CMAKE_INSTALL_ACLOCALDIR | ПУТЬ | Место установки для данных, зависящих от локали (DATAROOTDIR / aclocal) |
CMAKE_INSTALL_ELISPDIR | ПУТЬ | Место установки для файлов lisp (DATAROOTDIR / emacs / site-lisp) |
CMAKE_INSTALL_CMAKEDIR | ПУТЬ | Место установки для модулей cmake (DATAROOTDIR / cmake) |
Дополнительные переменные
Ряд дополнительных переменных для управления способом создания ROOT.
Переменная | Тип | Пояснение |
---|---|---|
LLVM_BUILD_TYPE | СТРОКА | Тип сборки для связанного LLVM. Он используется для установки CMAKE_BUILD_TYPE для подкаталога / интерпретатор / |
Внешние библиотеки
ROOT требует наличия ряда внешних библиотек, которые необходимо найти системе CMake. Список внешних компонентов зависит от включенных параметров сборки.CMake будет искать эти сторонние продукты в ряде стандартных мест в вашей системе, но пользователь может влиять на поиск, задав некоторые переменные среды перед вызовом команды CMake или задав точное местоположение переменных CMake для конкретных пакетов.
Фактические кэшированные значения, используемые CMake для точного расположения библиотек и включаемых файлов используемых внешних библиотек, можно проверить и изменить с помощью утилиты ccmake
.
Имя пакета | Переменная | Тип | Описание |
---|---|---|---|
Остаточное изображение | AFTERIMAGE_CONFIG_EXECUTABLE | ПУТЬ | Полный путь к программе afterimage-config |
Чужой | ALIEN_DIR | ПУТЬ | Каталог, в котором установлен Alien (-DALIEN_DIR = $ ALIEN_DIR / api) |
Bonjour | BONJOUR_INCLUDE_DIR | ПУТЬ | Каталог, где найти dns_sd.h |
AVAHI_INCLUDE_DIR | ПУТЬ | Каталог, в котором находится avahi-client / client.h (Linux) | |
AVAHI_client_LIBRARY | ПУТЬ | Полный путь к библиотеке libavahi-client.so | |
КАСТОР | CASTOR_DIR | ПУТЬ | Переменная среды для установки Castor. |
CASTOR_INCLUDE_DIR | ПУТЬ | Путь к rfio_api.h файл | |
CASTOR_shift_LIBRARY | ПУТЬ | Полный путь к сменной библиотеке | |
CFITSIO | CFITSIO | ПУТЬ | Установка CFITSIO |
CFITSIO_INCLUDE_DIR | ПУТЬ | Справочник, где найти fitsio.h | |
БИБЛИОТЕКИ CFITSIO | ПУТЬ | Полный путь к библиотеке cfitsio | |
FFTW | FFTW_DIR | ПУТЬ | Установка FFTW |
FFTW_INCLUDE_DIR | ПУТЬ | Каталог, где найти файл fftw3.h | |
БИБЛИОТЕКА FFTW | ПУТЬ | Полный путь к библиотеке fftw3 | |
GraphViz | GRAPHVIZ_DIR | ПУТЬ | Установка GraphViz |
GRAPHVIZ_INCLUDE_DIR | ПУТЬ | Каталог, где найти graphviz / graph.h | |
GRAPHVIZ_CDT_LIBRARY | ПУТЬ | Полный путь к библиотеке cdt | |
GRAPHVIZ_GVC_LIBRARY | ПУТЬ | Полный путь к библиотеке gvc | |
GRAPHVIZ_GRAPH_LIBRARY | ПУТЬ | Полный путь к библиотеке графов | |
GRAPHVIZ_PATHPLAN_LIBRARY | ПУТЬ | Полный путь к библиотеке pathplan | |
GSL | GSL_ROOT_DIR | ПУТЬ | Переменная среды для установки GSL. |
GSL_CONFIG_EXECUTABLE | ПУТЬ | Полный путь к программе gsl-config | |
Kerberos 5 | KRB5_DIR | ПУТЬ | Установка Kerberos5 |
KRB5_INCLUDE_DIR | ПУТЬ | Справочник где найти krb5.h | |
KRB5_MIT_LIBRARY | ПУТЬ | Полный путь к библиотеке k5crypto | |
KRB5_LIBRARY | ПУТЬ | Полный путь к библиотеке krb5 | |
KRB5_INIT | ПУТЬ | Полный путь к программе kinit | |
LZMA | LZMA_DIR | ПУТЬ | Установка LZMA |
LZMA_INCLUDE_DIR | ПУТЬ | Справочник, где найти lzma.h | |
БИБЛИОТЕКА_LZMA | ПУТЬ | Полный путь к библиотеке lzma | |
MySQL | MYSQL_DIR | ПУТЬ | Установка MySQL |
MYSQL_CONFIG_EXECUTABLE | ПУТЬ | Полный путь к программе mysql_config | |
ODBC | ODBC_DIR | ПУТЬ | Установка ODBC |
ODBC_INCLUDE_DIR | ПУТЬ | Каталог, где найти sqlext.h | |
ODBC_LIBRARY | ПУТЬ | Полный путь к библиотеке libodbc | |
Оракул | ORACLE_DIR | ENV | Переменная среды для установки Oracle. |
ORACLE_INCLUDE_DIR | ПУТЬ | Где найти oci.h | |
ORACLE_LIBRARY_OCCI | ПУТЬ | Полный путь к библиотеке libocci | |
SQLPLUS_EXECUTABLE | ПУТЬ | Полный путь к программе sqlplus | |
OpenGL | OPENGL_INCLUDE_DIR | ПУТЬ | Где найти GL / gl.h |
OPENGL_gl_LIBRARY | ПУТЬ | Полный путь к библиотеке GL | |
PCRE | PCRE_CONFIG_EXECUTABLE | ПУТЬ | Полный путь к программе pcre_config |
PostgreSQL | POSTGRESQL_INCLUDE_DIR | ПУТЬ | Каталог, где найти l ibpq-fe.h |
БИБЛИОТЕКА POSTGRESQL | ПУТЬ | Полный путь к библиотеке pq | |
Пифия 6 | PYTHIA6_LIBRARY | ПУТЬ | Полный путь к библиотеке pythia6 |
Пифия 8 | PYTHIA8_DIR | ENV | Переменная среды, указывающая на установку Pythia8 |
PYTHIA8_INCLUDE_DIR | ПУТЬ | Справочник, где найти Pythia8 / Pythia.h | |
PYTHIA8_LIBRARY | ПУТЬ | Полный путь к библиотеке Pythia8 | |
Python | PYTHON_EXECUTABLE | ПУТЬ | Исполняемый файл интерпретатора Python |
PYTHON_INCLUDE_DIR | ПУТЬ | Каталог, где найти Python.h | |
БИБЛИОТЕКА PYTHON | ПУТЬ | Полный путь к библиотеке Python | |
XROOTD | XROOTD_ROOT_DIR | ПУТЬ | Справочник, где найти XROOTD |
Зависимости - ROOT
На странице перечислены необходимые пакеты, которые необходимо установить на различных платформах, чтобы иметь возможность настраивать, создавать и запускать ROOT.
Оглавление можно использовать для быстрого перехода к вашей операционной системе.
Fedora, Scientific Linux и CentOS
Используйте yum install
или графическую программу «Установка и удаление программного обеспечения».
Необходимые пакеты
- марка: для / usr / bin / make
- cmake: ( cmake3 в CentOS 7) для / usr / bin / cmake
- gcc-c ++: для / usr / bin / g ++ (ROOT 6 требует g ++ 4.8 или clang 3.4; для SLC5 / SLC6)
- gcc: для / usr / bin / gcc
- binutils: для / usr / bin / ld
- libX11-devel: для usr / include / X11 / Xlib.h и для /usr/lib/libX11.so
- libXpm-devel: для /usr/include/X11/xpm.h и для /usr/lib/libXpm.so
- libXft-devel: для /usr/include/X11/Xft/Xft.h и для /usr/lib/libXft.so
- libXext-devel: для / usr / include / X11 / extensions / shape.h и для /usr/lib/libXext.so
- python: ( python38 в CentOS 8) ROOT6 требует версии> = 2.7
- openssl-devel: для /usr/include/openssl/pem.h и /usr/lib/libssl.so и /usr/lib/libcrypto.so
В качестве однострочника для Fedora 33, CentOS 8:
sudo yum install git make cmake gcc-c ++ gcc binutils \
libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
В качестве однострочника для Scientific Linux 7 и CentOS 7:
sudo yum install git make cmake3 gcc-c ++ gcc binutils \
libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
Наиболее распространенные дополнительные пакеты
- redhat-lsb-core: требуется для некоторых тестов с использованием lsb_release
- gcc-gfortran: для / usr / bin / gfortran
- pcre-devel: для / usr / bin / pcre-config
- mesa-libGL-devel: для / usr / include / GL / gl.h и для /usr/lib[64ght/libGL.so
- mesa-libGLU-devel: для /usr/include/GL/glu.h и для /usr/lib[64pting/libGLU.so
- mysql-devel: для / usr / bin / mysql_config
- fftw-devel: для /usr/include/fftw3.h и для /usr/lib/libfftw3.so
- libuuid-devel требуется во время сборки. Больше информации здесь.
- openldap-devel: для /usr/include/ldap.h и для /usr/lib/libldap.so
- python-devel: (только в системах на основе RHEL 7 с Python v.2) для /usr/include/python2.7/Python.h и для /usr/lib/libpython2.7.so
- python3-numpy: ( numpy в системах на основе RHEL 7), необходимый для PyMVA
- libxml2-devel: для / usr / bin / xml2-config
- gsl-devel: для /usr/include/gsl/gsl_version.h и для /usr/lib/libgsl.a
- readline-devel: требуется на этапе компоновки. Дистрибутивы на основе
- RHEL (CentOS, Scientific Linux) потребуют включения дополнительного репозитория программного обеспечения EPEL и для установки следующих пакетов:
- ftgl-devel: для / usr / bin / pkg-config
- cfitsio-devel: для / usr / include / fitsio2.h и для /usr/lib/libcfitsio.so
- R-devel, R-Rcpp-devel, R-RInside-devel: необходимо для привязок R. Для дистрибутивов на основе
- RHEL 8 (CentOS 8) потребуется включить PowerTools] (https://wiki.centos.org/FAQ/CentOS8/UnshippedPackages) дополнительный репозиторий программного обеспечения и для установки пакетов ниже:
- avahi-compat-libdns_sd-devel: для /usr/include/dns_sd.h и для /usr/lib/libdns_sd.so
- glew-devel: для / usr / include / GL / glew.h и для /usr/lib[64ght/libGLEW.so
- graphviz-devel: для /usr/include/graphviz/gvc.h и для /usr/lib/libgvc.so
Как однострочник для Fedora 33:
sudo yum install redhat-lsb-core gcc-gfortran pcre-devel \
mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel libuuid-devel \
avahi-compat-libdns_sd-devel openldap-devel python3-numpy \
libxml2-devel gsl-devel readline-devel R-devel R-Rcpp-devel R-RInside-devel
CentOS 8 требует добавления репозитория EPEL.Кроме того, некоторые пакеты в CentOS 8 были перемещены в репозиторий PowerTools. Поэтому его тоже нужно включить:
sudo yum установить epel-release
sudo yum config-manager --set-enabled powertools
sudo yum install redhat-lsb-core gcc-gfortran pcre-devel \
mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel libuuid-devel \
avahi-compat-libdns_sd-devel openldap-devel python3-numpy \
libxml2-devel gsl-devel readline-devel R-devel R-Rcpp-devel R-RInside-devel
Для Scientific Linux 7 и CentOS 7:
sudo yum установить epel-release
sudo yum install redhat-lsb-core gcc-gfortran pcre-devel \
mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel libuuid-devel \
avahi-compat-libdns_sd-devel openldap-devel python-devel numpy \
libxml2-devel gsl-devel readline-devel R-devel R-Rcpp-devel R-RInside-devel
Версия CMake> = 3.9 требуется для сборки последней версии ROOT. Поэтому в системах на основе RHEL 7 необходимо использовать команду cmake3
для создания ROOT. Команда по умолчанию cmake
в Scientific Linux 7 и CentOS 7 относится к CMake версии 2.8.
Ubuntu и другие дистрибутивы на основе Debian
Используйте sudo apt-get install
или используйте графическую программу «Synaptic Package Manager».
Необходимые пакеты
- dpkg-dev для dpkg-architecture (требуется при настройке для поиска системных библиотек)
- cmake: для / usr / bin / cmake
- g ++: для / usr / bin / g ++
- gcc: для / usr / bin / gcc
- binutils: для / usr / bin / ld
- libx11-dev: для usr / include / X11 / Xlib.h и для /usr/lib/libX11.so
- libxpm-dev: для /usr/include/X11/xpm.h и для /usr/lib/libXpm.so
- libxft-dev: для /usr/include/X11/Xft/Xft.h и для /usr/lib/libXft.so
- libxext-dev: для /usr/include/X11/extensions/shape.h и для /usr/lib/libXext.so
- libpng: библиотека png
- libjpeg: библиотека jpeg
- python: (для ROOT6 требуется версия> = 2.7)
- libssl-dev: для
/usr/include/openssl/pem.h
,/usr/lib/libssl.so
и/usr/lib/libcrypto.so
(в старых системах пакет может быть называетсяopenssl-dev
)
Однострочным:
sudo apt-get install dpkg-dev cmake g ++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev python libssl-dev
Наиболее распространенные дополнительные пакеты
- gfortran: для / usr / bin / gfortran
- libpcre3-dev: для / usr / bin / pcre-config
- xlibmesa-glu-dev: для / usr / include / GL / gl.h и для /usr/lib/libGL.so
- libglew1.5-dev: для /usr/include/GL/glew.h и для /usr/lib/libGLEW.so
- libftgl-dev: для / usr / bin / pkg-config
- libmysqlclient-dev: для / usr / bin / mysql_config
- libfftw3-dev: для /usr/include/fftw3.h и для /usr/lib/libfftw3.so
- libcfitsio-dev: для /usr/include/fitsio2.h и для /usr/lib/libcfitsio.so
- graphviz-dev: для / usr / include / graphviz / gvc.h и для /usr/lib/libgvc.so
- libavahi-compat-libdnssd-dev: для /usr/include/dns_sd.h и для /usr/lib/libdns_sd.so
- libldap2-dev: для /usr/include/ldap.h и для /usr/lib/libldap.so
- python-dev: для /usr/include/python2.7/Python.h и для /usr/lib/libpython2.7.so
- python-numpy-dev: необходимо для PyMVA
- libxml2-dev: для / usr / bin / xml2-config
- libkrb5-dev: для / usr / include / krb5.h и для /usr/lib/libkrb5.so
- libgsl0-dev: для /usr/include/gsl/gsl_version.h и для /usr/lib/libgsl.a
- r-base: необходимо для R-привязок. Кроме того, необходимо установить пакеты R Rcpp и RInside .
Однострочным:
sudo apt-get install gfortran libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
libmysqlclient-dev libfftw3-dev libcfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev python-dev libxml2-dev libkrb5-dev \
libgsl0-dev
В Debian замените libmysqlclient-dev
на libmariadb-dev
.
openSUSE
Минимальный набор:
sudo zypper установить bash cmake gcc-c ++ gcc binutils python libXpm-devel
xorg-x11-devel libXext-devel libopenssl-devel
Наиболее распространенные дополнительные пакеты:
sudo zypper install gcc-fortran pcre-devel Mesa glew-devel libpng16-devel
pkgconf-pkg-config libmariadb-devel fftw3-devel cfitsio-devel graphviz-devel
libdns_sd avahi-compat-mDNSResponder-devel openldap2-devel python-devel libxml2-devel
krb5-devel gsl-devel chrome libQt5Gui-devel libqt5-qtwebengine-devel
MacOS
- Пакет разработчика Xcode: Xcode находится в магазине Mac App.Установите инструменты командной строки через настройки XCode и / или запустите в терминале
xcode-select --install
Окна
КОРЕНЬ 6
- CMake (версия> = 16.3)
- Microsoft Visual C ++ (для ROOT6 требуется как минимум Visual Studio 2019 версии 16.1). Версия Community является бесплатной, полнофункциональной для студентов, участников открытого исходного кода и отдельных лиц.
- Python (для ROOT6 требуется версия> = 2.7)
Примечание
ROOT 6 для Windows в настоящее время находится в стадии бета-тестирования и имеет несколько известных проблем, а также отсутствующие функции. В настоящее время мы работаем над созданием ROOT для Windows промышленного уровня.
ROOT 5 (устарело)
Если вы используете Windows, убедитесь, что вы установили Microsoft Visual C ++ (например,
бесплатное издание) плюс CMake
.
Сборка CMake
будет работать напрямую с без необходимости установки .
cygwin, как это требовалось ранее до адаптации CMake
.
ROOT - ROOT
Соглашение об именах для версий ROOT - v
(например, v6.20 / 04
).
Четные второстепенные номера версий (например, v6.18
, v6.20
) указывают на стабильные ветки , обычно доступные в виде выпуска. Нечетные второстепенные номера версий (например, v6.19
, v6.21
) являются ветками разработки и никогда не выпускаются.Версии патчей следуют схожему соглашению: все выпуски имеют четный номер версии патча, например v6.20 / 02
или v6.18 / 04
. Всегда убедитесь, что вы используете последний выпуск исправлений для вашей версии ROOT, чтобы извлечь выгоду из последних исправлений ошибок.
Основные изменения версии в ROOT чрезвычайно редки и указывают на большую обратную несовместимость между версиями библиотек. Например, между v5 и v6 ROOT изменил реализацию своего интерпретатора C ++, основной движок ROOT I / O и многих других функций с CINT на CLING.
Для всех версий ROOT гарантирует обратную и прямую совместимость ввода-вывода : любой файл, записанный более старыми версиями ROOT, должен быть доступен для чтения более новыми версиями ROOT, а любой файл, записанный более новыми версиями ROOT, должен быть доступен для чтения более старыми версиями ROOT ( точнее, из-за возможного внедрения новых алгоритмов сжатия: последней версией любой из активных предыдущих версий ROOT).
Для младших версий ROOT гарантирует обратную совместимость с исходным кодом , т.е.е. «Ваш исходный код все равно будет компилироваться». Вы можете ожидать, что любой сбой в существующем коде должен быть отмечен в примечаниях к выпуску, и ему обычно будут предшествовать предупреждения об устаревании. Если нет, сообщите о проблеме как об ошибке. Мы оставляем за собой право добавлять параметры по умолчанию к сигнатурам функций и вносить другие незначительные изменения в API, которые не нарушат работу подавляющего большинства клиентского кода.
ROOT не гарантирует обратную совместимость ABI между версиями.
УстановкаCERN ROOT в Ubuntu 18.04 и включение всех библиотек
ROOT - это модульное программное обеспечение для научных исследований, используемое ЦЕРН для анализа. Эта структура очень распространена среди исследователей физики высоких энергий. Этот пост объясняет процедуру установки CERN ROOT, а также включает различные библиотеки, которые могут потребоваться позже. Вы можете узнать больше о ROOT на сайте cern.
Мы собираемся установить ROOT 6.10.04 в Ubuntu 18.04, которая является последней доступной в настоящее время версией Ubuntu. Многие программы были обновлены до более высоких версий в Ubuntu 18.04 как Python3 и gcc 7 и т. Д.
Скачивание ROOT Исходные файлы:
Вы можете использовать предварительно собранный двоичный дистрибутив, который не требует компиляции, но здесь мы собираемся собрать ROOT из исходного файла. Вы можете найти все версии root на https://root.cern.ch/releases. Щелкните Release 6.10 / 04 - 2017-07-28, чтобы перейти на веб-страницу, где вы можете найти исходные и двоичные файлы для различных дистрибутивов Linux. Здесь вам нужно скачать исходный файл с именем root_v6.10.04.source.tar.gz.
Я лично устанавливаю все это программное обеспечение в отдельную папку с именем «Продукты», поэтому я извлечу этот файл и поместу папку в эту папку «Продукты». Вы можете извлечь tar-файл, набрав в терминале следующую команду:
tar -xvzf root_v6.10.04.source.tar.gz root-6.10.04 /
Теперь вы получите папку с именем root-6.10.04 , которая содержит исходные файлы. Вы можете прочитать процедуру установки в файле «INSTALL» в папке «README» .Перед установкой ROOT нам необходимо установить необходимые компоненты.
Необходимые условия для установки ROOT:
Существует множество программ и библиотек, которые должны быть предварительно установлены в вашей системе для установки ROOT. Список предварительных требований можно найти по адресу https://root.cern.ch/build-prerequisites. Вы можете установить необходимые компоненты, набрав в терминале следующее (Ctrl + Alt + T):
sudo apt-get install git dpkg-dev cmake g ++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev
Вышеупомянутых библиотек будет достаточно для установки ROOT, но если вы хотите, вы также можете установить несколько дополнительных, которые могут быть полезны позже:
sudo apt-get install gfortran libssl-dev libpcre3-dev \ xlibmesa-glu-dev libglew1.5-разработчик libftgl-dev \ libmysqlclient-dev libfftw3-dev libcfitsio-dev \ graphviz-dev libavahi-compat-libdnssd-dev \ libldap2-dev python-dev libxml2-dev libkrb5-dev \ libgsl0-dev libqt4-dev
Установка ROOT и включение всех библиотек
Рекомендуется создавать ROOT в отдельной папке, отличной от исходной. Следовательно, мы создадим каталог (папку) с именем «root» в каталоге, где уже присутствует root-6.10.04.
корень mkdir корень cd
Теперь вы находитесь в корневом каталоге и готовы к созданию ROOT.ROOT предоставил вам опции для включения многих библиотек, которые по умолчанию отключены. Если вы хотите использовать их позже в своем проекте, вы должны включить их сейчас. Предположим, вы хотите включить библиотеку «mathmore», тогда вы должны использовать « cmake ../root-6.10.04 -Dmathmore = ON ». Вы можете увидеть полный список библиотек и их значения по умолчанию на https://root.cern.ch/building-root.
Мы хотим установить все библиотеки, чтобы не беспокоиться позже, когда нам понадобится новая библиотека.Мы можем использовать «-Dall = ON» как следующее:
cmake ../root-6.10.04/ -Dall = ON
Если все пойдет правильно, вы не увидите ошибок, и все файлы будут скопированы в этот текущий каталог. Теперь вы должны построить ROOT, используя следующую команду, где « -j3 » означает, что я хочу, чтобы мои 3 ядра процессора использовались в этой сборке. Пожалуйста, проверьте количество ядер в вашей системе с помощью команды « nproc » и используйте это. У меня в ноутбуке 4 ядра, но я хочу сделать что-то еще во время установки, поэтому я использовал только 3 ядра.Если вы не используете “- -j3” , то при установке будет использоваться только одно ядро, и установка займет больше времени.
cmake - build. - -j3
С 3 ядрами установка заняла около 2 часов. Это время установки может варьироваться в зависимости от конфигурации системы. Теперь введите следующую команду, прежде чем использовать root.
. bin / thisroot.sh
Теперь ваш ROOT готов к использованию, и вы можете проверить его, набрав «root».
корень
Окружение ROOT откроется в терминале с логотипом ROOT.В настоящее время доступ к ROOT возможен только из текущей папки. Чтобы ROOT работал из всех каталогов, вам необходимо изменить файл « .bashrc ».
Сначала выйдите из среды ROOT, набрав:
.q
Теперь вам нужно знать путь к текущему корневому каталогу, который можно получить с помощью «pwd».
pwd
Здесь получается что-то вроде этого
/ home / anil / Товары / root
Этот путь следует использовать для определения «ROOTSYS».Теперь откройте файл .bashrc .
gedit ~ / .bashrc
Вставьте следующее в конец файла .bashrc :
# для ROOT экспорт ROOTSYS = / home / anil / Products / root экспорт ПУТЬ = $ ROOTSYS / bin: $ ПУТЬ экспорт LD_LIBRARY_PATH = $ ROOTSYS / lib /: $ LD_LIBRARY_PATH
Вы должны заменить путь своим собственным путем, полученным с помощью команды «pwd». Теперь вы можете использовать ROOT в любой папке.
Обновление Пт 20 декабря 2019 г .:
Этот метод -Dall = ON отлично работал в более ранних версиях, таких как 6.10.04. В настоящее время -Dall = ON не пропускает библиотеки, если предварительные требования не выполнены. Итак, я бы рекомендовал перейти к базовой компиляции root, если вы новичок и не хотите никакой другой конкретной библиотеки.
cmake ../root-6.18.04/
Вы все еще можете добавлять определенные библиотеки, используя флаг -D, например,
cmake ../root-6.18.04/ -Dminuit2 = ON
Остальные команды такие же.
корень mkdir
корень компакт-диска
cmake../root-6.18.04/
make -j8
сделать установку
Вы также можете посмотреть следующие видеоуроки по установке ROOT. Если вы заинтересованы в изучении ROOT, вы можете изучить следующую статью.
Cern Root Tutorial 1: Начало работы с корневым макросом и компиляцией
Пожалуйста, используйте поле для комментариев, если у вас есть вопросы. Если вы найдете это руководство по установке CERN ROOT полезным, поделитесь им с тем, кто заинтересован в установке CERN ROOT.Вы можете следить за нами в facebook и twitter. Вы можете подписаться на рассылку уведомлений по электронной почте, чтобы получать уведомления по электронной почте всякий раз, когда мы публикуем новый пост.
Установка CERN ROOT из предварительно скомпилированных двоичных файлов на macOS и Linux | Петр Степанов
CERN ROOT - это мощный фреймворк, библиотека C ++ для обработки и управления данными.
Настройка и использование библиотеки может показаться немного сложной для начинающего пользователя компьютера, потому что:
- Для настройки библиотеки пользователь должен быть знаком с основными инструментами командной строки.
- Чтобы скомпилировать автономный исполняемый файл из нескольких источников, необходимо знать синтаксис make-файлов.
- Существует некоторая специфика создания автономных приложений ROOT с помощью Roofit или GUI.
- Настройка IDE может быть сложной задачей.
Я использовал библиотеки ROOT во время учебы в аспирантуре, и я готов поделиться здесь некоторым опытом. Надеюсь, это поможет и сэкономит время другим людям в этой области. Вообще говоря, есть два способа установить ROOT:
Вообще говоря, есть два способа установить ROOT:
- Установить из предварительно скомпилированного двоичного файла, который соответствует вашей операционной системе и версии компилятора.Этот вариант отлично подходит для пользователей, которым просто нужно запустить приложение ROOT.
- Скомпилировать двоичные файлы ROOT из исходников. Используйте эту опцию, если вы разрабатываете приложение C ++ на основе ROOT, которое требует отладки кода. Кроме того, компиляция ROOT из исходников может быть вашим единственным вариантом, если двоичные файлы ROOT для вашей операционной системы не представлены на официальном сайте.
В этой статье мы рассмотрим установку ROOT только из предварительно скомпилированных двоичных файлов. Если вам нужно скомпилировать ROOT из исходников, ознакомьтесь с моими заметками на Medium или следуйте официальным инструкциям здесь.
Независимо от того, какую ОС вы используете, установку ROOT следует начинать с установки необходимых компонентов сборки, перечисленных здесь. Для macOS это Xcode Developer Package и XQuartz.
- xCode можно получить в App Store. После установки xCode перейдите и установите Инструменты командной строки для xCode. Диалог установки появится при первом запуске xCode. В качестве альтернативы вы можете принять лицензию xCode и установить инструменты командной строки в терминале:
sudo xcodebuild -license && xcode-select --install
. - Загрузите и установите xQuartz с официального сайта.
Убедитесь, что вы загружаете правильный двоичный файл ROOT. Во-первых, двоичный файл должен соответствовать версии вашей операционной системы. Проверьте версию своей системы macOS в меню Apple → Об этом Mac.
Рис. 1. Версии компилятора указаны на странице загрузки ROOT в левом столбце (например, gcc 4.8 или clang100) Во-вторых, убедитесь, что версия вашего компилятора (clang) совпадает с версией, указанной в двоичном файле.Чтобы определить тип версии clang вашей системы в терминале clang —-version
:
Что мне делать, если моя версия clang не совпадает тот, что в бианри? В зависимости от clang-версии двоичного файла на веб-сайте CERN вам потребуется установить соответствующую версию xCode на свой компьютер. (см. этот сайт). Если App Store не предлагает нужную вам версию xCode, вы всегда можете скачать старую версию xCode на веб-сайте Apple Developer.
Теперь, когда вы убедились, что у вас установлена правильная версия xCode и инструменты командной строки xCode, продолжайте и установите бинарный пакет ROOT в вашей системе. Затем вам нужно будет обновить системные переменные среды. Исходный сценарий ROOT thisroot.sh
, который заботится о переменных среды в вашем профиле Bash. В Терминале выполните:
echo 'source /path-to-your-root-folder/bin/thisroot.sh' >> ~ / .bash_profile
Для того, чтобы изменения вступили в силу, вам необходимо получить измененный профиль Bash .В Терминале введите source ~ / .bash_profile
или выйдите из системы и снова войдите в систему.
Теперь вы можете запустить ROOT, набрав root
в Терминале.
Для Linux-машины процесс почти такой же, даже проще. В Linux CERN ROOT построен с помощью компилятора gcc
.
Как и любая другая установка ROOT, мы начинаем с предварительных требований для вашей конкретной версии Linux. Найдите здесь список необходимых пакетов.
Перед установкой ROOT из предварительно скомпилированного двоичного пакета установите инструменты разработки.Для Ubuntu это будет sudo apt-get install build-essential
. Эквивалент Fedora - sudo dnf install @ development-tools
.
Затем проверьте свою версию Linux и компилятора в терминале:
lsb_release -a && gcc --version
В зависимости от вывода приведенной выше команды скопируйте ссылку на двоичный файл ROOT, который соответствует вашей ОС и версии gcc из официального Веб-сайт. (см. рис. 1). Скачиваем архив с curl
и распаковываем.Мне нравится упорядочивать файлы: иметь загрузки в ~ / Downloads
и хранить приложения в ~ / Applications
:
mkdir -p ~ / Downloads && mkdir -p ~ / Applications
cd ~ / Downloads
curl -O https: //root.cern/download/your-root-version.tar.gz
tar xvzf ./your-root-version.tar.gz -C ~ / Applications
Это дело вкуса. Используйте желаемые места.
Затем настройте переменные среды. Обычно пользовательские переменные среды в системах Linux с оболочкой bash должны быть определены в ~ /.profile
файл. Идите вперед и укажите thisroot.sh
в своем файле ~ / .profile
:
echo 'source $ HOME / Applications / root / bin / thisroot.sh' >> ~ / .profile
К сожалению, есть проблема с Ubuntu и его дочерними операционными системами (Mint, Elementary OS, Zorin и т. д.). Согласно официальной документации, переменная LD_LIBRARY_PATH
не может быть установлена в ~ / .profile
. Значение переменной всегда оказывается пустым. Сообщается об этом поведении, и очень неловко, что оно все еще не работает должным образом.
Вы должны применить описанный здесь обходной путь. Просто выполните следующую команду, чтобы устранить проблему:
sudo sed -i 's / use-ssh-agent / no-use-ssh-agent / g' /etc/X11/Xsession.options
Дистрибутивы Linux, не основанные на в Ubuntu это обходное решение не требуется. Наконец, примените изменения переменных среды, которые мы определили:
source ~ / .profile
Теперь вы сможете запустить ROOT в Терминале, набрав root
.
В этой статье мы узнали, как настроить библиотеку CERN ROOT на компьютере Mac, установив двоичный дистрибутив.
В следующих статьях мы рассмотрим процесс компиляции автономного исполняемого файла (с графическим интерфейсом и без него) с использованием файлов makefile и настройкой IDE.
Не стесняйтесь задавать вопросы и оставлять комментарии.
Страница не найдена
Моя библиотека
раз- Моя библиотека