Roots wrote:I believe it is because otherwise the two libraries use different versions of libc.
They both use libc6. Both the version in the debian repository and anything that compiles on my system. I only have one version of libc. Not saying I have a better answer though. Unless I am mistaken, various versions of g++ should be compatable (since 3.4, at least).
The released allacrost debian binary works with the official debian libluabind0. However, when I compile allacrost myself, I also have to compile libluabind0 myself, or else it will segfault. I can't use the released allacrost debian binary with my custom built libluabind0, or else, again, it will segfault, even though they both use the same libc and libstdc++.
I didn't even know that you had your own version of libluabind0 in your repository. I checked, and that is not the one that I installed. I installed the official debian version. It has a slightly higher version number.
It is not as simple as I had believed, and I never thought this was simple. I just recompiled allacrost using g++-4.1. It still segfaults with the debian libluabind0. It works fine with libluabind0 compiled with g++-4.2.
These are the combinations that work, so far:
official allacrost debian binary : libluabind0 binary from debian repo
latest svn allacrost (compiled with g++-4.1 or g++-4.2) : locally compiled libluabind0 from debian repo source.
I'll try to narrow it down bit more.
I just tested a theory, and it seems that it is true. I compiled libluabind0 from the debian repo source, using both g++-4.1 and g++-4.2. It does not matter which I use. They both allow a locally compiled allacrost to run, but fail when I run the official allacrost debian binary. When I use the official libluabind0 binary, then the official allacrost binary will run, but neither a locally compiled latest svn, or svn858 (allacrost release version from June) will run. svn and svn858, locally compiled, will run with a locally compiled version of libluabind0.
Conclusion thus far: libluabind0 and allacrost must be compiled on the same machine. I don't know why yet. I have ruled out g++ version, and a I have ruled out a difference in allacrost between 0.2.0 and latest svn.
I had another theory. I thought that Roots might be right about using different libc6 versions. However, the debian binary is compiled with libc6-dev 2.6.1-1+b1. According to my install logs, I installed that exact same version of libc6 and libc6-dev in August, one month before I discovered allacrost, and I am still using that version today. Here is the debian build log
On the other hand, perhaps it is a problem with compiling with differing libstdc++ versions? It appears that the build machine had a differing run-time and dev versions of libstdc++. I've added a comment to the related debian bug report