Re: [gnome-db] datarootdir



On 28 May 2010 10:01, Piotr Pokora <piotrek pokora gmail com> wrote:
> Hi!
>
>> Thanks for the attachments. I guess the problem is related to the
>> binary relocation feature incorporated in Libgda (which allows one to
>> compile and install with a prefix and the move the whole installation
>> to another directory as is often done on Windows and MacOSX's
>> bundles).
>
> Couldn't gda just search for these files in couple of directories?
>
>  * current_directory/dtd
>  * set_by_env_directory/dtd
>  * home/.gda/dtd
>  * prefix/datadir/dtd

It could of course be done (looking into source directory could be a
good option as it would allow execution without installation), but
doing so also makes it harder when testing to see what is actually
used...

Anyway, the problem here is different for each architecture:
* On Windows there is an API which tells you the full path of the
library file (.dll), which is good
* On Linux, the binreloc trick (libgda/binreloc/binreloc.[ch]) also
does the trick
* On MacOSX, the full path which can be obtained if the full patn of
*executable* using the library (which is the reason there is a problem
in the first place as here the executable is not installed in the same
location as the library itself).
* On other unixes, there is AFAIK no relocation possibility, but it's
not really a problem since they don't provide tools which support
relocation

So the only real problem here is how to handle things on MacOSX's. I
think the best is probably indeed to test several paths until one is
found and return that one. This is what I'll do when Alexey confirms
the current patch works as expected.

Vivien


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]