Инструменты пользователя

Инструменты сайта

  • Показать страницу
  • История страницы
  • Ссылки сюда
  • Оставить на чай
  • Экспорт в PDF
  • Наверх

  • software:linux_server:lfs-example:chapter05

    Различия

    Показаны различия между двумя версиями страницы.

    Ссылка на это сравнение

    Предыдущая версия справа и слеваПредыдущая версия
    Следующая версия
    Предыдущая версия
    software:linux_server:lfs-example:chapter05 [2024/07/15 00:59] – [5.5.1. Установка пакета Glibc-2.39] vladpolskiysoftware:linux_server:lfs-example:chapter05 [2024/07/15 01:22] (текущий) – [5.6.1. Установка библиотеки Libstdc++] vladpolskiy
    Строка 470: Строка 470:
     Сборка пакетов в следующей главе послужит дополнительной проверкой правильности сборки временного кросс-тулчейна. Если какой-либо пакет, особенно Binutils или GCC, не удается собрать, это указывает на то, что что-то пошло не так с установленными ранее Binutils, GCC, или Glibc. Сборка пакетов в следующей главе послужит дополнительной проверкой правильности сборки временного кросс-тулчейна. Если какой-либо пакет, особенно Binutils или GCC, не удается собрать, это указывает на то, что что-то пошло не так с установленными ранее Binutils, GCC, или Glibc.
     </WRAP> </WRAP>
     +Перейдем в каталог sources и удалим более не нужный разорхивированный каталог glibc-2.39 
     +<code> 
     +cd ../.. 
     +rm -Rf glibc-2.39 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_128.png?|}}
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.5.3. Содержимое пакета Glibc|Раздел 8.5.3. «Содержимое пакета Glibc.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.5.3. Содержимое пакета Glibc|Раздел 8.5.3. «Содержимое пакета Glibc.»]]
      
    Строка 485: Строка 490:
     Libstdc++ является частью исходников GCC. Сначала вы должны распаковать архив GCC и перейти в каталог gcc-13.2.0. Libstdc++ является частью исходников GCC. Сначала вы должны распаковать архив GCC и перейти в каталог gcc-13.2.0.
     </WRAP> </WRAP>
     +Распаковываем архив и переходим в каталог с его содержимым 
     +<code> 
     +tar -xvf gcc-13.2.0.tar.xz 
     +cd gcc-13.2.0 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_129.png?|}}
     Создайте отдельный каталог сборки для libstdc++ и перейдите в него: Создайте отдельный каталог сборки для libstdc++ и перейдите в него:
    - 
     <code> <code>
     mkdir -v build mkdir -v build
     cd       build cd       build
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_130.png?|}}
     Подготовьте libstdc++ к компиляции: Подготовьте libstdc++ к компиляции:
      
    Строка 505: Строка 514:
         --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0     --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0
     </code> </code>
    - +{{:software:linux_server:lfs-example:lfs_example_131.png?|}} 
    -===Значение параметров настройки:===+<details> 
     +<summary>«**Значение параметров настройки:**»</summary>
      
       * **--host=...**   * **--host=...**
    Строка 516: Строка 526:
       * **--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0**   * **--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0**
     Указывает каталог установки для include-файлов. Поскольку libstdc++ является стандартной библиотекой C++ для LFS, этот каталог должен соответствовать местоположению, в котором компилятор C++ ($LFS_TGT-g++) будет искать стандартные включаемые файлы C++. При обычной сборке эта информация автоматически передается в Libstdc++ при выполнении configure из каталога верхнего уровня. В нашем случае эта информация должна быть указана явно. Компилятор C++ добавит путь sysroot $LFS (указанный при сборке GCC Проход 1) к пути поиска include-файлов, поэтому фактически он будет искать в $LFS/tools/$LFS_TGT/include/c++/13.2.0. Комбинация переменной DESTDIR (в приведенной ниже команде make install) и этого аргумента обеспечивает установку заголовочных файлов туда. Указывает каталог установки для include-файлов. Поскольку libstdc++ является стандартной библиотекой C++ для LFS, этот каталог должен соответствовать местоположению, в котором компилятор C++ ($LFS_TGT-g++) будет искать стандартные включаемые файлы C++. При обычной сборке эта информация автоматически передается в Libstdc++ при выполнении configure из каталога верхнего уровня. В нашем случае эта информация должна быть указана явно. Компилятор C++ добавит путь sysroot $LFS (указанный при сборке GCC Проход 1) к пути поиска include-файлов, поэтому фактически он будет искать в $LFS/tools/$LFS_TGT/include/c++/13.2.0. Комбинация переменной DESTDIR (в приведенной ниже команде make install) и этого аргумента обеспечивает установку заголовочных файлов туда.
     +</details>
     Скомпилируйте Libstdc++, выполнив: Скомпилируйте Libstdc++, выполнив:
     +{{:software:linux_server:lfs-example:lfs_example_132.png?|}}
     <code> <code>
    -make+time make
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_133.png?|}}
     Установите библиотеку: Установите библиотеку:
     +{{:software:linux_server:lfs-example:lfs_example_134.png?|}}
     <code> <code>
     make DESTDIR=$LFS install make DESTDIR=$LFS install
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_135.png?|}}
     Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции: Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции:
      
    Строка 534: Строка 544:
     rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_136.png?|}} 
     +Перейдем в каталог sources и удалим более не нужный разорхивированный каталог binutils-2.42 
     +<code> 
     +cd ../.. 
     +rm -Rf gcc-13.2.0 
     +</code>
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.28.2. Содержимое пакета GCC|Разделе 8.28.2. «Содержимое пакета GCC.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.28.2. Содержимое пакета GCC|Разделе 8.28.2. «Содержимое пакета GCC.»]]
     +  * [[software:linux_server:lfs-example:chapter06|]]
    software/linux_server/lfs-example/chapter05.1720994373.txt.gz · Последнее изменение: 2024/07/15 00:59 — vladpolskiy