File: README_gnat-4.6.3 Download this file ================== darnassus.sceen.net:~gnu_srs/gnat-4.6/README_gnat-4.6.3 Remaining problems: 1) the default GNU/Hurd gcc complier deriver does not recognize ada libraries: fixes by enable_ada_for_hurd.diff 2) built binaries segfaults at startup (dynamic and static: sjlj and zcx): remains to solve Download and install the built gnat debs: ========================================= darnassus.sceen.net:~gnu_srs//gnat-4.6/debs/*.deb gnat-4.6_4.6.3-2_hurd-i386.deb libgnatprj4.6-dbg_4.6.3-2_hurd-i386.deb gnat-4.6-base_4.6.3-2_hurd-i386.deb libgnatprj4.6-dev_4.6.3-2_hurd-i386.deb gnat-4.6-sjlj_4.6.3-2_hurd-i386.deb libgnatvsn4.6_4.6.3-2_hurd-i386.deb libgnat-4.6_4.6.3-2_hurd-i386.deb libgnatvsn4.6-dbg_4.6.3-2_hurd-i386.deb libgnat-4.6-dbg_4.6.3-2_hurd-i386.deb libgnatvsn4.6-dev_4.6.3-2_hurd-i386.deb libgnatprj4.6_4.6.3-2_hurd-i386.deb dpkg -i *.deb (or delect the essential subset) apt-get build-dep gnat-4.6 apt-get install gnat Download the patches ==================== darnassus.sceen.net:~gnu_srs/gnat-4.6/patches/*.diff Debian specific patches: enable_ada_for_hurd.diff debian_rules.patch.diff ada-bug564232_new.diff ada-libgnatprj_new.diff Upstream patches: (Debian for now, for upstream when the segfault problems are solved) gcc_ada_gcc-interface_Makefile.in.diff s-osinte-gnu.diff: FIXME s-taprop-gnu.diff: FIXME Install the gnat-4.6 and gcc-4.6 sources: ========================================= cd .../gnat-4.6 apt-get source gnat-4.6 (4.6_4.6.3-2) unpacks to gnat-4.6-4.6.3 debian/ _MIN/ As root: apt-get source gcc-4.6 (4.6_4.6.3-1+hurd.1) Installs gcc-4.6 at /usr/share and /usr/src/gcc-4.6 debian gcc-4.6.3-dfsg.tar.xz patches pwd /home/srs/DEBs/gnat/gnat-4.6.3/gnat-4.6-4.6.3 ln -s /usr/src/gcc-4.6/gcc-4.6.3-dfsg.tar.xz . Unpacking the gcc-4.6 sources ============================= debian/rules unpack 2>&1 | tee ../unpack_gnat-4.6.3.log creates stamps/ 01-unpack-stamp 01-unpack-stamp-gcc-4.6.3-dfsg.tar.xz Enabling and applying the Hurd-specific patches: ================================================ Add the patches to debian/patches Mmodify debian/patches/series: ada-link-lib.diff -p1 ada-libgnatvsn.diff -p1 -ada-libgnatprj.diff -p1 +ada-libgnatprj_new.diff -p1 ada-acats.diff -p1 ada-sjlj.diff -p1 ada-kfreebsd-gnu.diff -p1 -ada-bug564232.diff -p1 +ada-bug564232_new.diff -p1 +enable_ada_for_hurd.diff -p1 +debian_rules.patch.diff -p1 +gcc_ada_gcc-interface_Makefile.in.diff -p1 +s-osinte-gnu.diff +s-taprop-gnu.diff gcc-d-lang.diff -p1 hurd-pthread.diff -p1 Note: Make sure that the hurd-fixes.diff is applied (not in series file) +hurd-fixes.diff -p1 Make sure every patch changing a configure.ac creates a new configure: (cd src; autoconf2.64): ada-link-lib.diff (cd src/libgnatprj; autoconf2.64): ada-libgnatvsn.diff (This is done later at the patch stage, but just to be sure!) Patching ======== debian/rules patch 2>&1 | tee ../patch_gnat-4.6.3.log cat stamps autotools_files da4cbfef9bc80939fd3b8d5633760829 ./src/boehm-gc/configure.ac 5bb1e804ce8dfef6707776dc5545f5bb ./src/configure.ac f2d1a9bf0648d059eb3c7a3c2d5b045e ./src/gcc/configure.ac 5fdfc9508e8b943cc51720e303c5f0e1 ./src/libffi/configure.ac 68991723439735a382f55f368a845836 ./src/libgnatprj/configure.ac ab012655ff764cf0f0d49ea16e7e9afa ./src/libiberty/configure.ac f24e863bb5540f5a732309925f1e9e9d ./src/libjava/classpath/configure.ac b1f8f6f05678a19cbab83e36f5b87e14 ./src/libjava/configure.ac Configuring =========== debian/rules configure 2>&1 | tee ../configure_gnat-4.6.3.log Creates build/ Makefile, config.* etc! Building ======== debian/rules build 2>&1 | tee ../build_gnat-4.6.3.log Creating debs ============= debian/rules binary 2>&1 | tee -a ../binary_gnat-4.6.3.log Of course the build can be made in one stage (if all the above steps succeeds) dpkg-buildpackage -b (or whatever)