Repository: incubator-singa Updated Branches: refs/heads/master dc7f1996d -> b0b41f877
SINGA-68 Preparation for Release Fixed typos in README.md Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/b0b41f87 Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/b0b41f87 Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/b0b41f87 Branch: refs/heads/master Commit: b0b41f877869a026cf737e4ccd2398a842a94d50 Parents: dc7f199 Author: Anh Dinh <[email protected]> Authored: Wed Oct 7 15:17:31 2015 +0800 Committer: Anh Dinh <[email protected]> Committed: Wed Oct 7 15:36:18 2015 +0800 ---------------------------------------------------------------------- README.md | 92 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 45 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/b0b41f87/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index 9a81402..452d938 100644 --- a/README.md +++ b/README.md @@ -11,21 +11,22 @@ All the details can be found in [Project Website](http://singa.incubator.apache. * [Development Mailing List](mailto:[email protected])([Archive](http://mail-archives.apache.org/mod_mbox/singa-dev/)) * [Commits Mailing List](mailto:[email protected])([Archive](http://mail-archives.apache.org/mod_mbox/singa-commits/)) +<a name="Dependencies"</a> ##Dependencies The current code depends on the following external libraries: - * glog (New BSD) - * google-protobuf (New BSD) - * openblas (New BSD) - * zeromq (LGPLv3 + static link exception) - * czmq (Mozilla Public License Version 2.0) - * zookeeper (Apache 2.0) + * `glog` (New BSD) + * `google-protobuf` (New BSD) + * `openblas` (New BSD) + * `zeromq` (LGPLv3 + static link exception) + * `czmq` (Mozilla Public License Version 2.0) + * `zookeeper` (Apache 2.0) -You can install all dependencies into $PREFIX folder by +You can install all dependencies into `$PREFIX` folder by ./thirdparty/install.sh all $PREFIX -If $PREFIX is not a system path (e.g., /usr/local/), please export the following +If `$PREFIX` is not a system path (e.g., `/usr/local/`), please export the following variables to continue the building instructions, $ export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH @@ -39,11 +40,13 @@ Full documentation is available online at [Official Documentation](https://singa ##Building SINGA -Please make sure you have g++ >= 4.8.1 before building SINGA. +Please make sure you have `g++ >= 4.8.1` before building SINGA. $ ./autogen.sh (optional) - $ ./configure #refer to the FAQs below for errors during this step, including blas_segmm() function error. - $ make #refer to the FAQs when encountering errors during this step. + # refer to the FAQs below for errors during configure, including blas_segmm() error + $ ./configure + # refer to the FAQs below for error during make + $ make ##Running Examples @@ -59,8 +62,8 @@ First, download the dataset and create data shards: $ make download $ make create -If it reports errors due to library missing, e.g., libopenblas.so or libprotobuf, -please export the environment variables shown in the Dependencies section and +If it reports errors due to library missing, e.g., `libopenblas` or `libprotobuf`, +please export the environment variables shown in the [Dependencies](#Dependencies) section and continue with the following instructions, # delete the newly created folders @@ -79,16 +82,15 @@ Now we just need to wait until it is done! Apache SINGA is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). -For additional information, see the LICENSE and NOTICE files. +For additional information, see the `LICENSE` and `NOTICE` files. ## FAQ * Q1:I get error `./configure --> cannot find blas_segmm() function` even I -have installed OpenBLAS. +have installed `OpenBLAS`. - A1: This means the compiler cannot find the `OpenBLAS` library. If you have installed OpenBLAS via `apt-get install`, - then export the path to $LD_LIBRARY_PATH (e.g. /usr/lib/openblas-base). If you installed it with - `./thirdparty/install.sh`, then export the corret path based on $PREFIX (e.g. /opt/OpenBLAS/lib): + A1: This means the compiler cannot find the `OpenBLAS` library. If you have installed `OpenBLAS` via `apt-get install`, then export the path to `$LD_LIBRARY_PATH` (e.g. `/usr/lib/openblas-base`). If you installed it with + `./thirdparty/install.sh`, then export the correct path based on `$PREFIX` (e.g. `/opt/OpenBLAS/lib`): # using apt-get install for openblas $ export LIBRARY_PATH=$PATH_TO_OPENBLAS_LIB:$LIBRARY_PATH @@ -99,7 +101,7 @@ have installed OpenBLAS. * Q2: I get error `cblas.h no such file or directory exists`. - Q2: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH, + A2: You need to include the folder containing `cblas.h` into `$CPLUS_INCLUDE_PATH`, e.g., $ export CPLUS_INCLUDE_PATH=$PREFIX/include:$CPLUS_INCLUDE_PATH @@ -110,56 +112,56 @@ have installed OpenBLAS. $ make -* Q3:While compiling SINGA, I get error `SSE2 instruction set not enabled` +* Q3: When compiling, I get error `SSE2 instruction set not enabled` - A3:You can try following command: + A3: You can try following command: $ make CFLAGS='-msse2' CXXFLAGS='-msse2' -* Q4:I get `ImportError: cannot import name enum_type_wrapper` from -google.protobuf.internal when I try to import .py files. +* Q4: I get `ImportError: cannot import name enum_type_wrapper` from +`google.protobuf.internal` when I try to import `.py` files. - A4:After install google protobuf by `make install`, we should install python - runtime libraries. Go to protobuf source directory, run: + A4: After installing `protobuf` by `make install`, we should install `python` + runtime libraries. Go to `protobuf` source directory, run: $ cd /PROTOBUF/SOURCE/FOLDER $ cd python $ python setup.py build $ python setup.py install - You may need `sudo` when you try to install python runtime libraries in + You may need `sudo` when you try to install `python` runtime libraries in the system folder. -* Q5: I get a linking error caused by gflags. +* Q5: I get a linking error caused by `gflags`. - A5: SINGA does not depend on gflags. But you may have installed the glog with - gflags. In that case you can reinstall glog using *thirdparty/install.sh* into - a another folder and export the LDFLAGS and CPPFLAGS to include that folder. + A5: SINGA does not depend on `gflags`. But you may have installed the `glog` with + `gflags`. In that case you can reinstall `glog` using `thirdparty/install.sh` into + a another folder and export the `$LDFLAGS` and `$CPPFLAGS` to include that folder. * Q6: While compiling SINGA and installing `glog` on mac OS X, I get fatal error `'ext/slist' file not found` - A6:Please install `glog` individually and try : + A6: Please install `glog` individually and try : $ make CFLAGS='-stdlib=libstdc++' CXXFLAGS='stdlib=libstdc++' -* Q7: When I start a training job, it reports error related with "ZOO_ERROR...zk retcode=-4...". +* Q7: When I start a training job, it reports error related to `ZOO_ERROR...zk retcode=-4...`. - A7: This is because the zookeeper is not started. Please start the zookeeper service + A7: This is because `zookeeper` is not started. Please start the service $ ./bin/zk-service start - If the error still exists, probably that you do not have java. You can simple + If the error still exists, probably that you do not have `java`. You can simple check it by $ java --version -* Q8: When I build OpenBLAS from source, I am told that I need a fortran compiler. +* Q8: When I build `OpenBLAS` from source, I am told that I need a fortran compiler. - A8: You can compile OpenBLAS by + A8: You can compile `OpenBLAS` by $ make ONLY_CBLAS=1 @@ -173,21 +175,21 @@ google.protobuf.internal when I try to import .py files. It is worth noting that you need root access to run the last two commands. Remember to set the environment variables to include the header and library - paths of OpenBLAS after installation (please refer to the Dependencies section). + paths of `OpenBLAS` after installation (please refer to the [Dependencies](#Dependencies) section). -* Q9: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6. +* Q9: When I build protocol buffer, it reports that `GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6`. - A9: This means the linker found libstdc++.so.6 but that library - belongs to an older version of GCC than was used to compile and link the + A9: This means the linker found `libstdc++.so.6` but that library + belongs to an older version of `GCC` than was used to compile and link the program. The program depends on code defined in - the newer libstdc++ that belongs to the newer version of GCC, so the linker - must be told how to find the newer libstdc++ shared library. - The simplest way to fix this is to find the correct libstdc++ and export it to - LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the + the newer `libstdc++` that belongs to the newer version of GCC, so the linker + must be told how to find the newer `libstdc++` shared library. + The simplest way to fix this is to find the correct `libstdc++` and export it to + `$LD_LIBRARY_PATH`. For example, if `GLIBC++_3.4.20` is listed in the output of the following command, $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++ - then you just set your environment variable as + then just set your environment variable as $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
