Компиляция glibc 2.3 с linuxthreads

Я пытаюсь скомпилировать glibc 2.3 (https://ftp.gnu.org/gnu/glibc/glibc-2.3.tar.gz) с аддоном linuxthreads (https://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.tar.gz) под ubuntu 18.04. Требования из readme следующие:

  • gcc (3.2 или новее)
  • GNU make версии 3.79 или новее
  • binutils 2.10.1 или выше
  • 2.2 kernel headers

Должен ли я установить более старый дистрибутив или возможно ли выполнить эту задачу на более новом дистрибутиве. Любой совет или указатель будут очень признательны.

Я могу использовать последнюю версию, которая поддерживает linuxthreads, а это glibc 2.5. Я выбрал 2.3, потому что я уже прочитал README.

Пока что мне удалось установить gcc 3.3. Но я застрял, пытаясь установить gnu make 3.x (3.82 или 3.79).

CC=gcc-3.3 ./configure --enable-add-ons=linuxthreads --prefix=<mypath>/glibc
loading cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking sysdep dirs... sysdeps/x86_64/elf linuxthreads/sysdeps/unix/sysv/linux/x86_64 linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/x86_64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/x86_64 sysdeps/unix sysdeps/posix sysdeps/x86_64/fpu sysdeps/x86_64 sysdeps/wordsize-64 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for pwd... /bin/pwd
checking build system type... x86_64-unknown-linux-gnu
checking for gcc... gcc-3.3
checking version of gcc-3.3... 3.3.6, ok
checking for gnumake... no
checking for gmake... no
checking for make... no
configure: error: 
*** These critical programs are missing or too old: make
*** Check the INSTALL file for required versions.

make должен быть под версией 4.

0
задан 18 October 2020 в 23:43

1 ответ

Наконец-то мне удалось скомпилировать glibc с linuxthreads. Я опубликую шаги, как это сделать:

Я использую Ubuntu 6.06.2 LTS (Dapper Drake)

live cd ubuntu dapper

изменить /etc/apt/source.list

deb http://archive.ubuntu.com/ubuntu dapper main restricted 
deb-src http://archive.ubuntu.com/ubuntu dapper main restricted 
...
deb http://security.ubuntu.com/ubuntu dapper-security main restricted 
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted

в

deb http://old-releases.ubuntu.com/ubuntu dapper main restricted
deb-src http://old-releases.ubuntu.com/ubuntu dapper main restricted
...
#deb http://security.ubuntu.com/ubuntu dapper-security main restricted
#deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted

затем

sudo apt-get update
sudo apt-get install gcc g++ make

скачайте и извлеките:

glibc 2.3.6

libin 2.3.6

linuxthreads 2.3.6

скопируйте плагины linuxthreads, linuxthreads_db и libidn в папку glibc-2.3.6

создайте папку сборки

mkdir build && cd build
../glibc-2.3.6/configure --prefix=/home/ubuntu/glib --enable-add-ons=libio,libidn,linuxthreads --without-__thread
make
make install

Проверьте, действительно ли в libc.so.6 есть аддон.

запустить общий объект /home/ubuntu/glib/lib/libc.so.6

и вы получите этот вывод

libc с linux threads

0
ответ дан 9 November 2020 в 02:34

Другие вопросы по тегам:

Похожие вопросы: