Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian multiarch compatibility #122

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Debian multiarch compatibility #122

wants to merge 2 commits into from

Conversation

rdebath
Copy link

@rdebath rdebath commented Sep 19, 2015

Two commits here, the first is the multiarch updates you requested.
Unfortunately I ran into a bit of a problem, it seems that the clang-dev and llvm-dev packages aren't actually multarch aware yet (for "jessie"). Nevertheless, as all except the final link works correctly I expect it will happen quickly after the packager decides that it needs doing "now".

The result is that it should compile using "make TARGET_ARCH=-m64" as soon as the libraries become available, but right now the only completely tested part of these changes is actually running the 64bit executable on a, mostly, 32bit system. (which now works correctly for all your tests)

The second commit is a minor tidy-up of the .gitignore files.

Includes changes that mean the x86_64 compile will correctly run on a
32bit system with suitable library and kernel support.

If you have a multiarch aware llvm-dev and clang-dev the Makefile changes
will allow you to build Terra on a mostly 32bit host using:

    make TARGET_ARCH=-m64

The robustness of the Makefile has also been improved slightly so that
a compile that is started on a 32bit environment without the required
setup should fail early enough so it does not require a "make purge"
to successfully complete a 64bit compile.

To run the 64bit application on a 32bit user space you can use multiarch,
but you actually only need "gcc-multilib".

The 32bit packages needed to run terra can be installed using the
Debian/Ubuntu packages:

    apt-get install gcc-multilib lib64ncurses5 lib64z1

Note: Running 64bit applications on a 32bit system also requires that
the kernel be the "amd64" variant.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant