When compiling dev-lang/mercury-0.12.2.ebuild it fails when trying to compile mercury_dotnet.cs to mercury_dotnet.dll with csc. Now this is strange since I don't have csc and configure knows it -- maybe this is an upstream error? From configure.log ------------------ checking for Microsoft.NET Framework SDK... yes checking for cl... no checking for Microsoft.NET Visual C++... no checking for csc... no Here is the failure: -------------------- CONFIG_FILES=mercury_dotnet.cs CONFIG_HEADERS= ../config.status config.status: creating mercury_dotnet.cs config.status: executing default commands # check to ensure there were no misspelt autoconf variable names if grep -n '[^$]@.*@' mercury_dotnet.cs; then false; else true; fi /var/tmp/portage/mercury-0.12.2/temp/mmake.iMzu5N:1560: warning: undefined variable `CSHARP_ASSEMBLY_REFS-mercury_dotnet' csc /t:library /lib:`echo /var/tmp/portage/mercury-0.12.2/work/mercury-compiler-0.12.2/tmp_dir/library` \ /out:mercury_dotnet.dll /t:module mercury_dotnet.cs /bin/sh: csc: command not found gmake[2]: *** [mercury_dotnet.dll] Error 127 gmake[2]: Leaving directory `/var/tmp/portage/mercury-0.12.2/work/mercury-compiler-0.12.2/tmp_dir/runtime' To clean up from failed install, remove tmp_dir gmake[1]: *** [install_grades] Error 1 gmake[1]: Leaving directory `/var/tmp/portage/mercury-0.12.2/work/mercury-compiler-0.12.2' make: *** [install] Error 1 emerge.info ------------ emu mercury-compiler-0.12.2 # emerge info Portage 2.0.54 (default-linux/x86/2005.0, gcc-3.4.6, glibc-2.4-r1, 2.6.15-gentoo-r7 i686) ================================================================= System uname: 2.6.15-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.6.14 ccache version 2.4 [enabled] dev-lang/python: 2.3.4, 2.4.2-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.8.1-r1, 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/grass60/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /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/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/source/distfiles" FEATURES="autoconfig ccache distlocks sfperms strict" GENTOO_MIRRORS="ftp://mirror.internode.on.net/pub/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X Xaw3d acl acpi adns alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bonobo bzip2 cdr crypt cscope cups curl div4linux doc dri dvd dvdr eds emacs emacs-w3 emboss encode esd ethereal evo exif expat fam ffmpeg flac foomaticdb fortran gb gd gdbm ginac glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal howl icq idn imagemagick imagemagik imap imlib ipv6 jabber java jpeg kde kerberos lcms ldap lesstif libg++ libwww mad mbox mcal mhash mikmod mmx mng mono motif mozilla mp3 mpeg mpi msn mysql mysqli ncurses nls no_wxgtk1 nptl nptlonly nsplugin offensive ogg oggvorbis openal opengl oscar ose pam pcre pdf pdflib perl pic plotutils png ppds prelude python qt quicktime readline recode reiserfs samba sasl scanner sdl slang speex spell sqlite ssl svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vhosts vorbis wmf wxwindows xine xinerama xml xml2 xmms xosd xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
I have had build success through: 1) Disabling the sandbox (see bug #127689) 2) Changing the ebuild so that a disable option is passed to econfig: from: src_compile() { econf $(use_with readline) \ || die "econf failed" to: src_compile() { econf "--disable-dotnet-grades" \ "--disable-most-grades" \ $(use_with readline) \ || die "econf failed" The --disable-most-grades PROBABLY wasn't needed, but I didn't need them and it speeded up my build heaps.
Thanks for the bug report Brian. I've explicitly disabled building the dotnet grades; mercury-0.12.2 relies on the Microsoft .NET SDK due to the Mercury standard library implementation for .NET being implemented using Managed C++. mercury-0.13 is in the works, and other .NET Common Language Runtime implementations are being supported. If you're not going to use many (or any?) of the more esoteric grades, they can now be disabled via USE="minimal". :) Keri.