#---------------------------------------------------------------------------- # build_glibc.txt - how to build the glibc binaries and create folder and packages # # Creation : 2008-12-13 holbru # Last update: $Id$ # # !!! this is not a script but an step-by-step howto !!! #------------------------------------------------------------------------------ exit 1 # home : http://www.gnu.org/software/ncurses/ ### download the source code from the internet, e.g. # http://ftp.gnu.org/gnu/ncurses/ncurses-5.6.tar.gz # http://www.linuxfromscratch.org/patches/lfs/6.3/ncurses-5.6-coverity_fixes-1.patch # daily sources from # ftp://invisible-island.net/ncurses/5.9/ # ftp://invisible-island.net/ncurses/current/ cd ncurses-5.6 patch -Np1 -i ../ncurses-5.6..... # 2012-05-05 -> ncurses-5.9 # 2012-11-04 -> ncurses-5.9 LibC-2.8 # 2013-06-09 -> ncurses-5.9-20130608 LibC-2.11.3 # 2013-07-29 -> ncurses-5.9-20130608 rebuild with ld-2.22 # 2015-03-19 -> ncurses-5.9-20150214 LibC-2.15 # hbfl # 2017-09-29 -> ncurses-5.9 # build with rpm Suse # ncurses-5.9-55.6.1.src.rpm # hbfl # 2018-05-20 -> ncurses-5.9 # build with rpm Suse # ncurses-5.9-62.1.src.rpm # hbfl # 2018-11-06 -> ncurses-6.1 # build with rpm Suse # ncurses-6.1.-7.1.src.rpm # hbfl # 2019-07-13 -> ncurses-6.1 # build with rpm Suse # ncurses-6.1.-16.1.src.rpm # hbfl # 2019-12-11 -> ncurses-6.1 # build with rpm Suse # ncurses-6.1.-24.1.src.rpm # hbfl # 2020-03-08 -> ncurses-6.2 # build with rpm Suse # ncurses-6.2.-2.1.src.rpm # hbfl # 2020-03-31 -> ncurses-6.2 # rebuild with rpm Suse -> gcc-9.2.1 -> glibc-2.31 # ncurses-6.2.-3.1.src.rpm # hbfl # 2020-08-26 -> ncurses-6.2.20200711 # build with rpm Suse # ncurses-6.2.20200711-7.1.src.rpm # hbfl # 2021-05-21 -> ncurses-6.2.20210501 # build with rpm Suse -> gcc-10 -> glibc-2.33 # ncurses-6.2.20210501-19.1.src.rpm # hbfl # 2022-02-08 -> ncurses-6.3.20220129 # build with rpm Suse # ncurses-6.3.20220129-9.1.src.rpm # hbfl # 2022-05-29 -> ncurses-6.3.20220501 # build with rpm Suse # ncurses-6.3.20220501-18.2.src.rpm # hbfl # 2023-03-26 -> ncurses-6.4.20220501 # build with rpm Suse -> gcc-12 -> glibc-2.37 # ncurses-6.4.20230311-8.2.src.rpm # hbfl # 2024-07-24 -> ncurses-6.5.20240629 # build with rpm Suse7 # ncurses-6.5.20240629-40.1.src.rpm # hbfl # 2024-12-01 -> ncurses-6.5.20241123 # build with rpm Suse7 # ncurses-6.5.20241123-50.1.src.rpm # hbfl # 2025-03-12 -> ncurses-6.5.20250222 # build with rpm Suse7 # ncurses-6.5.20250222-59.2.src.rpm # check for 'get-versions-number.sh' in SOURCE dir # fix im specfile label : hbfl # fix to %if 0%{?suse_version} > 1300 # libbsd-dev deinstallieren!!!!!!! Vorgang nach http://oss.erdfunkstelle.de/lfs-de/6.3/online/chapter06/ncurses.html export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" ./configure --prefix=/usr \ --with-shared \ --without-debug \ --enable-widec \ --enable-termcap \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu auch die normale Version make distclean ./configure --prefix=/usr \ --with-shared \ --without-normal \ --without-debug \ --without-cxx-binding \ --enable-termcap \ --without-xterm-new \ --enable-static \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.6 20061217: extended funcs: yes xterm terminfo: xterm-old bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/man terminfo directory: /usr/share/terminfo # # 2012-05-05 ncurses-5.9 # ./configure --prefix=/usr \ --with-shared \ --without-debug \ --enable-widec \ --enable-termcap \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20110404: extended funcs: yes xterm terminfo: xterm-new bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/man terminfo directory: /usr/share/terminfo make make DESTDIR=/public/utils/ncurses/5.9 install auch die normale Version make distclean ./configure --prefix=/usr \ --with-shared \ --without-normal \ --without-debug \ --without-cxx-binding \ --enable-termcap \ --without-xterm-new \ --enable-static \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20110404: extended funcs: yes xterm terminfo: xterm-old bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/man terminfo directory: /usr/share/terminfo make sources libs cp -av lib/lib*.so.5* /usr/lib # # 2013-05-08 -> ncurses-5.9-20130504 # with backspace patch from Debian # 02-debian-backspace.diff # build only for xterm # # ./configure \ --prefix=/usr \ --with-shared \ --without-debug \ --enable-widec \ --enable-termcap \ --enable-pc-files \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu # ncurses 5.9-20130608 # ftp://invisible-island.net/ncurses/current/ncurses-5.9-20130608.tgz patch -Np1 -i ../02-debian-backspace.diff ./configure \ --prefix=/usr \ --with-shared \ --without-debug \ --enable-widec \ --enable-termcap \ --enable-pc-files \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20130608: extended funcs: yes xterm terminfo: xterm-new bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/share/man terminfo directory: /usr/share/terminfo make make DESTDIR=/public/utils/ncurses install cd /public/utils/ncurses mkdir lib mv -v usr/lib/libncursesw.so.5* lib ln -sfv ../../lib/libncursesw.so.5 usr/lib/libncursesw.so for lib in ncurses form panel menu do rm -vf usr/lib/lib${lib}.so echo "INPUT(-l${lib}w)" >usr/lib/lib${lib}.so ln -sfv lib${lib}w.a usr/lib/lib${lib}.a ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc done ln -sfv libncurses++w.a usr/lib/libncurses++.a rm -vf usr/lib/libcursesw.so echo "INPUT(-lncursesw)" >usr/lib/libcursesw.so ln -sfv libncurses.so usr/lib/libcurses.so ln -sfv libncursesw.a usr/lib/libcursesw.a ln -sfv libncurses.a usr/lib/libcurses.a fuer die alte ncurses lib make distclean ./configure \ --prefix=/usr \ --with-shared \ --without-normal \ --without-debug \ --without-cxx-binding \ --enable-termcap \ --without-xterm-new \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20130608: extended funcs: yes xterm terminfo: xterm-old bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/share/man terminfo directory: /usr/share/terminfo make sources libs cp -av lib/lib*.so.5* /public/utils/ncurses/usr/lib make make DESTDIR=/public/utils/ncurses/5.9-20130504 install # ftp://invisible-island.net/ncurses/current/ncurses-5.9-20130608.tgz for filename in `find /public/utils/ncurses/5.9/{lib/*.so.*,usr/{bin/*,lib/*.so.*}} -type f` do echo $filename strip -R .note -R .comment "$filename" done