Установка рут: Root права на Xiaomi + Разблокировка загрузчика (2021) | Root-Device

Содержание

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. Это полностью скомпонованный готовый пак, который содержит инструмент авто-инстоллятора рекавери, необходимые ADB драйвера и собственно сам IMG-файл рекавери для модели именно твоего Mi-смартфона.

После загрузки 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, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:

  1. Откройте Терминал и введите команду sudo adduser user (user замените на нужное имя пользователя).
  2. В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
  3. Добавьте новую учетную запись в группу sudo, введя sudo usermod -aG sudo user (user здесь тоже понадобится заменить).
  4. Проверьте выполненные действия, переключившись на новую учетную запись через su testuser. Для подтверждения введите пароль (при вводе символы не отображаются на экране).
  5. Выполните любую команду с 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! Воспринимайте его как пособие, а не чёткую инструкцию для конкретной модели!

Сразу стоит понимать: ответственность за любые манипуляции совершаемые вами лежит только на вас, ни мы, ни авторы инструкций не несут ответственности за совершенные вами действия.

  1. Переходим на страницу-каталог тем прошивок на 4PDA – Ссылка
  2. Ищем свою модель и успешно переходим в тему.
  3. После этого у нас появляется два сценария дальнейшего хода действий!

Первый – установка прошивки с уже предустановленными ROOT-правами.

  1. Это применимо в том случае, если у вас уже есть данные права и установлено костюмное рекавери.
  2. Ищем спойлер с названием “Официальные прошивки”, раскрываем его и смотрим, что там есть. К слову, тут же можно найти и FTF-файлы чистых прошивок для установки через флештул.
  3. Всё чаще спустя малый промежуток времени после выхода очередного обновления в раздел добавляют готовые образы прошивок, которые уже имеют рут-права. Естественно, если вы ранее не рутовали устройство, то этот метод вам не подойдёт, так как рекавери у вас нет и можно переходить ко второму способу.

Второй – следование инструкциям.

  1. В этой же ветке ниже спойлера “Официальные прошивки” имеется спойлер “Инструкции” в котором наверняка есть ссылки на подробные руководства по получению рута.
  2. Например, чтобы получить первоначальный root+recovery для версии Android1.1 вам нужно будет вначале с помощью FlashTool прошить Sony Xperia на версию системы 4.4.4 KitKat, так как для неё был простой способ получения прав – Безопасный ROOT Sony Xperia с Android 5.0 Lollipop и 4.4 KitKat. Дальше прошиваем последнюю версию системы с уже вшитым “корнем” (то что описано в первом варианте).
  3. В любом случае, всё будет описано в инструкции!

Ещё раз акцентирую внимание на том, что если у нас появится чёткая пошаговая универсальная инструкция, то мы обязательно её предоставим. В остальном же следуя описанным выше шагам, вы будете наверняка знать, что и где вам искать. Остальное за вами! Нужно просто немного вникнуть, разобраться и прочитать. Если вы не готовы вникать или разбираться, то и рут вам не нужен. Ведь зачем человеку весло, если он не хочет грести?!

Вконтакте

Facebook

Twitter

Google+

Одноклассники

Установка корневого сертификата | СБИС Помощь

Установка корневого или кросс-сертификата

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

Сертификаты, необходимые для работы в «СБИС Электронная отчетность», ставятся на компьютер автоматически при установке программы; для работы на ЭТП — при запуске мастера настройки рабочего места.

Если в вашей системе нет корневого или кросс-сертификата УЦ, электронная подпись работать не будет. Чтобы установить их вручную, вам потребуется файл с корневым или кросс-сертификатом. Все сертификаты УЦ Тензор можно скачать на сайте.

При установке КриптоПро CSP сертификаты Головного УЦ и сертификат УЦ Минкомсвязи автоматически устанавливаются в хранилище «Доверенные корневые центры сертификации». Если этого не произошло, скачайте и установите их вручную.

  1. Откройте программу Launchpad и введите в строке поиска слово «терминал» (terminal).
  2. Запустите Терминал (Terminal).
  3. Введите команду:
    • для установки из файла в промежуточное хранилище сертификатов (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 и нажмите клавишу .

  4. Откройте список сертификатов, установленных:
    • в промежуточное хранилище сертификатов (CA)
      /opt/cprocsp/bin/certmgr -list -store ca
    • в хранилище доверенных корневых издателей (ROOT)
      /opt/cprocsp/bin/certmgr -list -store root
    Убедитесь, что сертификат отобразился в списке.

Корневой или кросс-сертификат УЦ установлен, можно приступать к работе с электронной подписью.

Нашли неточность? Выделите текст с ошибкой и нажмите 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. Для продолжения необходимо его ввести.

Пароль 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 не стал исключением. Эта статья содержит подробное описание получения рут прав на данном устройстве.

Подготовка

Подготовка заключается в следующем:

  1. Резервное копирование данных памяти (если записанной информации не нужно, можно не делать)
  2. Загрузка и установка:
  3. — драйвера — UniversalAdbDriver (установка стандартная)

    — программа CF-Auto, которая доступна на сайте xda-developers по ссылке (распаковываете архив на ПК).

  4. Включение режима откладки USB. Нужно зайти в настройки, найти там раздел «О телефоне» и нажать в нем несколько раз на номер сборки устройства. После этого в настройках появится раздел «Опции разработчика», где и включается данный режим.
  5. Проверка уровня заряда батареи (он должен быть на уровне 75%).

Внимание! Если устройство еще на гарантийном сроке, то после осуществления всех действий по рутированию, она будет аннулирована.

Получение Root

Закончив несложный этап подготовки, можно начинать свое становление из простого пользователя, в супер пользователя Nexus 5. Требуется:

  1. Выключить смартфон и перевести его в режим загрузки путем зажатия обоих клавиш громкости и кнопки питания.
  2. Затем подключить его к компьютеру по USB.
  3. Запустить CF-Auto-Root:
  4. — В Windows потребуется два раза нажать на файл root-windows.bat.

    — Пользователям системы Linux нужно открыть окно команд, перейти к папке со скачанной программой и ввести команды:

    chmod +xroot-linux.sh
    ./root-linux.sh.

    — В операционной системе Mac нужно проделать те же самые операции, что и в Linux, но ввести другие команды:

    chmod +xroot-mac.sh
    ./root-mac.sh.

  5. Даем согласие на выполнение всех указаний, которые связаны с разблокировкой бутлоадера, и скрипт начнет выполнять свои действия.
  6. Через некоторое время должно появиться уведомление, что вы успешно установили права Root на Нексусе 5.

Установка кастомного рекавери через SP Flash Tool и получение root прав

Современный смартфон представляет собой универсальное устройство, которое также используется для хранения ценных данных. С целью их сохранения и невозможности свободного копирования была придумана специальная технология их шифрования. Ей защищается папка, в которой располагаются системные файлы, при повреждении которых может наступить фатальная ошибка.

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

Для повседневного пользования те данные, которые хранятся в защищенной области, не требуются. Крайне редко в них может возникнуть необходимость, но когда этот момент наступает, то и возникает вопрос, а как получить root-права, чтобы установить кастомную прошивку после полного сброса. Не так давно компании, которые продавали смартфоны под собственными брендами, блокировали их под одного оператора.

С помощью доступа к скрытым данным эту проблему можно было решить. Сейчас также с помощью root-прав можно немало. Но современная необходимость получения рут-прав связана с установкой операционной системы только таким способом. Раньше же было достаточно воспользоваться специальной программой.

В плане установки ПО задача стала на порядок сложнее, потому для получения root-прав необходимо найти программу, которая работала бы. Для этого придется воспользоваться сторонней утилитой TWRP.

Данный программный инструмент создан для тех смартфонов, которые работают на базе чипсетов MediaTek. так как в них имеется существенная разница.

Поэтому прежде чем приступать к сбросу всех данных на своем телефоне, убедитесь, что чипсет соответствует упомянутому.


Стоит заранее отметить, что установка подобных программ отличается от аналогичного процесса с другим софтом. Ничего удивительного, потому что это специальная программа со специальными возможностями, поэтому и действия будут соответствующими. Для проведения данной процедуры понадобятся:
  • ПК;
  • USB-кабель;
  • телефон;
  • драйвера для смартфона;
  • SP Flash Tool на ПК.

Соответственно, сначала необходимо скачать вышеуказанному программу. На данный момент доступна версия 5.182. Она отлично работает, была неоднократно проверена. При необходимости cкачайте драйвера с нашего портала.

Важно. Для каждого телефона TWRP свой, поэтому уделите поиску нужного файла особе внимание. Зарегистрированы случаи, когда аппарат переставал работать.

После установки указанной программы и драйверов для телефона, можно переходить к следующему этапу процедуры. В данном руководстве описана процедура для телефона на базе чипсета MT6737 модель Oukitel U7 Plus.

Действия:

  1. Подключите телефон к компьютеру и выключите его полностью.
  2. Если все сделано правильно, в диспетчере устройств появится новый COM-порт с названием PreLoader и отключите смартфон от ПК.
  3. Если порт не появился, то необходимо скачать драйвер.

    rar»>Скачать с нашего сервера
  4. Далее, необходимо запустить программу SP Flash Tool с правами администратора.
  5. В открывшейся программе нужно найти пункт «Scatter File» и нажать на кнопку «choose».

  6. В открывшемся проводнике найдите папку, где вы ранее сохранили TWFP файл. В архиве имеется два файла: recovery.img и scatter. Нужен второй.
  7. Над областью с данными имеется листбокс. В нем должно быть выбрано «Download Only», а галочка стоит напротив Recovery.
  8. На следующем шаге необходимо подключить выключенный телефон к ПК.
  9. После автоматического определения аппарата, вверху в окне необходимо нажать кнопку загрузки. Следует ожидать окончания завершения процесса. Требуется не более 5-10 секунд.
  10. Теперь необходимо включить смартфон нажатием двух кнопок: громкость+ и питание. Должно открыться меню TWRP.

Меню будет на русском, поэтому дальше все просто. После альтернативного рекаверы можно также ставить рут-права и различные патчи. Работать с этой программой следует максимально внимательно, потому что можно безвозвратно нарушить функциональность своего смартфона.

  1. (1002 или 0x3EA) S_INVALID_ARGUMENTS
    Неверный/поврежденный scatter файл. В моем случае были отключены, в scattere, блоки PRELOADER и DSP_BL. На это и ругался.
  2. (1003 или 0x3EB) S_COM_PORT_OPEN_FAIL или (3001 или 0xBB9) S_DA_EXT_RAM_ERROR

    Проблема с портом USB-портом или с кабелем.
    Используйте оригинальный кабель(не поврежденный)
    Попробуйте другой вход USB, на стационарных ПК используйте задние порты USB.

    (3001 или 0xBB9) S_DA_EXT_RAM_ERROR

  3. (1012 или 0x3F4) S_NOT_ENOUGH_MEMORY
    Воспользуйтесь более свежей версией прошивальщика.
  4. (1018 или 0x3FA) S_UNKNOWN_TARGET_BBCHIP
    Воспользоваться более свежей версией прошивальщика.
  5. (1040 или 0x410) S_UNSUPPORTED_OPERATION
    Scatter файл не подходит к вашему смартфону.
  6. (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. Шаги по установке предварительно скомпилированного двоичного файла просты:

  1. Установите все необходимые зависимости с помощью системного менеджера пакетов
  2. Скачать релиз для нужной платформы и ROOT версии
  3. Распаковать архив
  4. Добавьте библиотеки и исполняемые файлы 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.

  1. Загрузите и распакуйте исходники ROOT для определенного выпуска (обязательно загрузите «Исходный дистрибутив», а не двоичный дистрибутив) или просто клонируйте репозиторий ROOT git и проверьте ветку, которую вы хотите построить, например:
      # Последняя стабильная ветка автоматически обновляется при каждом выпуске.# Вы можете обновить локальную копию, введя команду `git pull`.
    $ git clone --branch последняя стабильная версия https://github.com/root-project/root.git root_src
      

    Далее мы будем ссылаться на каталог, в котором находятся источники ROOT (например, root_src выше) как .

  2. Создайте каталог для сборки и каталог для установки. Создание ROOT в исходном каталоге не поддерживается. Затем перейдите ( cd ) в каталог сборки:
      $ mkdir <каталог сборки> 
    $ cd <каталог сборки>
      
  3. Выполните команду cmake в оболочке, заменив соответственно и :
      $ cmake -DCMAKE_INSTALL_PREFIX =  
      

    CMake обнаружит вашу среду разработки, выполнит серию тестов и сгенерирует файлы, необходимые для построения ROOT.CMake будет использовать значения по умолчанию для всех параметров сборки. См. Разделы «Параметры сборки» и «Переменные» для точной настройки вашей сборки. Это может потерпеть неудачу, если CMake не может обнаружить ваш набор инструментов или если он считает, что среда недостаточно нормальная. В этом случае убедитесь, что набор инструментов, который вы собираетесь использовать, является единственным, доступным из оболочки, и что сама оболочка является правильной для вашей среды разработки. Вы можете заставить CMake использовать данный инструмент сборки, см. Раздел Использование.

  4. Перейдите к использованию файлов проекта IDE или запустите сборку из каталога сборки после завершения работы CMake:
      $ cmake - build.--target install [- <параметры встроенного инструмента>]
      

    Параметр --build указывает cmake вызвать базовый инструмент сборки (make, ninja, xcodebuild, msbuild и т. Д.). Базовый инструмент сборки, конечно, также может быть вызван напрямую, но команда cmake --build более портативна. В системах UNIX (с make или ninja) вы можете ускорить сборку с помощью cmake --build. - -jN , где N - количество доступных ядер.

  5. Установите 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 и чистого модуля Python JupyROOT .
  • 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 ВЫК
варианты сборки для ROOT 6.24 в комплекте в комплекте в комплекте в комплекте в комплекте в комплекте в комплекте
вариант сборки Эффект По умолчанию
иностранец Включить поддержку 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:

  1. Установить из предварительно скомпилированного двоичного файла, который соответствует вашей операционной системе и версии компилятора.Этот вариант отлично подходит для пользователей, которым просто нужно запустить приложение ROOT.
  2. Скомпилировать двоичные файлы ROOT из исходников. Используйте эту опцию, если вы разрабатываете приложение C ++ на основе ROOT, которое требует отладки кода. Кроме того, компиляция ROOT из исходников может быть вашим единственным вариантом, если двоичные файлы ROOT для вашей операционной системы не представлены на официальном сайте.

В этой статье мы рассмотрим установку ROOT только из предварительно скомпилированных двоичных файлов. Если вам нужно скомпилировать ROOT из исходников, ознакомьтесь с моими заметками на Medium или следуйте официальным инструкциям здесь.

Независимо от того, какую ОС вы используете, установку ROOT следует начинать с установки необходимых компонентов сборки, перечисленных здесь. Для macOS это Xcode Developer Package и XQuartz.

  1. xCode можно получить в App Store. После установки xCode перейдите и установите Инструменты командной строки для xCode. Диалог установки появится при первом запуске xCode. В качестве альтернативы вы можете принять лицензию xCode и установить инструменты командной строки в терминале: sudo xcodebuild -license && xcode-select --install .
  2. Загрузите и установите xQuartz с официального сайта.

Убедитесь, что вы загружаете правильный двоичный файл ROOT. Во-первых, двоичный файл должен соответствовать версии вашей операционной системы. Проверьте версию своей системы macOS в меню Apple → Об этом Mac.

Рис. 1. Версии компилятора указаны на странице загрузки ROOT в левом столбце (например, gcc 4.8 или clang100)

Во-вторых, убедитесь, что версия вашего компилятора (clang) совпадает с версией, указанной в двоичном файле.Чтобы определить тип версии clang вашей системы в терминале clang —-version :

Рис. 2. Обратите внимание, что версия Clang системы совпадает с версией в двоичном файле ROOT (предыдущее изображение)

Что мне делать, если моя версия 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.

Не стесняйтесь задавать вопросы и оставлять комментарии.

Страница не найдена

Моя библиотека

раз
    • Моя библиотека
    "" Настройки файлов cookie .

Добавить комментарий

Ваш адрес email не будет опубликован.