View previous topic :: View next topic |
Author |
Message |
Giampier n00b
Joined: 04 Jul 2007 Posts: 4
|
Posted: Wed Jul 04, 2007 12:35 pm Post subject: Executable Stack Warning. |
|
|
I have installed unison and I got the following message
# emerge unison
...
* QA Notice: The following files contain executable stacks
* Files with executable stacks will not work properly (or at all!)
* on some architectures/operating systems. A bug should be filed
* at https://bugs.gentoo.org/ to make sure the file is fixed.
* For more information, see http://hardened.gentoo.org/gnu-stack.xml
* Please include this file in your report:
* /var/tmp/portage/net-misc/unison-2.17.1-r1/temp/scanelf-execstack.log
* RWX --- --- usr/bin/unison
...
I have also read
http://hardened.gentoo.org/gnu-stack.xml
However the file
/var/tmp/portage/net-misc/unison-2.17.1-r1/temp/scanelf-execstack.log
do not exist.
What does this mean? |
|
Back to top |
|
|
didymos Advocate
Joined: 10 Oct 2005 Posts: 4798 Location: California
|
Posted: Wed Jul 04, 2007 1:19 pm Post subject: |
|
|
Did emerge finish and install to the system or did it die? If it finished, then the directory in /var/tmp/portage was wiped, along with any logs. If you do this:
Code: |
ebuild /usr/portage/net-misc/unison/unison-2.17.1-r1.ebuild install
|
it will do everthing except acutally merging the package into the system, and all the logs and whatnot will be there. _________________ Thomas S. Howard |
|
Back to top |
|
|
Giampier n00b
Joined: 04 Jul 2007 Posts: 4
|
Posted: Wed Jul 04, 2007 1:48 pm Post subject: |
|
|
Thanks. Here the log
Code: |
$ cat /var/tmp/portage/net-misc/unison-2.17.1-r1/temp/scanelf-execstack.log
!WX --- --- work/unison-2.17.1/lwt/lwt_unix.o
!WX --- --- work/unison-2.17.1/lwt/lwt_util.o
!WX --- --- work/unison-2.17.1/lwt/lwt.o
...
!WX --- --- work/unison-2.17.1/tree.o
RWX --- --- work/unison-2.17.1/unison
!WX --- --- work/unison-2.17.1/uutil.o
!WX --- --- work/unison-2.17.1/stasher.o
!WX --- --- work/unison-2.17.1/globals.o
!WX --- --- work/unison-2.17.1/transport.o
!WX --- --- work/unison-2.17.1/fspath.o
!WX --- --- work/unison-2.17.1/xferhint.o
!WX --- --- work/unison-2.17.1/props.o
RWX --- --- image/usr/bin/unison
|
unison is the only entry marked with RWX.
But is this really a problem?
A bug should really be filed as suggested by the message? |
|
Back to top |
|
|
Giampier n00b
Joined: 04 Jul 2007 Posts: 4
|
Posted: Thu Jul 05, 2007 8:21 am Post subject: |
|
|
After a little investigation I found that unison is written in OCaml and the OCaml compiler is known
to produce code with this problem.
https://bugs.gentoo.org/show_bug.cgi?id=153382
So this is an issue of the OCaml compiler, not unison.
In the bug cited above, a patch is proposed, to be included in the next version of OCalm.
(the patch refers to the 3.09.3) |
|
Back to top |
|
|
didymos Advocate
Joined: 10 Oct 2005 Posts: 4798 Location: California
|
Posted: Thu Jul 05, 2007 9:28 am Post subject: |
|
|
You can always apply the patch yourself. Make a copy of the ocaml ebuild in /usr/local/portage/dev-lang/ocaml/, stick the patch in /usr/local/portage/dev-lang/ocaml/files, along with anything else the ebuild requires from /usr/portage/dev-lang/ocaml/files. Edit the ebuild to use the patch from bugzilla. Typically you just add a line in src_unpack() function like this:
Code: |
epatch ${FILESDIR}/<name of patch> || die
|
There are a bunch of variables available to use in substitutions like the above. An explanation/listing is here:
http://devmanual.gentoo.org/ebuild-writing/variables/index.html
Anyway, once done with that, then do:
Code: |
ebuild /usr/local/portage/dev-lang/ocaml/<name of ebuild you use> digest unpack
|
If the patch applies correctly, then do:
Code: |
ebuild /usr/local/portage/dev-lang/ocaml/<name of ebuild you use> compile
|
and if the compile finishes without any trouble:
Code: |
ebuild /usr/local/portage/dev-lang/ocaml/<name of ebuild you use> merge
|
and now you've got the patched compiler on the system. _________________ Thomas S. Howard |
|
Back to top |
|
|
|