quickstep-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From navsan <...@git.apache.org>
Subject [GitHub] incubator-quickstep pull request #13: Add option to build using shared libra...
Date Thu, 09 Jun 2016 00:20:06 GMT
GitHub user navsan opened a pull request:


    Add option to build using shared libraries.

    Modify the build process to allow optional use of shared libraries instead of the static
libraries we use today. The benefits are 
    - much smaller build directory size (I’m seeing < 5GB for release mode, as opposed
to the usual 40GB with static libs)
    - slightly faster build time (went from 18-20min to 14-15min on the CloudLab machine with
40 jobs)
    - reduced memory consumption (average memory consumption during build went from 12GB to
    To use this, just turn on the CMake flag BUILD_SHARED_LIBS. Currently, we don't support
the use of both shared and static libraries in the build, because that leads to some really
nasty bugs with the common third party libraries (GFlags, GLog, ProtoBuf) due to double-linking.

    All tests passed locally (both with the flag turned on and off). 
    Also, see the attached shell script [build.shared.sh.txt](https://github.com/apache/incubator-quickstep/files/305928/build.shared.sh.txt)
(renamed to .txt to attach to this PR). In a clean build directory, it runs the build commands,
outputs them to a log file with timestamps (so that we can profile the build process if we
want to), records the memory and cpu load statistics periodically, and computes the time taken
and the average memory consumption during the build.
    All of the changes in the commit are to do with linking to gflags library, since its name
depends on whether it's shared or static. 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/incubator-quickstep build_shared

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #13
commit 7eb9cf762f3c3ed926cc33f653bed4a868b2873c
Author: Navneet Potti <navsan@gmail.com>
Date:   2016-06-08T21:59:07Z

    Add option to build using shared libraries.

commit 520b4e0353c4675f9a9fc30d79da6fd7398c2496
Author: Navneet Potti <navsan@gmail.com>
Date:   2016-06-08T22:51:23Z

    Oops, missed a file


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message