Changes between Version 32 and Version 33 of CompileApp


Ignore:
Timestamp:
Sep 18, 2008, 12:11:01 PM (16 years ago)
Author:
evandro
Comment:

Avoid GCC library dependency.

Legend:

Unmodified
Added
Removed
Modified
  • CompileApp

    v32 v33  
    158158== Linux/x86 ==
    159159
    160 If you build an application on a recent Linux distribution, it won't run on older Linux distributions because of library incompatibilities. The only solution we've discovered is to build applications on a host with an old Linux and an old gcc. Setting up such a host, however, is a giant pain.
     160If you build an application on a recent Linux distribution, it won't run on older Linux distributions because of library incompatibilities. The only solution we've discovered is to build applications on a host with an old Linux and an old GCC. Setting up such a host, however, is a giant pain.
    161161
    162162Our recommended approach is not to build directly on a Linux host, but rather:
     
    167167Virtual PC 2007 runs also on earlier verisons of Windows. Should we skip 2004 and write only about 2007? --Simek
    168168}}}
    169  * Download the [VmCompatibility Compatibility] virtual machine module. This is a Debian Linux system with the appropriate (old) version of gcc.
     169 * Download the [VmCompatibility Compatibility] virtual machine module. This is a Debian Linux system with the appropriate (old) version of GCC.
    170170 * Run this system under Virtual PC.
    171171 * Install the [SourceCode stable server code] on the virtual host.
    172  * Build the BOINC libraries: go to the 'boinc' directory and type
     172 * Build the BOINC libraries by going to the 'boinc' directory and typing:
    173173{{{
    174174_autosetup
    175 ./configure --disable-client --disable-server
     175LDFLAGS=-static-libgcc ./configure --disable-client --disable-server
    176176make
    177177}}}
     178 For x86-64 builds, it's possible to take SSE2 for granted, as long as GCC is version 4.0 or later, then type:
     179{{{
     180_autosetup
     181LDFLAGS=-static-libgcc CFLAGS=-ftree-vectorize CXXFLAGS=-ftree-vectorize ./configure --disable-client --disable-server
     182make
     183}}}
    178184
    179185 Do not 'make install'.
    180  * go to the boinc/samples/example_app directory and type
     186 * Go to the boinc/samples/example_app directory and type:
    181187{{{
    182188ln -s `g++ -print-file-name=libstdc++.a`