1 |
It is very curious. The QA check happen after the install phase. And
|
2 |
your log shows that’s when you get the message so somehow those files are not
|
3 |
properly deleted. I am guessing that because “rm -f” is used the “die” statement
|
4 |
may not be invoked.
|
5 |
|
6 |
Ah! the rm command is elf centric it looks for .so files when on OS X we have .dylib
|
7 |
files. We need to replace .so with $(get_libname) from the multilib eclass.
|
8 |
|
9 |
François
|
10 |
|
11 |
> On 15/09/2017, at 10:37, Anton Molyboha <anton.stay.connected@×××××.com> wrote: |
12 |
> |
13 |
> Hi all, |
14 |
> |
15 |
> I am trying to build mono under Prefix on my Mac, and it fails - but I think it _almost_ works and I just need a little help. |
16 |
> |
17 |
> The emerge error is "invalid install_name found", the culprits being some mcs.exe.dylib and mscorlib.dll.dylib (the build.log and requisite emerge output are attached) |
18 |
> At first I thought that some linker flags are off, but then found this snippet from the ebuild: |
19 |
> |
20 |
> multilib_src_install() { |
21 |
> default_src_install |
22 |
> |
23 |
> # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora |
24 |
> # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html |
25 |
> # for reference. |
26 |
> rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die |
27 |
> rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die |
28 |
> } |
29 |
> |
30 |
> Looks like those files should just never get to be checked for the install_name -- yet, apparently, the check happens before the execution gets to those "rm" lines. |
31 |
> |
32 |
> So, the question is: is there a way to make the ebuild delete the offenders between compilation and QA checks? How can I do that -- and how do I find the build directory in a portable way? |
33 |
> |
34 |
> Thanks! |
35 |
> Anton |
36 |
> <emerge-info.txt><build.log><emerge-pqv.txt> |