Two problems when installing dev-ada/adasockets on Linux: 1) it creates sockets.Constants.ads rather than the required sockets-constants.ads 2) it does not copy the .adb files to /usr/lib/ada/adainclude/adasockets/ Reproducible: Always Steps to Reproduce: problem (1) - emerge adasockets problem (2) - try to compile a program that uses adasockets. Actual Results: problem (1) - % emerge adasockets [...works for a while...] rm -f .libs/sockets-constants.lo ../support/adacompiler -c -I. -I. sockets-constants.ads -fPIC -DPIC -o .libs/sockets-constants.lo gnatgcc: sockets-constants.ads: No such file or directory gnatgcc: no input files mv: cannot stat `tmp23448/sockets-constants.o': No such file or directory mv: cannot stat `tmp23448/*.ali': No such file or directory make[2]: *** [sockets-constants.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... ../support/adacompiler -c -I. -I. sockets-multicast.adb -o sockets-multicast.o >/dev/null 2>&1 mv -f .libs/sockets-multicast.lo sockets-multicast.lo make[2]: Leaving directory `/var/tmp/portage/adasockets-1.7-r1/work/adasockets-1.7/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/adasockets-1.7-r1/work/adasockets-1.7/src' make: *** [all-recursive] Error 1 !!! ERROR: dev-ada/adasockets-1.7-r1 failed. !!! Function src_compile, Line 24, Exitcode 2 !!! (no error message) Nproblem (2) - You can work around problem (1) by grabbing a copy of sockets.Constants.ads from /var/tmp/portage/adasockets-1.7-r1/work/adasockets-1.7/src after the emerge fails, saving it somewhere else, and then copying it back into that directory as sockets-constants.ads during another try at emerge, _after_ the source kit is unpacked but _before_ it reaches the point where the emerge blows up. However, even though installation now completes without error, attempts to compile programs that use adasockets complain that sockets.adb is not found. FYI, you can kludge your way around this too with cp /var/tmp/portage/adasockets-1.7-r1/work/adasockets-1.7/src/s*.adb /usr/lib/ada/adainclude/adasockets/ Expected Results: problem (1) - Complete the installation without error. problem (2) - Compile programs using adasockets withut error. Portage 2.0.50-r10 (default-x86-2004.0, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-gentoo-r8) ================================================================= System uname: 2.6.7-gentoo-r8 i686 AMD Athlon(TM) XP 2100+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -falign-functions=4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -falign-functions=4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox strict userpriv usersandbox" GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.ccccom.com ftp://ftp.ussg.iu.edu/pub/linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X alsa amd apm avi berkdb bonobo cdr crypt cups doc dvd emacs encode esd f77 foomatic foomaticdb freetype gdbm gif gimp gimpprint glade glut gnome gpm gtk gtk2 gtkhtml guile image imagemagick imlib imlib2 java javascript jpeg lcms libg++ libwww mad mikmod mixer mmx mng motif mozilla mpeg mpeg4 mplayer music mysql ncurses nls offensive oggvorbis openal opengl openssh oss pam pdflib perl plotutils png ppds python quicktime rage128 readline regex ruby sdk sdl slang sndfile spell src sse ssl svga tcltk tcpd tetex tiff timidity truetype type1 unicode videos x86 xine xml2 xmms xv zlib"
I can't reproduce error with "sockets.Constants.ads", but I know why gnatmake complains on "sockets.adb is not found". Because of permission on sockets*.ali. It should be read-only to skip compilation of sockets.adb. chmod -r sockets*.ali corrects it. I've prepared ebuild for latest adasockets version 1.8.4.4. I've added unset ADA_INCLUDE_PATH, ADA_OBJECTS_PATH while compilation to avoid interaction with older version. I think it should be compiled by gnat-5, but haven't tried yet.
Created attachment 39640 [details] new version ebuild
Comment on attachment 39640 [details] new version ebuild it's name adasockets-1.8.4.4.ebuild
Thanks; that compiled and merged just fine with gnat 3.4.1.
Thanks for fixing this one as well Maxim.