View Issue Details

IDProjectCategoryView StatusLast Update
0002056Dwarf FortressGeneralpublic2010-06-09 06:45
Reporterrofl0r Assigned ToBaughn  
PrioritynormalSeveritytweakReproducibilityN/A
Status closedResolutionnot fixable 
PlatformLinux 
Summary0002056: Linux libs not linked statically
Descriptionsince in linux all compilers use the same object format, libraries can be linked statically instead of dynamically.

you just have to download the devel version of those libraries (this will give the .a libraries). these can then be linked statically, so everything is included in the binary, DLL-hell is minded, AND x64 users can also simply start the program without downloading all required 32 bit libraries.
Additional Informationhttp://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
TagsNo tags attached.

Activities

user6

2010-05-24 09:11

  ~0007285

Baughn: dunno what you want to do with this one.

Quietust

2010-05-24 12:07

reporter   ~0007290

The downside, of course, is that the binary will likely become significantly larger, as well as the usual downsides of not using dynamic linking.

Falldog

2010-05-25 02:01

reporter   ~0007319

Consider making one compiled statically for those "exotic" operating systems out there. A lot of time the generic "for all versions of unix" software is done with static libraries in order to give maximum compatibility.

Cubittus

2010-05-25 03:48

reporter   ~0007320

Please bear in mind the licence that these libraries are distributed under.

Many prohibit distribution of static linked binaries if they are not distributed under the same licence. E.g. with the LGPL it would require either open-sourcing the whole of DF, or distribution of the unlinked object files along with the binary.

See http://www.google.co.uk/search?q=lgpl+static+linking for many topics on this subject.

rofl0r

2010-05-25 04:37

reporter   ~0007321

Quietust: since ToadyOne distributes all the *.so files with the linux download (libs folder), the size of the download will get smaller, since only the needed parts of the library are linked to the binary

Baughn

2010-05-26 13:13

manager   ~0007351

I tried doing this. Didn't really work out.

A lot of libraries turned out to be system-specific adapters, and statically linking them would break DF on many non-toady systems. It's far better to have the distributors deal with the mess, overall.

Issue History

Date Modified Username Field Change
2010-05-24 02:03 rofl0r New Issue
2010-05-24 09:09 user6 Assigned To => Baughn
2010-05-24 09:09 user6 Status new => assigned
2010-05-24 09:11 user6 Note Added: 0007285
2010-05-24 12:07 Quietust Note Added: 0007290
2010-05-25 02:01 Falldog Note Added: 0007319
2010-05-25 03:48 Cubittus Note Added: 0007320
2010-05-25 04:37 rofl0r Note Added: 0007321
2010-05-26 13:13 Baughn Note Added: 0007351
2010-05-26 13:20 Baughn Status assigned => resolved
2010-05-26 13:20 Baughn Resolution open => not fixable
2010-06-09 06:45 Toady One Status resolved => closed