tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

rpath Issue with textproc/xmlada deeper than it appears



The textproc/xmlada package is embedding an rpath pointing at the wrkdir in it's libraries. There's no problem for packages dependent on it to use because they can find the package without the rpath, and because "/usr/pkg/lib" is a fallback directory on the rpath.

I haven't been able to override this, so after talking with Adacore and looking at the compiler code, I've determined the gnat is not familiar with the concept of "destdir" and it's hardcoding the paths of the libraries at buildtime without possibility of (A) not using RPATH, (B) assigning user-specified rpath, or (C) use of $ORIGIN.

There was suggested a nasty hack which would have resulted in a fake rpath to /tmp, but it appears the real fix for this is to modify the behavior of the compiler.

Right now, I'm leaning to using $ORIGIN. Does NetBSD properly support this? DragonFly didn't as recently as 2.10 release, but I think that means 2.10 and below that any path using $ORIGIN would be equivalent to not be defined at all.

I'd also like to add the option to skip rpath altogether (there's a gnatlink switch for this), and then open a report to Adacore to hopefully inspire an upstream fix.

Luckily gcc 4.6.2 was just released, so I was about to update the compiler anyway.

John




Home | Main Index | Thread Index | Old Index