cd lex; make allopt make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/lex' ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A cset.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A syntax.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A parser.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A lexer.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A table.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A lexgen.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A compact.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A common.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A output.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A outputbis.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -c -warn-error A main.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -o ocamllex.opt cset.cmx syntax.cmx parser.cmx lexer.cmx table.cmx lexgen.cmx compact.cmx common.cmx output.cmx outputbis.cmx main.cmx /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. make[1]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/lex' cd tools; make opt.opt make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/tools' ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -warn-error A -I ../utils -I ../parsing -I ../typing -I ../bytecomp -I ../asmcomp -I ../driver -c depend.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -warn-error A -I ../utils -I ../parsing -I ../typing -I ../bytecomp -I ../asmcomp -I ../driver -c ocamldep.ml ../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -I ../utils -I ../parsing -I ../typing -I ../bytecomp -I ../asmcomp -I ../driver -o ocamldep.opt misc.cmx config.cmx clflags.cmx terminfo.cmx linenum.cmx warnings.cmx location.cmx longident.cmx syntaxerr.cmx parser.cmx lexer.cmx parse.cmx \ depend.cmx ocamldep.cmx /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. make[1]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/tools' cd camlp4; make opt.opt make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4' set -e; for i in lib odyl camlp4 meta etc compile; do cd $i; make opt; cd ..; done make[2]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/lib' make[2]: Nothing to be done for `opt'. make[2]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/lib' make[2]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/odyl' cp odyl_config.ml odyl_config.ppo ../../ocamlcompopt.sh -warn-error A -I ../../otherlibs/dynlink -c -impl odyl_config.ppo ../../ocamlopt.opt: error while loading shared libraries: cannot make segment writable for relocation: Permission denied make[2]: *** [odyl_config.cmx] Error 127 make[2]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/odyl' make[1]: *** [opt.opt] Error 2 make[1]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4' make: *** [camlp4optopt] Error 2 !!! ERROR: dev-lang/ocaml-3.08.3 failed. !!! Function src_compile, Line 61, Exitcode 2 fantoo portage # emerge info Portage 2.0.51.22-r3 (selinux/2005.1/x86/hardened, gcc-3.3.6, glibc-2.3.5-r2, 2.6.13-hardened-r1 i686) ================================================================= System uname: 2.6.13-hardened-r1 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -fforce-addr -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -fforce-addr -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg distlocks loadpolicy sandbox selinux sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="ru_RU.KOI8-R" LDFLAGS="-z now" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="apache2 bash-completion berkdb crypt curl dlloader gd gif glibc-omitfp gpm hardened imagemagick jpeg libwww mailwrapper mbox mysql ncurses nls nptl nptlonly pam pam_console perl pic png python readline samba selinux ssl threads truetype udev urandom vhosts x86 xml xml2 zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LINGUAS
You must not use an hardened gcc to compile ocaml as it needs complete freedom to manipulate memory. There is an einfo at the beggining of the build about that.
how come its masked now ? its been working fine on my hardened box with no issues at all for the last couple of versions ?
(In reply to comment #2) > how come its masked now ? > its been working fine on my hardened box with no issues at all for the last > couple of versions ? I can't even compile it amd64/x86 .. so why shouldn't it been masked in the first place ?
Hey poeple, i accept that is's reasonable to mask a non-working package. But if that's all that's happening, then it makes no sense, does it? I can't update my system anymore now... :( I get the following: ------------------------------------------------------------ server ~ # emerge -auDNtv world These are the packages that would be merged, in reverse order: Calculating world dependencies !!! All ebuilds that could satisfy ">=dev-lang/ocaml-3.07" have been masked. !!! One of the following masked packages is required to complete your request: - dev-lang/ocaml-3.08.3 (masked by: package.mask) # Christian Heim <phreak@gentoo.org> (17 April 2007) # dev-lang/ocaml is broken on hardened; either creates a TEXTREL # object or tries to make a segment writeable (bug #110541). - dev-lang/ocaml-3.08.4 (masked by: package.mask, ~x86 keyword) - dev-lang/ocaml-3.09.3 (masked by: package.mask) - dev-lang/ocaml-3.09.2 (masked by: package.mask) For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. (dependency required by "dev-ml/findlib-1.0.4-r1" [ebuild]) !!! Problem resolving dependencies for dev-ml/findlib !!! Depgraph creation failed. ------------------------------------------------------------ Now i don't know what one does in such a situation. Obviously i can't just "not update", but i also don't know the usual workaroud for this. A informational paragraph in the above message about what you can do to solve the problem would be very helpful. But for now: What can i do?
Oh, and why doesit seem to be a policy to consider a still existing problem to not be able to update you system or to compile a package in portage "RESOLVED INVALID"? I clearly does NOT work. It does NOT install. It still DOES act as if it works because when updating it tries (and therefore blocks the rest of the update to run). Not an optimal solution... :((( But... hard but true... typical gentoo behaviour. :( Ok, i don't want to rant. My solution: Change portage in a way that you can still update, but it just does not update the problematic packages. mldonkey - compiled in ocaml - works flawlessy on my gentoo system for 2 years now, so obviously it did work once. Leave it in that state and just let the rest update. Good idea? If not: Please explain why. If it is: Who modifies portage? ;))
This will be fixed shortly to work on systems with CONFIG_PAX_MPROTECT=y enabled.
(In reply to comment #6) > This will be fixed shortly to work on systems with CONFIG_PAX_MPROTECT=y > enabled. > I think we can say now its fixed, or am I missing something ?