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

Create GNU/Linux Player static build #502

Closed
fdelapena opened this issue Jun 17, 2015 · 4 comments
Closed

Create GNU/Linux Player static build #502

fdelapena opened this issue Jun 17, 2015 · 4 comments
Labels
Milestone

Comments

@fdelapena
Copy link
Contributor

As @Zegeri suggested, e.g. for easier pull request testing by downloading the generated binary.

Because the Autotools SDL2 static linking issue has been solved when creating the OS X build job (thanks @carstene1ns!), this will be easier to do.

@fdelapena fdelapena added this to the 0.3.1 milestone Jun 17, 2015
@carstene1ns
Copy link
Member

The question is: what should be included in the static build?

  • Only liblcf?
  • liblcf + expat + icu?
  • everything (like SDL, mixer, freetype, png, ogg...)

We should be aware that a static build (even with all libraries) can not run everywhere.

@Ghabry
Copy link
Member

Ghabry commented Jun 17, 2015

Isn't the purpose of a static build that it runs everywhere?

@fdelapena
Copy link
Contributor Author

Libraries have system specific calls, i.e. will require some minimum kernel version, minimum binary format version and such, but mostly glibc compatibility. Because of these limitations, it is not really 100% portable, but should work on not really old systems.

The goal is to run in most distros as possible for fast testing purposes (download the binary and run with ./easyrpg-player). Having OBS is nice but overwrites existing system wide version, which does not look nice for pull request binary tests as it will take some time to generate all packages.

Some tech rant:
When built with gcc, it should be compiled with -static -static-libstdc++ -static-libgcc and such.
Libtool may strip them when passed as ldflags, they can be passed in the CC env var.

@fdelapena
Copy link
Contributor Author

About the 32 bit static build: because 64 bit static builds are mostly OK for fast testing for us, what about delegating 32 bit builds to dynamic OBS packages (#499)? because a dedicated 32 bit toolchain for all libs in our server may not be worth to maintain (and disk space used matters).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants