| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Pegasus | Compile From Source</title> |
| <link rel="stylesheet" href="/assets/css/app.css"> |
| <link rel="shortcut icon" href="/assets/images/favicon.ico"> |
| <link rel="stylesheet" href="/assets/css/utilities.min.css"> |
| <link rel="stylesheet" href="/assets/css/docsearch.v3.css"> |
| <script src="/assets/js/jquery.min.js"></script> |
| <script src="/assets/js/all.min.js"></script> |
| <script src="/assets/js/docsearch.v3.js"></script> |
| <!-- Begin Jekyll SEO tag v2.8.0 --> |
| <title>Compile From Source | Pegasus</title> |
| <meta name="generator" content="Jekyll v4.3.2" /> |
| <meta property="og:title" content="Compile From Source" /> |
| <meta property="og:locale" content="en_US" /> |
| <meta name="description" content="Since 2.4.0, Pegasus supports to build both on Linux and macOS. Please don’t hesitate to contact us via Github Issues when you encountered any problem." /> |
| <meta property="og:description" content="Since 2.4.0, Pegasus supports to build both on Linux and macOS. Please don’t hesitate to contact us via Github Issues when you encountered any problem." /> |
| <meta property="og:site_name" content="Pegasus" /> |
| <meta property="og:type" content="article" /> |
| <meta property="article:published_time" content="2023-11-23T14:57:08+00:00" /> |
| <meta name="twitter:card" content="summary" /> |
| <meta property="twitter:title" content="Compile From Source" /> |
| <script type="application/ld+json"> |
| {"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-11-23T14:57:08+00:00","datePublished":"2023-11-23T14:57:08+00:00","description":"Since 2.4.0, Pegasus supports to build both on Linux and macOS. Please don’t hesitate to contact us via Github Issues when you encountered any problem.","headline":"Compile From Source","mainEntityOfPage":{"@type":"WebPage","@id":"/2.4.0/docs/build/compile-from-source/"},"url":"/2.4.0/docs/build/compile-from-source/"}</script> |
| <!-- End Jekyll SEO tag --> |
| </head> |
| |
| |
| <body> |
| <div class="dashboard is-full-height"> |
| <!-- left panel --> |
| <div class="dashboard-panel is-medium is-hidden-mobile pl-0"> |
| <div class="dashboard-panel-header has-text-centered"> |
| <a href="/"> |
| <img src="/assets/images/pegasus-logo-inv.png" style="width: 80%;"> |
| </a> |
| |
| <div class="dropdown pt-3 has-text-left"> |
| <div class="dropdown-trigger"> |
| <button class="button" aria-haspopup="true" aria-controls="dropdown-menu3"> |
| <span>2.4.0</span> |
| <span class="icon is-small"> |
| <i class="fas fa-angle-down" aria-hidden="true"></i> |
| </span> |
| </button> |
| </div> |
| <div class="dropdown-menu"> |
| <div class="dropdown-content"> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="2.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| master |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/2.4.02.4.0/docs/build/compile-from-source/" class="dropdown-item is-active"> |
| 2.4.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/2.3.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 2.3.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/2.2.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 2.2.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/2.1.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 2.1.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/2.0.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 2.0.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.12.32.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.12.3 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.12.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.12.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.11.62.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.11.6 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.11.32.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.11.3 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.10.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.10.0 |
| </a> |
| |
| |
| <!--URL of our latest version always starts without version prefixed.--> |
| |
| |
| |
| |
| <a href="/1.9.02.4.0/docs/build/compile-from-source/" class="dropdown-item "> |
| 1.9.0 |
| </a> |
| |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| <div class="dashboard-panel-main is-scrollable pl-6"> |
| |
| |
| <aside class="menu"> |
| |
| <p class="menu-label">The Pegasus documentation</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/docs/downloads" |
| class=""> |
| Downloads |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">Building Pegasus</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/docs/build/compile-by-docker" |
| class=""> |
| Compile by docker (recommended) |
| </a> |
| </li> |
| |
| <li> |
| <a href="/docs/build/compile-from-source" |
| class=""> |
| Compile from source |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">Client Libs</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/clients/java-client" |
| class=""> |
| Java Client |
| </a> |
| </li> |
| |
| <li> |
| <a href="/clients/cpp-client" |
| class=""> |
| C++ Client |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class=""> |
| Golang Client |
| </a> |
| </li> |
| |
| <li> |
| <a href="/clients/python-client" |
| class=""> |
| Python Client |
| </a> |
| </li> |
| |
| <li> |
| <a href="/clients/node-client" |
| class=""> |
| NodeJS Client |
| </a> |
| </li> |
| |
| <li> |
| <a href="/clients/scala-client" |
| class=""> |
| Scala Client |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">Tools</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/docs/tools/shell" |
| class=""> |
| Pegasus Shell |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class=""> |
| Admin CLI |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/pegic" |
| class=""> |
| Pegasus data access CLI |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">API</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/api/ttl" |
| class=""> |
| TTL(Time To Live) |
| </a> |
| </li> |
| |
| <li> |
| <a href="/api/single-atomic" |
| class=""> |
| Single-Atomic Operations |
| </a> |
| </li> |
| |
| <li> |
| <a href="/api/redis" |
| class=""> |
| Redis Adaption |
| </a> |
| </li> |
| |
| <li> |
| <a href="/api/geo" |
| class=""> |
| GEO Support |
| </a> |
| </li> |
| |
| <li> |
| <a href="/api/http" |
| class=""> |
| HTTP API |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">Admin</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/administration/deployment" |
| class=""> |
| Deployment |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/config" |
| class=""> |
| Configurations |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/rebalance" |
| class=""> |
| Rebalance |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/monitoring" |
| class=""> |
| Monitoring |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/rolling-update" |
| class=""> |
| Rolling-Update |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/scale-in-out" |
| class=""> |
| Scale-in and Scale-out |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/resource-management" |
| class=""> |
| Resource Management |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/cold-backup" |
| class=""> |
| Cold Backup |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/meta-recovery" |
| class=""> |
| Metadata Recovery |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/replica-recovery" |
| class=""> |
| Replica Data Recovery |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/zk-migration" |
| class=""> |
| Zookeeper Migration |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/table-migration" |
| class=""> |
| Table Migration |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/table-soft-delete" |
| class=""> |
| Table Soft-Delete |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/table-env" |
| class=""> |
| Table Environment Variables |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/remote-commands" |
| class=""> |
| Remote Command |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/partition-split" |
| class=""> |
| Partition-Split |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/duplication" |
| class=""> |
| Duplication |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/compression" |
| class=""> |
| Data Compression |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/throttling" |
| class=""> |
| Throttling |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/experiences" |
| class=""> |
| Experiences |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/manual-compact" |
| class=""> |
| Manual Compact |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/usage-scenario" |
| class=""> |
| Usage Scenario |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/bad-disk" |
| class=""> |
| Bad Disk Repair |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/whitelist" |
| class=""> |
| Whitelist |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/backup-request" |
| class=""> |
| Backup Request |
| </a> |
| </li> |
| |
| <li> |
| <a href="/administration/hotspot-detection" |
| class=""> |
| Hotspot Detection |
| </a> |
| </li> |
| |
| </ul> |
| |
| </aside> |
| </div> |
| </div> |
| |
| <!-- main section --> |
| <div class="dashboard-main is-scrollable"> |
| <nav class="navbar is-hidden-desktop"> |
| <div class="navbar-brand"> |
| <a href="/" class="navbar-item"> |
| <!-- Pegasus Icon --> |
| <img src="/assets/images/pegasus-square.png"> |
| </a> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <a class="button is-light is-outlined is-inverted" href="/zh/2.4.0/docs/build/compile-from-source/"><strong>中</strong></a> |
| |
| </div> |
| <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu"> |
| <!-- Appears in mobile mode only --> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| </a> |
| </div> |
| <div class="navbar-menu" id="navMenu"> |
| <div class="navbar-end"> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| The Pegasus documentation |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/docs/downloads" |
| class="navbar-item "> |
| Downloads |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Building Pegasus |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/docs/build/compile-by-docker" |
| class="navbar-item "> |
| Compile by docker (recommended) |
| </a> |
| |
| <a href="/docs/build/compile-from-source" |
| class="navbar-item "> |
| Compile from source |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Client Libs |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/clients/java-client" |
| class="navbar-item "> |
| Java Client |
| </a> |
| |
| <a href="/clients/cpp-client" |
| class="navbar-item "> |
| C++ Client |
| </a> |
| |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class="navbar-item "> |
| Golang Client |
| </a> |
| |
| <a href="/clients/python-client" |
| class="navbar-item "> |
| Python Client |
| </a> |
| |
| <a href="/clients/node-client" |
| class="navbar-item "> |
| NodeJS Client |
| </a> |
| |
| <a href="/clients/scala-client" |
| class="navbar-item "> |
| Scala Client |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Tools |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/docs/tools/shell" |
| class="navbar-item "> |
| Pegasus Shell |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class="navbar-item "> |
| Admin CLI |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/pegic" |
| class="navbar-item "> |
| Pegasus data access CLI |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| API |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/api/ttl" |
| class="navbar-item "> |
| TTL(Time To Live) |
| </a> |
| |
| <a href="/api/single-atomic" |
| class="navbar-item "> |
| Single-Atomic Operations |
| </a> |
| |
| <a href="/api/redis" |
| class="navbar-item "> |
| Redis Adaption |
| </a> |
| |
| <a href="/api/geo" |
| class="navbar-item "> |
| GEO Support |
| </a> |
| |
| <a href="/api/http" |
| class="navbar-item "> |
| HTTP API |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Admin |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/administration/deployment" |
| class="navbar-item "> |
| Deployment |
| </a> |
| |
| <a href="/administration/config" |
| class="navbar-item "> |
| Configurations |
| </a> |
| |
| <a href="/administration/rebalance" |
| class="navbar-item "> |
| Rebalance |
| </a> |
| |
| <a href="/administration/monitoring" |
| class="navbar-item "> |
| Monitoring |
| </a> |
| |
| <a href="/administration/rolling-update" |
| class="navbar-item "> |
| Rolling-Update |
| </a> |
| |
| <a href="/administration/scale-in-out" |
| class="navbar-item "> |
| Scale-in and Scale-out |
| </a> |
| |
| <a href="/administration/resource-management" |
| class="navbar-item "> |
| Resource Management |
| </a> |
| |
| <a href="/administration/cold-backup" |
| class="navbar-item "> |
| Cold Backup |
| </a> |
| |
| <a href="/administration/meta-recovery" |
| class="navbar-item "> |
| Metadata Recovery |
| </a> |
| |
| <a href="/administration/replica-recovery" |
| class="navbar-item "> |
| Replica Data Recovery |
| </a> |
| |
| <a href="/administration/zk-migration" |
| class="navbar-item "> |
| Zookeeper Migration |
| </a> |
| |
| <a href="/administration/table-migration" |
| class="navbar-item "> |
| Table Migration |
| </a> |
| |
| <a href="/administration/table-soft-delete" |
| class="navbar-item "> |
| Table Soft-Delete |
| </a> |
| |
| <a href="/administration/table-env" |
| class="navbar-item "> |
| Table Environment Variables |
| </a> |
| |
| <a href="/administration/remote-commands" |
| class="navbar-item "> |
| Remote Command |
| </a> |
| |
| <a href="/administration/partition-split" |
| class="navbar-item "> |
| Partition-Split |
| </a> |
| |
| <a href="/administration/duplication" |
| class="navbar-item "> |
| Duplication |
| </a> |
| |
| <a href="/administration/compression" |
| class="navbar-item "> |
| Data Compression |
| </a> |
| |
| <a href="/administration/throttling" |
| class="navbar-item "> |
| Throttling |
| </a> |
| |
| <a href="/administration/experiences" |
| class="navbar-item "> |
| Experiences |
| </a> |
| |
| <a href="/administration/manual-compact" |
| class="navbar-item "> |
| Manual Compact |
| </a> |
| |
| <a href="/administration/usage-scenario" |
| class="navbar-item "> |
| Usage Scenario |
| </a> |
| |
| <a href="/administration/bad-disk" |
| class="navbar-item "> |
| Bad Disk Repair |
| </a> |
| |
| <a href="/administration/whitelist" |
| class="navbar-item "> |
| Whitelist |
| </a> |
| |
| <a href="/administration/backup-request" |
| class="navbar-item "> |
| Backup Request |
| </a> |
| |
| <a href="/administration/hotspot-detection" |
| class="navbar-item "> |
| Hotspot Detection |
| </a> |
| |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <nav class="navbar is-hidden-mobile"> |
| <div class="navbar-start w-full"> |
| <div class="navbar-item pl-0 w-full"> |
| <!--TODO(wutao): Given the limitation of docsearch that couldn't handle multiple input, |
| I make searchbox only shown in desktop. Fix this issue when docsearch.js v3 released. |
| Related issue: https://github.com/algolia/docsearch/issues/230--> |
| <div id="docsearch"></div> |
| </div> |
| </div> |
| <div class="navbar-end"> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <a class="button is-light is-outlined is-inverted" href="/zh/2.4.0/docs/build/compile-from-source/"><strong>中</strong></a> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section class="hero is-info lg:mr-3"> |
| <div class="hero-body"> |
| |
| <p class="title is-size-2 is-centered">Compile from source</p> |
| </div> |
| </section> |
| <section class="section" style="padding-top: 2rem;"> |
| <div class="content"> |
| <p>Since 2.4.0, Pegasus supports to build both on Linux and macOS. Please don’t hesitate to contact us via <a href="https://github.com/apache/incubator-pegasus/issues">Github Issues</a> when you encountered any problem.</p> |
| |
| <h2 id="requirements">Requirements</h2> |
| |
| <ul> |
| <li>GCC 5+</li> |
| <li>CMake 3.11+</li> |
| </ul> |
| |
| <h2 id="ubuntu-environment">Ubuntu environment</h2> |
| |
| <p>You can refer to the docker image <a href="https://github.com/apache/incubator-pegasus/blob/v2.4/docker/pegasus-build-env/ubuntu2004/Dockerfile">pegasus-build-dev/ubuntu20.04</a> to install all dependencies.</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt-get update <span class="nt">-y</span><span class="p">;</span> <span class="se">\</span> |
| apt-get <span class="nb">install</span> <span class="nt">-y</span> <span class="nt">--no-install-recommends</span> <span class="se">\</span> |
| build-essential <span class="se">\</span> |
| software-properties-common <span class="se">\</span> |
| clang-10 <span class="se">\</span> |
| openjdk-8-jdk <span class="se">\</span> |
| python3-pip <span class="se">\</span> |
| libaio-dev <span class="se">\</span> |
| libsnappy-dev <span class="se">\</span> |
| libbz2-dev <span class="se">\</span> |
| libzstd-dev <span class="se">\</span> |
| liblz4-dev <span class="se">\</span> |
| zlib1g <span class="se">\</span> |
| zlib1g.dev <span class="se">\</span> |
| patch <span class="se">\</span> |
| netcat <span class="se">\</span> |
| wget <span class="se">\</span> |
| ccache <span class="se">\</span> |
| git <span class="se">\</span> |
| curl <span class="se">\</span> |
| zip <span class="se">\</span> |
| unzip <span class="se">\</span> |
| gdb <span class="se">\</span> |
| vim <span class="se">\</span> |
| automake <span class="se">\</span> |
| libtool <span class="se">\</span> |
| libssl-dev <span class="se">\</span> |
| bison <span class="se">\</span> |
| maven <span class="se">\</span> |
| flex<span class="p">;</span> |
| |
| pip3 <span class="nb">install</span> <span class="nt">--no-cache-dir</span> cmake |
| </code></pre></div></div> |
| |
| <h2 id="centos-environment">CentOS environment</h2> |
| |
| <p>You can refer to the docker image <a href="https://github.com/apache/incubator-pegasus/blob/v2.4/docker/pegasus-build-env/centos7/Dockerfile">pegasus-build-dev/centos7</a> to install all dependencies.</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>yum <span class="nt">-y</span> <span class="nb">install </span>centos-release-scl <span class="se">\</span> |
| scl-utils <span class="se">\</span> |
| epel-release<span class="p">;</span> <span class="se">\</span> |
| yum <span class="nt">-y</span> <span class="nb">install </span>devtoolset-7-gcc <span class="se">\</span> |
| devtoolset-7-gcc-c++ <span class="se">\</span> |
| java-1.8.0-openjdk-devel.x86_64 <span class="se">\</span> |
| python3 <span class="se">\</span> |
| automake <span class="se">\</span> |
| autoconf <span class="se">\</span> |
| make <span class="se">\</span> |
| libtool <span class="se">\</span> |
| git <span class="se">\</span> |
| file <span class="se">\</span> |
| wget <span class="se">\</span> |
| ccache <span class="se">\</span> |
| nmap-ncat <span class="se">\</span> |
| zip <span class="se">\</span> |
| gdb <span class="se">\</span> |
| vim <span class="se">\</span> |
| unzip <span class="se">\</span> |
| which <span class="se">\</span> |
| openssl-devel <span class="se">\</span> |
| libaio-devel <span class="se">\</span> |
| snappy-devel <span class="se">\</span> |
| bzip2-devel <span class="se">\</span> |
| zlib <span class="se">\</span> |
| zlib-devel <span class="se">\</span> |
| libzstd-devel <span class="se">\</span> |
| lz4-devel <span class="se">\</span> |
| bison <span class="se">\</span> |
| flex <span class="se">\</span> |
| patch<span class="p">;</span> |
| |
| pip3 <span class="nb">install</span> <span class="nt">--no-cache-dir</span> cmake |
| </code></pre></div></div> |
| |
| <h2 id="compilation">Compilation</h2> |
| |
| <p>Firstly, make sure:</p> |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">maven</code> has been installed correctly and added to <code class="language-plaintext highlighter-rouge">PATH</code></li> |
| <li><code class="language-plaintext highlighter-rouge">devtoolset-7</code> has been added to <code class="language-plaintext highlighter-rouge">PATH</code></li> |
| <li><code class="language-plaintext highlighter-rouge">JAVA_HOME</code> has been set correctly</li> |
| </ul> |
| |
| <p>Please refer to <a href="/docs/downloads">Downloads</a> to fetch the sources。</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh build <span class="nt">-c</span> |
| </code></pre></div></div> |
| |
| <p>The output of compilation will be placed under <code class="language-plaintext highlighter-rouge">DSN_ROOT</code> of the source directory. It includes <code class="language-plaintext highlighter-rouge">bin</code>, <code class="language-plaintext highlighter-rouge">include</code> and <code class="language-plaintext highlighter-rouge">lib</code>.</p> |
| |
| <h2 id="packaging">Packaging</h2> |
| |
| <p>Package server binaries for deployment:</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh pack_server |
| </code></pre></div></div> |
| |
| <p>Package client libraries for C/C++ development:</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh pack_client |
| </code></pre></div></div> |
| |
| <p>Package toolset which includes various tools (shell, bench):</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh pack_tools |
| </code></pre></div></div> |
| |
| <p>If this is your first time compiling Pegasus, it’s recommended to try <a href="/overview/onebox">onebox</a>.</p> |
| |
| </div> |
| </section> |
| <footer class="footer"> |
| <div class="container"> |
| <div class="content is-small has-text-centered"> |
| <div style="margin-bottom: 20px;"> |
| <a href="http://incubator.apache.org"> |
| <img src="/assets/images/egg-logo.png" |
| width="15%" |
| alt="Apache Incubator"/> |
| </a> |
| </div> |
| Copyright © 2023 <a href="http://www.apache.org">The Apache Software Foundation</a>. |
| Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version |
| 2.0</a>. |
| <br><br> |
| |
| Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF), |
| sponsored by the Apache Incubator. Incubation is required of all newly accepted projects |
| until a further review indicates that the infrastructure, communications, and decision making process |
| have stabilized in a manner consistent with other successful ASF projects. While incubation status is |
| not necessarily a reflection of the completeness or stability of the code, it does indicate that the |
| project has yet to be fully endorsed by the ASF. |
| |
| <br><br> |
| Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either |
| registered trademarks or trademarks of The Apache Software Foundation in the United States and other |
| countries. |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <!-- right panel --> |
| <div class="dashboard-panel is-small is-scrollable is-hidden-mobile"> |
| <p class="menu-label"> |
| <span class="icon"> |
| <i class="fa fa-bars" aria-hidden="true"></i> |
| </span> |
| Table of contents |
| </p> |
| <ul class="menu-list"> |
| <li><a href="#requirements">Requirements</a></li> |
| <li><a href="#ubuntu-environment">Ubuntu environment</a></li> |
| <li><a href="#centos-environment">CentOS environment</a></li> |
| <li><a href="#compilation">Compilation</a></li> |
| <li><a href="#packaging">Packaging</a></li> |
| </ul> |
| |
| </div> |
| </div> |
| |
| <script src="/assets/js/app.js" type="text/javascript"></script> |
| <script> |
| docsearch({ |
| container: '#docsearch', |
| appId: 'QRN30RBW0S', |
| indexName: 'pegasus-apache', |
| apiKey: 'd3a3252fa344359766707a106c4ed88f', |
| debug: true |
| }); |
| </script> |
| |
| </body> |
| |
| </html> |