<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>110541</bug_id>
          
          <creation_ts>2005-10-26 06:18 0000</creation_ts>
          <short_desc>ERROR: dev-lang/ocaml-3.08.3 failed.</short_desc>
          <delta_ts>2008-01-12 19:56:29 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>amax@mail.ru</reporter>
          <assigned_to>ml@gentoo.org</assigned_to>
          <cc>gengor@gentoo.org</cc>
    
    <cc>hardened@gentoo.org</cc>
    
    <cc>navid.zamani@googlemail.com</cc>
    
    <cc>pageexec@freemail.hu</cc>

      

      
          <long_desc isprivate="0">
            <who>amax@mail.ru</who>
            <bug_when>2005-10-26 06:18:20 0000</bug_when>
            <thetext>cd lex; make allopt
make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/lex&apos;
../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&apos;
cd tools; make opt.opt
make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/tools&apos;
../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&apos;
cd camlp4; make opt.opt
make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4&apos;
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&apos;
make[2]: Nothing to be done for `opt&apos;.
make[2]: Leaving directory
`/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/lib&apos;
make[2]: Entering directory
`/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4/odyl&apos;
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&apos;
make[1]: *** [opt.opt] Error 2
make[1]: Leaving directory `/var/tmp/portage/ocaml-3.08.3/work/ocaml-3.08.3/camlp4&apos;
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=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=athlon-xp -fomit-frame-pointer -fforce-addr -pipe&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/bind /var/qmail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O2 -march=athlon-xp -fomit-frame-pointer -fforce-addr -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs autoconfig buildpkg distlocks loadpolicy sandbox selinux
sfperms strict&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo&quot;
LANG=&quot;ru_RU.KOI8-R&quot;
LDFLAGS=&quot;-z now&quot;
MAKEOPTS=&quot;-j1&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;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&quot;
Unset:  ASFLAGS, CTARGET, LC_ALL, LINGUAS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mattam@gentoo.org</who>
            <bug_when>2005-11-03 06:53:23 0000</bug_when>
            <thetext>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. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gejzer@ibt.com.pl</who>
            <bug_when>2007-04-20 14:09:08 0000</bug_when>
            <thetext>how come its masked now ?
its been working fine on my hardened box with no issues at all for the last couple of versions ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>phreak@gentoo.org</who>
            <bug_when>2007-04-20 15:09:24 0000</bug_when>
            <thetext>(In reply to comment #2)
&gt; how come its masked now ?
&gt; its been working fine on my hardened box with no issues at all for the last
&gt; couple of versions ?

I can&apos;t even compile it amd64/x86 .. so why shouldn&apos;t it been masked in the first place ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>navid.zamani@googlemail.com</who>
            <bug_when>2007-04-21 14:16:47 0000</bug_when>
            <thetext>Hey poeple,

i accept that is&apos;s reasonable to mask a non-working package.
But if that&apos;s all that&apos;s happening, then it makes no sense, does it?

I can&apos;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 &quot;&gt;=dev-lang/ocaml-3.07&quot; 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 &lt;phreak@gentoo.org&gt; (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 &quot;dev-ml/findlib-1.0.4-r1&quot; [ebuild])



!!! Problem resolving dependencies for dev-ml/findlib
!!! Depgraph creation failed.
------------------------------------------------------------

Now i don&apos;t know what one does in such a situation. Obviously i can&apos;t just &quot;not update&quot;, but i also don&apos;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?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>navid.zamani@googlemail.com</who>
            <bug_when>2007-04-21 14:25:07 0000</bug_when>
            <thetext>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 &quot;RESOLVED INVALID&quot;?

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&apos;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? ;))</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2007-04-21 18:11:17 0000</bug_when>
            <thetext>This will be fixed shortly to work on systems with CONFIG_PAX_MPROTECT=y enabled.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aballier@gentoo.org</who>
            <bug_when>2008-01-12 19:56:29 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; This will be fixed shortly to work on systems with CONFIG_PAX_MPROTECT=y
&gt; enabled.
&gt; 

I think we can say now its fixed, or am I missing something ?</thetext>
          </long_desc>
      
    </bug>

</bugzilla>