Gentoo Archives: gentoo-alt

From: Anton Molyboha <anton.stay.connected@×××××.com>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] Mono on Prefix on Mac
Date: Fri, 15 Sep 2017 04:29:49
Message-Id: CA+Qdaqx8G309uoJkO5xz+iAD-=G_1ef98d2zFQKk=p9p4gXuRg@mail.gmail.com
In Reply to: Re: [gentoo-alt] Mono on Prefix on Mac by Francois Bissey
1 Ha, I did not think about the possibility that "rm -f ... || die" would
2 delete nothing but refuse to die!
3
4 Replacing .so with $(get_libname) seems to work for me.
5
6 Thanks a lot Francois!
7
8 On Thu, Sep 14, 2017 at 6:57 PM, Francois Bissey <
9 francois.bissey@×××××××××××××.nz> wrote:
10
11 > It is very curious. The QA check happen after the install phase. And
12 > your log shows that’s when you get the message so somehow those files are
13 > not
14 > properly deleted. I am guessing that because “rm -f” is used the “die”
15 > statement
16 > may not be invoked.
17 >
18 > Ah! the rm command is elf centric it looks for .so files when on OS X we
19 > have .dylib
20 > files. We need to replace .so with $(get_libname) from the multilib eclass.
21 >
22 > François
23 >
24 > > On 15/09/2017, at 10:37, Anton Molyboha <anton.stay.connected@×××××.com>
25 > wrote:
26 > >
27 > > Hi all,
28 > >
29 > > I am trying to build mono under Prefix on my Mac, and it fails - but I
30 > think it _almost_ works and I just need a little help.
31 > >
32 > > The emerge error is "invalid install_name found", the culprits being
33 > some mcs.exe.dylib and mscorlib.dll.dylib (the build.log and requisite
34 > emerge output are attached)
35 > > At first I thought that some linker flags are off, but then found this
36 > snippet from the ebuild:
37 > >
38 > > multilib_src_install() {
39 > > default_src_install
40 > >
41 > > # Remove files not respecting LDFLAGS and that we are not supposed
42 > to provide, see Fedora
43 > > # mono.spec and http://www.mail-archive.com/
44 > mono-devel-list@××××××××××××.com/msg24870.html
45 > > # for reference.
46 > > rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
47 > > rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
48 > > }
49 > >
50 > > Looks like those files should just never get to be checked for the
51 > install_name -- yet, apparently, the check happens before the execution
52 > gets to those "rm" lines.
53 > >
54 > > So, the question is: is there a way to make the ebuild delete the
55 > offenders between compilation and QA checks? How can I do that -- and how
56 > do I find the build directory in a portable way?
57 > >
58 > > Thanks!
59 > > Anton
60 > > <emerge-info.txt><build.log><emerge-pqv.txt>
61 >
62 >