Build is incompatible with some packaging systems
Currently (versions 1.2.0-preview and earlier) the Rosie CLI and librosie
find the files they need by looking in a directory that is compiled in.
So the install location (e.g. /usr/local
) has to be known at build time, which will break build systems that execute the build in a temporary directory and later allow the compiled files to be installed wherever the user wants them.
A better approach would be for the CLI and librosie
to dynamically (at run time) find the directory where they themselves reside, and then look in ../lib/rosie
for other needed files. E.g. if librosie.so
is in /usr/local/lib
, then other needed files will be in /usr/local/lib/../lib/rosie
, i.e. /usr/local/lib/rosie
.
Similarly, if the rosie CLI is in /home/foobar/bin
, then the rest of the installation should be found in /home/foobar/bin/../lib/rosie
, i.e. /home/foobar/lib/rosie
. While this looks odd in the home directory case, the executable in /home/foobar/bin
could be a link to /opt
or to /usr/local/Cellar
or somewhere else.