I am trying to understand what level of binary compatibility I can expect if
I use Poly/ML to create an executable by exporting a function which calls
PolyML.rootFunction to give the users a Poly/ML interactive session. The
users will then update the Poly/ML state, save it and reload it in later
sessions using the functions in PolyML.SaveState. They will also load state
files prebuilt for them.
If I build the executable on system A and create some saved state files there,
how like A does some other system B have to be for the executable and the
saved state files to work on B? I am concerned both about the compatibility
for the saved state files and for the shared object files libpolyml.so and
libpolymain.so. I understand QinetiQ have no problems moving between systems
with Intel hardware and recent-ish slackware and Fedora operating systems.
Would the same files work on my Intel Mac?
On a related topic: I have had no success trying to link polyml statically. I
I use -Wl,-Bstatic -lpolymain -lpolyml -Wl,-Bdynamic on the command line, I
get screeds of undefined reference messages. Is static linking an option to
build a binary that can be run without installing Poly/ML? If so, how do I do
it?
Regards,
Rob.