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

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

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

  • software:linux_server:lfs-example:chapter06

    Различия

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

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

    Предыдущая версия справа и слеваПредыдущая версия
    Следующая версия
    Предыдущая версия
    software:linux_server:lfs-example:chapter06 [2024/07/15 09:56] – [6.7. File-5.45] vladpolskiysoftware:linux_server:lfs-example:chapter06 [2024/07/15 14:18] (текущий) – [6.18.1. Установка пакета GCC] vladpolskiy
    Строка 369: Строка 369:
     popd popd
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_169.png?|}} 
     +Результат создания временной копии 
     +{{:software:linux_server:lfs-example:lfs_example_170.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
       * **--disable-**   * **--disable-**
     Сценарий конфигурации пытается использовать некоторые пакеты из основного дистрибутива, если существуют соответствующие файлы библиотек. Это может привести к сбою компиляции, если файлы библиотек существует, но отсутствуют соответствующие заголовочные файлы. Эти параметры предотвращают использование ненужных возможностей хоста. Сценарий конфигурации пытается использовать некоторые пакеты из основного дистрибутива, если существуют соответствующие файлы библиотек. Это может привести к сбою компиляции, если файлы библиотек существует, но отсутствуют соответствующие заголовочные файлы. Эти параметры предотвращают использование ненужных возможностей хоста.
     +<code> 
     +find . -name file 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_171.png?|}}
     Подготовьте файл для компиляции: Подготовьте файл для компиляции:
    - 
     <code> <code>
     ./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess) ./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_172.png?|}} 
     +Результат подготовки 
     +{{:software:linux_server:lfs-example:lfs_example_173.png?|}}
     Скомпилируйте пакет: Скомпилируйте пакет:
    - 
     <code> <code>
     make FILE_COMPILE=$(pwd)/build/src/file make FILE_COMPILE=$(pwd)/build/src/file
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_174.png?|}} 
     +Результат компиляции 
     +{{:software:linux_server:lfs-example:lfs_example_175.png?|}}
     Установите пакет: Установите пакет:
    - 
     <code> <code>
     make DESTDIR=$LFS install make DESTDIR=$LFS install
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_176.png?|}} 
     +Результат установки 
     +{{:software:linux_server:lfs-example:lfs_example_177.png?|}}
     Удалите архивный файл libtool, поскольку он потенциально опасен при кросс-компиляции: Удалите архивный файл libtool, поскольку он потенциально опасен при кросс-компиляции:
    - 
     <code> <code>
     rm -v $LFS/usr/lib/libmagic.la rm -v $LFS/usr/lib/libmagic.la
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_178.png?|}} 
     +Перейдем в каталог sources и удалим более не нужный разорхивированный каталог  
     +<code> 
     +cd .. 
     +rm -Rf file-5.45 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_179.png?|}}
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.10.2. Содержимое пакета File|Разделе 8.10.2. «Содержимое пакета File.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.10.2. Содержимое пакета File|Разделе 8.10.2. «Содержимое пакета File.»]]
     =====6.8. Findutils-4.9.0===== =====6.8. Findutils-4.9.0=====
    Строка 405: Строка 418:
     |Приблизительное время сборки:|0.1 SBU| |Приблизительное время сборки:|0.1 SBU|
     |Требуемое дисковое пространство:|42 MB| |Требуемое дисковое пространство:|42 MB|
    - 
    -====6.6.1. Установка пакета Diffutils==== 
    - 
    -Подготовьте Diffutils для компиляции: 
    - 
    -<code> 
    -./configure --prefix=/usr   \ 
    -            --host=$LFS_TGT \ 
    -            --build=$(./build-aux/config.guess) 
    -</code> 
    - 
    -Скомпилируйте пакет: 
    - 
    -<code> 
    -make 
    -</code> 
    - 
    -Установите пакет: 
    - 
    -<code> 
    -make DESTDIR=$LFS install 
    -</code> 
    - 
    -Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.59.2. Содержимое пакета Diffutils|Разделе 8.59.2. «Содержимое пакета Diffutils.»]] 
      
     ====6.8.1. Установка пакета Findutils==== ====6.8.1. Установка пакета Findutils====
    - +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
    -Подготовьте Findutils к компиляции: +
     <code> <code>
    -./configure --prefix=/usr                   \+tar -xvf findutils-4.9.0.tar.xz && cd findutils-4.9.0 && 
     +time { ./configure --prefix=/usr             \
                 --localstatedir=/var/lib/locate \             --localstatedir=/var/lib/locate \
                 --host=$LFS_TGT                 \             --host=$LFS_TGT                 \
    -            --build=$(build-aux/config.guess)+            --build=$(build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
     +cd .. &&  
     +rm -Rf findutils-4.9.0
     </code> </code>
    - +{{:software:linux_server:lfs-example:lfs_example_180.png?|}} 
    -Скомпилируйте пакет+Результат выполнения команд 
    - +{{:software:linux_server:lfs-example:lfs_example_181.png?|}}
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install +
    -</code> +
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.61.2. Содержимое пакета Findutils|Разделе 8.61.2. «Содержимое пакета Findutils.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.61.2. Содержимое пакета Findutils|Разделе 8.61.2. «Содержимое пакета Findutils.»]]
      
    Строка 463: Строка 443:
      
     ====6.9.1. Установка пакета Gawk==== ====6.9.1. Установка пакета Gawk====
    - +Разорхивируем и убедимся, что некоторые ненужные файлы не будут установлены:
    -Во-первыхубедитесь, что некоторые ненужные файлы не будут установлены: +
     <code> <code>
     +tar -xvf gawk-5.3.0.tar.xz && cd gawk-5.3.0 &&
     sed -i 's/extras//' Makefile.in sed -i 's/extras//' Makefile.in
     </code> </code>
    - +{{:software:linux_server:lfs-example:lfs_example_182.png?|}} 
    - +Результат выполнения команды 
    -Подготовьте Gawk к компиляции: +{{:software:linux_server:lfs-example:lfs_example_183.png?|}} 
     +подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
     <code> <code>
    -./configure --prefix=/usr   \ +time { ./configure --prefix=/usr   \ 
    -            --host=$LFS_TGT \ +            --host=$LFS_TGT        
    -            --build=$(build-aux/config.guess) +            --build=$(build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
    -</code> +cd .. &&  
    - +rm -Rf gawk-5.3.0
    -Скомпилируйте пакет: +
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_184.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_185.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.60.2. Содержимое пакета Gawk|Разделе 8.60.2. «Содержимое пакета Gawk.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.60.2. Содержимое пакета Gawk|Разделе 8.60.2. «Содержимое пакета Gawk.»]]
    Строка 501: Строка 473:
     ====6.10.1. Установка пакета Grep==== ====6.10.1. Установка пакета Grep====
      
    -Подготовьте Grep к компиляции: +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
     <code> <code>
    -./configure --prefix=/usr   \+tar -xvf grep-3.11.tar.xz && cd grep-3.11 && 
     +time { ./configure --prefix=/usr   \
                 --host=$LFS_TGT \             --host=$LFS_TGT \
    -            --build=$(./build-aux/config.guess) +            --build=$(./build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
    -</code> +cd .. &&  
    - +rm -Rf grep-3.11
    -Скомпилируйте пакет: +
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_186.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_187.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.34.2. Содержимое пакета Grep|Разделе 8.34.2. «Содержимое пакета Grep.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.34.2. Содержимое пакета Grep|Разделе 8.34.2. «Содержимое пакета Grep.»]]
    Строка 530: Строка 495:
      
     ====6.11.1. Установка пакета Gzip==== ====6.11.1. Установка пакета Gzip====
    - +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
    -Подготовьте Gzip к компиляции: +
     <code> <code>
    -./configure --prefix=/usr --host=$LFS_TGT +tar -xvf gzip-1.13.tar.xz && cd gzip-1.13 && 
    -</code> +time { ./configure --prefix=/usr --host=$LFS_TGT && time make && make DESTDIR=$LFS install; } && 
    - +cd .. &&  
    -Скомпилируйте пакет: +rm -Rf gzip-1.13
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_188.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_189.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.64.2. Содержимое пакета Gzip|Разделе 8.64.2. «Содержимое пакета Gzip.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.64.2. Содержимое пакета Gzip|Разделе 8.64.2. «Содержимое пакета Gzip.»]]
    Строка 558: Строка 515:
      
     ====6.12.1. Установка пакета Make==== ====6.12.1. Установка пакета Make====
    - +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
    -Подготовьте Make к компиляции: +
     <code> <code>
    -./configure --prefix=/usr   \+tar -xvf make-4.4.1.tar.gz && cd make-4.4.1 && 
     +time { ./configure --prefix=/usr   \
                 --without-guile \             --without-guile \
                 --host=$LFS_TGT \             --host=$LFS_TGT \
    -            --build=$(build-aux/config.guess)+            --build=$(build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
     +cd .. &&  
     +rm -Rf make-4.4.1
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_190.png?|}} 
     +Результат выполнения команд 
     +{{:software:linux_server:lfs-example:lfs_example_191.png?|}}
     ===Значение новой опции настройки:=== ===Значение новой опции настройки:===
      
       * **--without-guile**   * **--without-guile**
     Несмотря на то, что мы выполняем кросс-компиляцию, configure пытается использовать guile с узла сборки, если он его находит. Это приводит к сбою компиляции, этот аргумент предотвращает его использование. Несмотря на то, что мы выполняем кросс-компиляцию, configure пытается использовать guile с узла сборки, если он его находит. Это приводит к сбою компиляции, этот аргумент предотвращает его использование.
    - 
    -Скомпилируйте пакет: 
    - 
    -<code> 
    -make 
    -</code> 
    - 
    -Установите пакет: 
    - 
    -<code> 
    -make DESTDIR=$LFS install 
    -</code> 
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.68.1. Установка пакета Make|Разделе 8.68.2. «Содержимое пакета Make.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.68.1. Установка пакета Make|Разделе 8.68.2. «Содержимое пакета Make.»]]
    Строка 595: Строка 543:
     ====6.13.1. Установка пакета Patch==== ====6.13.1. Установка пакета Patch====
      
    -Подготовьте Patch к компиляции: +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
     <code> <code>
    -./configure --prefix=/usr   \+tar -xvf patch-2.7.6.tar.xz && cd patch-2.7.6 && 
     +time { ./configure --prefix=/usr   \
                 --host=$LFS_TGT \             --host=$LFS_TGT \
    -            --build=$(build-aux/config.guess) +            --build=$(build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
    -</code> +cd .. &&  
    - +rm -Rf patch-2.7.6
    -Скомпилируйте пакет: +
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_192.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_193.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.69.2. Содержимое пакета Patch|Разделе 8.69.2. «Содержимое пакета Patch.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.69.2. Содержимое пакета Patch|Разделе 8.69.2. «Содержимое пакета Patch.»]]
    Строка 625: Строка 566:
     ====6.14.1. Установка пакета Sed==== ====6.14.1. Установка пакета Sed====
      
    -Подготовьте Sed к компиляции: +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
     <code> <code>
    -./configure --prefix=/usr   \+tar -xvf sed-4.9.tar.xz && cd sed-4.9 && 
     +time { ./configure --prefix=/usr   \
                 --host=$LFS_TGT \             --host=$LFS_TGT \
    -            --build=$(./build-aux/config.guess) +            --build=$(./build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
    -</code> +cd .. &&  
    - +rm -Rf sed-4.9
    -Скомпилируйте пакет: +
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_194.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_195.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.30.2. Содержимое пакета Sed|Разделе 8.30.2. «Содержимое пакета Sed.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.30.2. Содержимое пакета Sed|Разделе 8.30.2. «Содержимое пакета Sed.»]]
    Строка 654: Строка 588:
     ====6.15.1. Установка пакета Tar==== ====6.15.1. Установка пакета Tar====
      
    -Подготовьте Tar к компиляции: +Разорхивируем,подготовим файл для компиляции, скомпилируем, установите пакет и удалим временный каталог:
     <code> <code>
    -./configure --prefix=/usr                     \+tar -xvf tar-1.35.tar.xz && cd tar-1.35 && 
     +time { ./configure --prefix=/usr                     \
                 --host=$LFS_TGT                   \             --host=$LFS_TGT                   \
    -            --build=$(build-aux/config.guess) +            --build=$(build-aux/config.guess) && time make && make DESTDIR=$LFS install; } && 
    -</code> +cd .. &&  
    - +rm -Rf tar-1.35
    -Скомпилируйте пакет: +
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install+
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_196.png?|}}
     +Результат выполнения команд
     +{{:software:linux_server:lfs-example:lfs_example_197.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.70.2. Содержимое пакета Tar|Разделе 8.70.2. «Содержимое пакета Tar.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.70.2. Содержимое пакета Tar|Разделе 8.70.2. «Содержимое пакета Tar.»]]
    Строка 682: Строка 609:
      
     ====6.16.1. Установка пакета Xz==== ====6.16.1. Установка пакета Xz====
     +Запустим скрипт который сделает за нас всю работу по установке пакета xz
      
    -Подготовьте Xz к компиляции:+<code> 
     +#!/bin/bash 
     +SRC_FILE=xz-5.4.6.tar.xz 
     +SRC_FOLDER=xz-5.4.6
      
    -<code>+tar -xvf $SRC_FILE 
     +cd $SRC_FOLDER 
     + 
     +time {
     ./configure --prefix=/usr                     \ ./configure --prefix=/usr                     \
                 --host=$LFS_TGT                   \             --host=$LFS_TGT                   \
                 --build=$(build-aux/config.guess) \             --build=$(build-aux/config.guess) \
                 --disable-static                  \             --disable-static                  \
    -            --docdir=/usr/share/doc/xz-5.4.6 +            --docdir=/usr/share/doc/xz-5.4.6 && 
    -</code>+time make && 
     +make DESTDIR=$LFS install; } && 
     +rm -v $LFS/usr/lib/liblzma.la &&
      
    -Скомпилируйте пакет:+cd .. && 
     +rm -rf $SRC_FOLDER &&
      
    -<code> +echo Deleting $SRC_FOLDER 
    -make+echo Done with $SRC_FILE
     </code> </code>
     +<details>
     +<summary>«**Значение команд в скрипте:**»</summary>
     +#Присваеваем значения переменным
     +#Имя ахива для распаковки
     +SRC_FILE=xz-5.4.6.tar.xz
     +#Имя папки после распаковки
     +SRC_FOLDER=xz-5.4.6
      
    -Установите пакет:+tar xvf $SRC_FILE 
     +# Переход в папку xz-5.4.6 
     +cd $SRC_FOLDER
      
    -<code> +# Настройка параметров компеляции
    -make DESTDIR=$LFS install +
    -</code>+
      
    -Удалите архивный файл libtool, поскольку он потенциально опасен при кросс-компиляции:+./configure --prefix=/usr                     \ 
     +            --host=$LFS_TGT                   \ 
     +            --build=$(build-aux/config.guess) \ 
     +            --disable-static                  \ 
     +            --docdir=/usr/share/doc/xz-5.4.6 
     +#компиляция 
     +time make
      
    -<code>+#установка 
     +make DESTDIR=$LFS install 
     +#Удаление архивного файла libtool
     rm -v $LFS/usr/lib/liblzma.la rm -v $LFS/usr/lib/liblzma.la
    -</code>+ 
     +#Возвращение в папку /sources 
     +cd .. 
     +#Удаление папки xz-5.4.6 
     +rm -rf $SRC_FOLDER 
     +echo Удалена папка $SRC_FOLDER 
     +echo Исполнено $SRC_FILE 
     +</details> 
     +{{:software:linux_server:lfs-example:lfs_example_198.png?|}} 
     +Результат работы скрипта 
     +{{:software:linux_server:lfs-example:lfs_example_199.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.8.2. Содержимое пакета Xz|Разделе 8.8.2. «Содержимое пакета Xz.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.8.2. Содержимое пакета Xz|Разделе 8.8.2. «Содержимое пакета Xz.»]]
    Строка 721: Строка 683:
      
     Система сборки Binutils использует содержащуюся в пакете копию libtool для линковки с внутренними статическими библиотеками, но копии libiberty и zlib, поставляемые с пакетом, не используют libtool. Это несоответствие может привести к тому, что созданные двоичные файлы будут ошибочно связаны с библиотеками из основного дистрибутива. Решение этой проблемы: Система сборки Binutils использует содержащуюся в пакете копию libtool для линковки с внутренними статическими библиотеками, но копии libiberty и zlib, поставляемые с пакетом, не используют libtool. Это несоответствие может привести к тому, что созданные двоичные файлы будут ошибочно связаны с библиотеками из основного дистрибутива. Решение этой проблемы:
     +<code>
     +"sed '6009s/$add_dir//' -i ltmain.sh"
     +</code>
      
     +Снова воспользуемся скриптом для автоматической сборки и установки
     <code> <code>
     +#!/bin/bash
     +SRC_FILE=binutils-2.42.tar.xz
     +SRC_FOLDER=binutils-2.42
     +
     +tar -xvf $SRC_FILE
     +cd $SRC_FOLDER
     +
     sed '6009s/$add_dir//' -i ltmain.sh sed '6009s/$add_dir//' -i ltmain.sh
    -</code> 
      
    -Создайте отдельный каталог для сборки: 
    - 
    -<code> 
     mkdir -v build mkdir -v build
     cd       build cd       build
    -</code> 
      
    -Подготовьте Binutils к компиляции: +time {
    - +
    -<code>+
     ../configure                   \ ../configure                   \
         --prefix=/usr              \     --prefix=/usr              \
    Строка 745: Строка 711:
         --disable-werror           \     --disable-werror           \
         --enable-64-bit-bfd        \     --enable-64-bit-bfd        \
    -    --enable-default-hash-style=gnu+    --enable-default-hash-style=gnu && 
     +time make && 
     +make DESTDIR=$LFS install; } && 
     +rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} && 
     + 
     +cd ../.. && 
     +rm -rf $SRC_FOLDER && 
     + 
     +echo Удалена папка $SRC_FOLDER 
     +echo Выполнено для $SRC_FILE
     </code> </code>
      
    Строка 755: Строка 730:
       * **--enable-64-bit-bfd**   * **--enable-64-bit-bfd**
     Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, но вреда от этого не будет Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, но вреда от этого не будет
    - +{{:software:linux_server:lfs-example:lfs_example_200.png?|}} 
    -Скомпилируйте пакет: +Сообщение системы после выполнения скрипта 
    - +{{:software:linux_server:lfs-example:lfs_example_201.png?|}}
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make DESTDIR=$LFS install +
    -</code> +
    - +
    -Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции, также удалите ненужные статические библиотеки +
    - +
    -<code> +
    -rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} +
    -</code> +
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.19.2. Содержимое пакета Binutils|Разделе 8.19.2. «Содержимое пакета Binutils.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.19.2. Содержимое пакета Binutils|Разделе 8.19.2. «Содержимое пакета Binutils.»]]
      
    Строка 878: Строка 837:
     </code> </code>
      
    -Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.28.2. Содержимое пакета GCC|Разделе 8.28.2. «Содержимое пакета GCC.»]]+Снова собираем скрипт для автоматической сборки и установки 
     +<code> 
     +#!/bin/bash 
     +SRC_FILE=gcc-13.2.0.tar.xz 
     +SRC_FOLDER=gcc-13.2.0
      
     +tar -xvf $SRC_FILE
     +cd $SRC_FOLDER
     +
     +tar -xf ../mpfr-4.2.1.tar.xz
     +mv -v mpfr-4.2.1 mpfr
     +tar -xf ../gmp-6.3.0.tar.xz
     +mv -v gmp-6.3.0 gmp
     +tar -xf ../mpc-1.3.1.tar.gz
     +mv -v mpc-1.3.1 mpc
     +
     +case $(uname -m) in
     +  x86_64)
     +    sed -e '/m64=/s/lib64/lib/' \
     +        -i.orig gcc/config/i386/t-linux64
     +  ;;
     +esac
     +
     +sed '/thread_header =/s/@.*@/gthr-posix.h/' \
     +    -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in
     +
     +mkdir -v build
     +cd       build
     +
     +time {
     +../configure                                       \
     +    --build=$(../config.guess)                     \
     +    --host=$LFS_TGT                                \
     +    --target=$LFS_TGT                              \
     +    LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc      \
     +    --prefix=/usr                                  \
     +    --with-build-sysroot=$LFS                      \
     +    --enable-default-pie                           \
     +    --enable-default-ssp                           \
     +    --disable-nls                                  \
     +    --disable-multilib                             \
     +    --disable-libatomic                            \
     +    --disable-libgomp                              \
     +    --disable-libquadmath                          \
     +    --disable-libsanitizer                         \
     +    --disable-libssp                               \
     +    --disable-libvtv                               \
     +    --enable-languages=c,c++ &&
     +time make &&
     +make DESTDIR=$LFS install; } &&
     +ln -sv gcc $LFS/usr/bin/cc &&
     +
     +cd ../.. &&
     +rm -rf $SRC_FOLDER &&
     +
     +echo Удалена папка $SRC_FOLDER
     +echo Выполнено для $SRC_FILE
     +</code>
     +{{:software:linux_server:lfs-example:lfs_example_202.png?|}}
     +Вывод после окончания выполнения команд скриптом
     +{{:software:linux_server:lfs-example:lfs_example_203.png?|}}
     +
     +Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.28.2. Содержимое пакета GCC|Разделе 8.28.2. «Содержимое пакета GCC.»]]
     +  * [[software:linux_server:lfs-example:chapter07|]]
    software/linux_server/lfs-example/chapter06.1721026608.txt.gz · Последнее изменение: 2024/07/15 09:56 — vladpolskiy