when installing dev-scheme/drscheme version 352, and probably other versions as well, some wrong paths get hardcoded into some files. the problem comes from the fact (as told to me by a plt developer) that make install doesn't just move files around, but also compile some files, and that this step of the build is probably done outside of the chroot thus, some files get a wrong path (beggining with /var/tmp/portage) hardcoded in them
Created attachment 96319 [details] grep -lr "/var/tmp/portage" . this is the result of the following command : grep -lr "/var/tmp/portage" . as run in the following directory : /usr/lib/plt
There isn't really much I can do about this, I am using the DESTDIR provided by upstream to install to the image. I might try to look at patching the build system once I get a little free time. Does it break anything? (I noticed this as well, but everything seems to work fine).
(In reply to comment #2) > There isn't really much I can do about this, I am using the DESTDIR provided by > upstream to install to the image. > > I might try to look at patching the build system once I get a little free time. > > Does it break anything? (I noticed this as well, but everything seems to work > fine). It breaks the slideshow tutorial a little bit : if you run slideshow with no arguments, launch the tutorial, skip the first few pages until a link to a file is clickable : the link is broken (it points to /var/tmp/...) a solution would be to chroot to /var/tmp/..., do a make install to /usr/lib/plt, then go out of the chroot and copy everything to the actual tree. at least from what i understand, that should solve the problem, shouldn't it ? the problem of the DESTDIR is that you set it to ${D} which contains the /var/tmp string, and thus this string gets hardcoded in various places. so with a chroot it would not happen.
There isn't a proper system to chroot to, and that is a rather broken solution to the problem. The real solution is to patch the build system to properly support DESTDIR. The whole point of DESTDIR is to tell the package to install to a different location without affecting the build (prefix is the root that the build is supposed to use). I will see what I can do once I have some free time to look at it.
Here's another glimpse of what's broken: Running: (require (lib "plot.ss" "plot")) Returns: ffi-lib: couldn't open "/var/tmp/portage/drscheme-352/image/usr/lib/plt/collects/plot/compiled/native/i386-linux/libfit.so" (/var/tmp/portage/drscheme-352/image/usr/lib/plt/collects/plot/compiled/native/i386-linux/libfit.so: cannot open shared object file: No such file or directory)
Should be fixed now in CVS.