Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Executable Stack Warning.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
Giampier
n00b
n00b


Joined: 04 Jul 2007
Posts: 4

PostPosted: Wed Jul 04, 2007 12:35 pm    Post subject: Executable Stack Warning. Reply with quote

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
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Wed Jul 04, 2007 1:19 pm    Post subject: Reply with quote

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
View user's profile Send private message
Giampier
n00b
n00b


Joined: 04 Jul 2007
Posts: 4

PostPosted: Wed Jul 04, 2007 1:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
Giampier
n00b
n00b


Joined: 04 Jul 2007
Posts: 4

PostPosted: Thu Jul 05, 2007 8:21 am    Post subject: Reply with quote

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
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Thu Jul 05, 2007 9:28 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum