#10490: Can't screenshoot Web+ under libroot_debug.so ----------------------------------+---------------------------- Reporter: humdinger | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: Kits/Interface Kit | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All ----------------------------------+---------------------------- Comment (by pulkomandy): Replying to [comment:2 bonefish]: > Replying to [comment:1 pulkomandy]: > > What happens is the LD_PRELOAD is inherited to child processes. In this case, it seems the "Screenshot" app ends up being run with the gcc4 libroot_debug loaded, so it fails to run. > > libroot_debug is just an alternative libroot. Besides that a program might run into an assertion or other debug check in case of certain issues, it should just work the same way. I suppose the `exception` type info symbol should live in libgcc and thus libroot, so it should also live in libroot_debug. I checked on a gcc4h image and both (gcc 2) libroot and libroot_debug do indeed export the symbol. Yes, that's fine. The problem is we end up running the gcc2-compiled Screenshot with the gcc4 version of libroot_debug preloaded. I had this problem in other cases when trying to debug an executable that was run by a shell script (for example, libtool sometimes generates such things to make it possible to run an application without installing the libs it depends on and that are built in the same project). In this case, it's hard to set LD_PRELOAD for the executable, without also setting it for the shell interpreter that's run first. I don't know how we could handle all these cases, anyway. For this one, warning the user that running Screenshot failed may be enough. -- Ticket URL: <https://dev.haiku-os.org/ticket/10490#comment:3> Haiku <https://dev.haiku-os.org> Haiku - the operating system.