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

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


software:linux_server:lfs-example:chapter05

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:linux_server:lfs-example:chapter05 [2024/07/15 01:02] – [5.5.1. Установка пакета Glibc-2.39] vladpolskiysoftware:linux_server:lfs-example:chapter05 [2024/07/15 01:22] (текущий) – [5.6.1. Установка библиотеки Libstdc++] vladpolskiy
Строка 490: Строка 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++ к компиляции:
  
Строка 510: Строка 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=...**
Строка 521: Строка 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, поскольку они потенциально опасны при кросс-компиляции:
  
Строка 539: Строка 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.1720994570.txt.gz · Последнее изменение: vladpolskiy