Я пытаюсь скомпилировать 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 следующие:
Должен ли я установить более старый дистрибутив или возможно ли выполнить эту задачу на более новом дистрибутиве. Любой совет или указатель будут очень признательны.
Я могу использовать последнюю версию, которая поддерживает 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.
Наконец-то мне удалось скомпилировать glibc с linuxthreads. Я опубликую шаги, как это сделать:
Я использую Ubuntu 6.06.2 LTS (Dapper Drake)
изменить /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
скачайте и извлеките:
скопируйте плагины 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
и вы получите этот вывод