Essentially, readlink() on /proc/self/exe will return the path of the executable that calls it, but on an unionfs based system, it will return the wrong path (/squashfs/usr/bin/mono). THe old patch simply commented out the check on /proc/self/exe, which obviously was a bad idea, and also causes random segfaults all over the place (currently evolution-sharp is known to FTBFS due to this issue, f-spot also FTBFS if its rebuilt after clearing its dependency issues).
THe replacement patch (which I'm now testing) checks the prefix of any path read via the readlink /proc/self/exe function call, and then strips off the bad section of the path as necessary.
As evolution-sharp is known to trigger this bug, my test will involve building it once in a normal chroot jail, and building it again on the liveCD with the replacement mono. It should success both times if mono has properly been fixed.
Here is some more information and related bugs on the issue:
https:/ /bugs.edge. launchpad. net/ubuntu/ +source/ linux/+ bug/22410.
Essentially, readlink() on /proc/self/exe will return the path of the executable that calls it, but on an unionfs based system, it will return the wrong path (/squashfs/ usr/bin/ mono). THe old patch simply commented out the check on /proc/self/exe, which obviously was a bad idea, and also causes random segfaults all over the place (currently evolution-sharp is known to FTBFS due to this issue, f-spot also FTBFS if its rebuilt after clearing its dependency issues).
THe replacement patch (which I'm now testing) checks the prefix of any path read via the readlink /proc/self/exe function call, and then strips off the bad section of the path as necessary.
As evolution-sharp is known to trigger this bug, my test will involve building it once in a normal chroot jail, and building it again on the liveCD with the replacement mono. It should success both times if mono has properly been fixed.