blob: 35aef5080b2ebb0fbc80273e1be1b45f6ce8ac48 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dependent library installation &mdash; singa 2.0.0 documentation</title>
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'2.0.0',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
opacity: 0.7;
}
.fab:hover {
opacity: 0.7;
}
</style>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> singa
<img src="../_static/singa.png" class="logo" alt="Logo"/>
</a>
<div class="version">
latest
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
</ul>
<p class="caption"><span class="caption-text">Community</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../community/source-repository.html">Source Repository</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/mail-lists.html">Project Mailing Lists</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/issue-tracking.html">Issue Tracking</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/team-list.html">The SINGA Team</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">singa</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li>Dependent library installation</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
--><div class="section" id="dependent-library-installation">
<h1>Dependent library installation<a class="headerlink" href="#dependent-library-installation" title="Permalink to this headline"></a></h1>
<div class="section" id="windows">
<h2>Windows<a class="headerlink" href="#windows" title="Permalink to this headline"></a></h2>
<p>This section is used to compile and install the dependent libraries under
windows system from source codes. The following instructions ONLY work for Visual Studio 2015 as
previous VS does not support <a class="reference external" href="https://msdn.microsoft.com/en-us/library/hh567368.aspx">C++11 features</a> well (including generic lambdas, auto, non-static
data member initializers). If you intend to generate a 32-bit/64-bit singa solution, please configure all the
VS projects for the dependent libraries as 32-bit/64-bit. This can be done by
&#8220;Configuration Manager&#8220; in VS 2015 or use corresponding generator in cmake. When compiling the following libraries, you
may get system-specific warnings/errors. Please fix them according to the
prompts by VS.</p>
<div class="section" id="google-logging">
<h3>Google Logging<a class="headerlink" href="#google-logging" title="Permalink to this headline"></a></h3>
<p>The glog library is an optional library for singa project. But it is currently necessary for Window compilation.
Since the latest release version of glog will encounter error C2084 on sprintf function
under VS2015, we test the compilation and installation using the master branch from <a class="reference external" href="https://github.com/google/glog">github</a>.</p>
<p>Step 1: Download and decompress the source code. Or use <code class="docutils literal"><span class="pre">git</span> <span class="pre">clone</span> <span class="pre">https://github.com/google/glog</span></code> to get the code.</p>
<p>Step 2: Open &#8220;glog.sln&#8220; file under project folder. You will get a conversion
dialog and please finish it by the prompts. Compile all the projects in the solution after
proper configuration, especially &#8220;libglog&#8220; and &#8220;libglog_static&#8220; projects.</p>
<p>Step 3: Copy all the header files and the entire directory named &#8220;glog&#8220; under
&#8220;src\windows&#8220; folder into the installation include folder (or system folder).
Copy all the generated library files into the installation library folder (or
system folder).</p>
<p>Step 4: Done.</p>
</div>
<div class="section" id="google-protobuf">
<h3>Google protobuf<a class="headerlink" href="#google-protobuf" title="Permalink to this headline"></a></h3>
<p>Tested on version 2.6.1:</p>
<p>Step 1: Download and decompress the source code.</p>
<p>Step 2: Open &#8220;protobuf.sln&#8220; file under &#8220;vsprojects&#8220; folder. You will get a conversion
dialog and please finish it by the prompts. Compile all the projects in the solution after proper
configuration. Especially &#8220;libprotobuf&#8220;, &#8220;libprotobuf-lite&#8220;, &#8220;libprotoc&#8220; and
&#8220;protoc&#8220; projects.</p>
<p>Step 3: Run &#8220;extract_includes.bat&#8220; script under &#8220;vsprojects&#8220; folder, you will
get a new &#8220;include&#8220; folder with all the headers.</p>
<p>Step 4: Copy the library files, such as &#8220;libprotobuf.lib&#8220;,
&#8220;libprotobuf-lite.lib&#8220;, &#8220;libprotoc.lib&#8220;, etc., into your installation library folder (or
system folder). Copy the binary file &#8220;protoc&#8220; into your installation binary
folder (or system folder). Copy all the headers and folders in &#8220;include&#8220; folder into your
installation include folder (or system folder).</p>
<p>Step 5: Done.</p>
</div>
<div class="section" id="cblas">
<h3>CBLAS<a class="headerlink" href="#cblas" title="Permalink to this headline"></a></h3>
<p>There are ready-to-use binary packages online
(<a class="reference external" href="https://sourceforge.net/projects/openblas/files/">link</a>). However, we still install
OpenBLAS with version 0.2.18 as test:</p>
<p>Step 1: Download and decompress the source code.</p>
<p>Step 2: Start a cmd window under the OpenBLAS folder then run the following
commands to generate the solution:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ md build $$ cd build
$ cmake -G &quot;Visual Studio 14&quot; ..
</pre></div>
</div>
<p>Or run <code class="docutils literal"><span class="pre">cmake</span> <span class="pre">-G</span> <span class="pre">&quot;Visual</span> <span class="pre">Studio</span> <span class="pre">14</span> <span class="pre">Win64&quot;</span></code> as you wish.</p>
<p>Step 3: Install Perl into your system and put perl.exe on your path. Open &#8220;OpenBlas.sln&#8220; and build the solution, especially &#8220;libopenblas&#8220;
project.</p>
<p>Step 4: Copy the library files under &#8220;build\lib&#8220; folder and all header files
under OpenBLAS folder into installation library and include folders (or system
folders).</p>
<p>Step 5: Done.</p>
</div>
</div>
<div class="section" id="faq">
<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline"></a></h2>
<ol>
<li><p class="first">Error C2375 &#8216;snprintf&#8216;: redefinition; different linkage</p>
<p>Add “HAVE_SNPRINTF” to “C/C++ - Preprocessor - Preprocessor definitions”</p>
</li>
<li><p class="first">Error due to hash map</p>
<p>Add &#8220;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS&#8220; to Preprocessor Definitions.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> singa </span>
v: latest
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
<dd><a href=".././index.html">English</a></dd>
<dd><a href=".././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
<dd><a href="http://singa.apache.org/v0.3.0/">0.3</a></dd>
<dd><a href="http://singa.apache.org/v1.1.0/">1.1</a></dd>
</dl>
</div>
<a href="http://www.apache.org"
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
<a href="http://www.apache.org/events/current-event"
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
<a href="http://www.apache.org/foundation/thanks.html"
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
<a href="http://www.apache.org/foundation/sponsorship.html"
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
<a href="http://www.apache.org/licenses/"
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
<br>
<a href="https://github.com/apache/singa" class="fa fa-github"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c"
class="fab fa-aws"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://www.linkedin.com/groups/13550034" class="fa fa-linkedin"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://twitter.com/ApacheSinga" class="fa fa-twitter"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://www.facebook.com/Apache-SINGA-347284219056544/" class="fa fa-facebook"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://www.researchgate.net/project/Apache-SINGA" class="fab fa-researchgate"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
</div>
<a href="https://github.com/apache/singa">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub">
</a>
</body>
</html>