Mercurial > hg > orthanc
annotate LinuxCompilation.txt @ 5501:8b96d1d17831
fix version test
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 24 Jan 2024 16:50:21 +0100 |
parents | 59e3b6f8c5be |
children |
rev | line source |
---|---|
634 | 1 This file is a complement to "INSTALL", which contains instructions |
2086 | 2 that are specific to GNU/Linux. |
634 | 3 |
4 | |
2086 | 5 Static linking for GNU/Linux |
6 ============================ | |
634 | 7 |
2086 | 8 The most simple way of building Orthanc under GNU/Linux consists in |
634 | 9 statically linking against all the third-party dependencies. In this |
10 case, the system-wide libraries will not be used. The build tool | |
11 (CMake) will download the sources of all the required packages and | |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
12 automatically compile them. |
634 | 13 |
2086 | 14 This process should work on any GNU/Linux distribution, provided that a |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
15 C/C++ compiler ("build-essential" in Debian-based systems), the Python |
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
16 interpreter, CMake, the "unzip" system tool, and the development |
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
17 package for libuuid ("uuid-dev" in Debian) are installed. |
936
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
875
diff
changeset
|
18 |
634 | 19 |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
20 We now make the assumption that Orthanc source code is placed in the |
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
21 folder "~/Orthanc" and that the binaries will be compiled to |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
22 "~/Orthanc/Build". To build binaries with debug information: |
634 | 23 |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
24 # cd ./Build |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
25 # cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Debug ../OrthancServer/ |
634 | 26 # make |
27 # make doc | |
28 | |
29 | |
30 To build a release version: | |
31 | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
32 # cd ./Build |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
33 # cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release ../OrthancServer/ |
634 | 34 # make |
35 # make doc | |
36 | |
37 | |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
38 Note 1- When the "STATIC_BUILD" option is set to "ON", the build tool |
634 | 39 will not ask you the permission to download packages from the |
40 Internet. | |
41 | |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
42 Note 2- If the development package of libuuid was not installed when |
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
43 first invoking cmake, you will have to manually remove the build |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
44 directory ("rm -rf ~/Orthanc/Build") after installing this package, |
1208
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
45 then run cmake again. |
6502517fd4af
improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
46 |
3869
c23ef85c7d9c
fix typo, as suggested by jackoliverjoy on github mirror pull request 2
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3544
diff
changeset
|
47 Note 3- To build the documentation, you will have to install doxygen. |
1219
c4ae92753d57
note about doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1208
diff
changeset
|
48 |
634 | 49 |
2086 | 50 Use system-wide libraries under GNU/Linux |
51 ========================================= | |
634 | 52 |
2086 | 53 Under GNU/Linux, by default, Orthanc links against the shared |
54 libraries of your system (the "STATIC_BUILD" option is set to | |
55 "OFF"). This greatly speeds up the compilation. This is also required | |
56 when building packages for GNU/Linux distributions. Because using | |
57 system libraries is the default behavior, you just have to use: | |
634 | 58 |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
59 # cd ./Build |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
60 # cmake -DCMAKE_BUILD_TYPE=Debug ../OrthancServer |
634 | 61 # make |
62 | |
3355 | 63 Note that to build the documentation, you will have to install doxygen. |
634 | 64 |
2086 | 65 However, on some GNU/Linux distributions, it is still required to |
66 download and static link against some third-party dependencies, | |
67 e.g. when the system-wide library is not shipped or is | |
68 outdated. Because of difference in the packaging of the various | |
69 GNU/Linux distribution, it is also sometimes required to fine-tune | |
70 some options. | |
634 | 71 |
2086 | 72 You will find below build instructions for specific GNU/Linux |
634 | 73 distributions. Distributions tagged by "SUPPORTED" are tested by |
74 Sébastien Jodogne. Distributions tagged by "CONTRIBUTED" come from | |
75 Orthanc users. | |
76 | |
77 | |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
78 SUPPORTED - Debian Jessie/Sid |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
79 ----------------------------- |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
80 |
4173
24759c286b5e
missing installation of patch in LinuxInstallation.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
81 # sudo apt-get install build-essential unzip cmake mercurial patch \ |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
82 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \ |
1974
ea4b8975d064
no need for google log anymore
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1622
diff
changeset
|
83 libgtest-dev libpng-dev libjpeg-dev \ |
678 | 84 libsqlite3-dev libssl-dev zlib1g-dev libdcmtk2-dev \ |
1077 | 85 libboost-all-dev libwrap0-dev libjsoncpp-dev libpugixml-dev |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
86 |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
87 # cd ./Build |
651 | 88 # cmake -DALLOW_DOWNLOADS=ON \ |
3138
ab46e537f92e
renamed class MongooseServer as HttpServer, CivetWeb made default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3131
diff
changeset
|
89 -DUSE_SYSTEM_CIVETWEB=OFF \ |
2403
06536b4f30c0
rename USE_GOOGLE_TEST_DEBIAN_SOURCE_PACKAGE as USE_GOOGLE_TEST_DEBIAN_PACKAGE
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2402
diff
changeset
|
90 -DUSE_GOOGLE_TEST_DEBIAN_PACKAGE=ON \ |
1078 | 91 -DDCMTK_LIBRARIES=dcmjpls \ |
2709 | 92 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
93 ../OrthancServer/ |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
94 # make |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
95 |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
96 Note: Have also a look at the official package: |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
97 http://anonscm.debian.org/viewvc/debian-med/trunk/packages/orthanc/trunk/debian/ |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
98 |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
99 |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
100 SUPPORTED - Ubuntu 14.04 LTS |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
101 ---------------------------- |
645
75af92b18e23
build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
640
diff
changeset
|
102 |
4173
24759c286b5e
missing installation of patch in LinuxInstallation.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
103 # sudo apt-get install build-essential unzip cmake mercurial patch \ |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
104 uuid-dev libcurl4-openssl-dev \ |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
105 libgtest-dev libpng-dev libsqlite3-dev libssl-dev libjpeg-dev \ |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
106 zlib1g-dev libdcmtk2-dev libboost-all-dev libwrap0-dev \ |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
107 libcharls-dev libjsoncpp-dev libpugixml-dev |
645
75af92b18e23
build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
640
diff
changeset
|
108 |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
109 # cd ./Build |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
110 # cmake -DALLOW_DOWNLOADS=ON \ |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
111 -DUSE_GOOGLE_TEST_DEBIAN_PACKAGE=ON \ |
4168
88d704264d64
fix for ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
112 -DUSE_SYSTEM_BOOST=OFF \ |
3359
815b81142ff7
Enable custom logging functions to redirect to emscripten specific logging calls
Benjamin Golinvaux <bgo@osimis.io>
parents:
3355
diff
changeset
|
113 -DUSE_SYSTEM_CIVETWEB=OFF \ |
4168
88d704264d64
fix for ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
114 -DUSE_SYSTEM_DCMTK=OFF \ |
3359
815b81142ff7
Enable custom logging functions to redirect to emscripten specific logging calls
Benjamin Golinvaux <bgo@osimis.io>
parents:
3355
diff
changeset
|
115 -DUSE_SYSTEM_JSONCPP=OFF \ |
3481 | 116 -DUSE_SYSTEM_LUA=OFF \ |
4261 | 117 -DCIVETWEB_OPENSSL_API=1.0 \ |
2709 | 118 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
119 ../OrthancServer/ |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
120 # make |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
121 |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
122 |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
123 SUPPORTED - Ubuntu 16.04 LTS |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
124 ---------------------------- |
1350
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
125 |
4173
24759c286b5e
missing installation of patch in LinuxInstallation.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
126 # sudo apt-get install build-essential unzip cmake mercurial patch \ |
3544 | 127 uuid-dev libcurl4-openssl-dev liblua5.3-dev \ |
1622
0b8e62bd9c48
build instructions for centos 6
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1552
diff
changeset
|
128 libgtest-dev libpng-dev libsqlite3-dev libssl-dev libjpeg-dev \ |
3544 | 129 zlib1g-dev libdcmtk-dev libboost-all-dev libwrap0-dev \ |
130 libcharls-dev libjsoncpp-dev libpugixml-dev tzdata | |
1552 | 131 |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
132 # cd ./Build |
1350
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
133 # cmake -DALLOW_DOWNLOADS=ON \ |
2403
06536b4f30c0
rename USE_GOOGLE_TEST_DEBIAN_SOURCE_PACKAGE as USE_GOOGLE_TEST_DEBIAN_PACKAGE
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2402
diff
changeset
|
134 -DUSE_GOOGLE_TEST_DEBIAN_PACKAGE=ON \ |
3138
ab46e537f92e
renamed class MongooseServer as HttpServer, CivetWeb made default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3131
diff
changeset
|
135 -DUSE_SYSTEM_CIVETWEB=OFF \ |
4261 | 136 -DCIVETWEB_OPENSSL_API=1.0 \ |
1350
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
137 -DDCMTK_LIBRARIES=dcmjpls \ |
2709 | 138 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
139 ../OrthancServer/ |
3179
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
140 # make |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
141 |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
142 |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
143 NB: Instructions to use clang and ninja: |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
144 |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
145 # sudo apt-get install ninja-build |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
146 # cd ./Build |
3179
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
147 # CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -G Ninja \ |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
148 -DALLOW_DOWNLOADS=ON \ |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
149 -DUSE_GOOGLE_TEST_DEBIAN_PACKAGE=ON \ |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
150 -DUSE_SYSTEM_CIVETWEB=OFF \ |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
151 -DDCMTK_LIBRARIES=dcmjpls \ |
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
152 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
153 ../OrthancServer/ |
3179
fca730c267d7
New primitives to set and refresh metrics
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3138
diff
changeset
|
154 # ninja |
1350
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
155 |
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
156 |
3458 | 157 SUPPORTED - Ubuntu 18.04 LTS |
158 ---------------------------- | |
159 | |
4173
24759c286b5e
missing installation of patch in LinuxInstallation.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
160 # sudo apt-get install build-essential unzip cmake mercurial patch \ |
3485 | 161 uuid-dev libcurl4-openssl-dev liblua5.3-dev \ |
3458 | 162 libgtest-dev libpng-dev libsqlite3-dev libssl-dev libjpeg-dev \ |
3485 | 163 zlib1g-dev libdcmtk-dev libboost-all-dev libwrap0-dev \ |
5290
0035d4318594
fix build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4929
diff
changeset
|
164 libcharls-dev libjsoncpp-dev libpugixml-dev locales protobuf-compiler |
3458 | 165 |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
166 # cd ./Build |
3458 | 167 # cmake -DALLOW_DOWNLOADS=ON \ |
168 -DUSE_GOOGLE_TEST_DEBIAN_PACKAGE=ON \ | |
169 -DUSE_SYSTEM_CIVETWEB=OFF \ | |
170 -DDCMTK_LIBRARIES=dcmjpls \ | |
171 -DCMAKE_BUILD_TYPE=Release \ | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
172 ../OrthancServer/ |
3458 | 173 # make |
174 | |
175 | |
176 NB: A suitable environment for locales can be setup as follows: | |
177 | |
178 # echo "en_US.UTF-8 UTF-8" > /etc/locale.gen | |
179 # locale-gen | |
180 | |
181 | |
1350
724dc4e17d38
build ubuntu 14.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1349
diff
changeset
|
182 |
1415 | 183 SUPPORTED - Fedora 20-22 |
184 ------------------------ | |
185 | |
186 # sudo yum install unzip make automake gcc gcc-c++ python cmake \ | |
1974
ea4b8975d064
no need for google log anymore
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1622
diff
changeset
|
187 boost-devel curl-devel dcmtk-devel \ |
1622
0b8e62bd9c48
build instructions for centos 6
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1552
diff
changeset
|
188 gtest-devel libpng-devel libsqlite3x-devel libuuid-devel jpeg-devel \ |
1415 | 189 mongoose-devel openssl-devel jsoncpp-devel lua-devel pugixml-devel |
190 | |
191 You will also have to install "gflags-devel" on Fedora 21&22: | |
192 | |
193 # sudo yum install gflags-devel | |
194 | |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
195 # cd ./Build |
1415 | 196 # cmake "-DDCMTK_LIBRARIES=CharLS" \ |
4261 | 197 -DCIVETWEB_OPENSSL_API=1.0 \ |
3138
ab46e537f92e
renamed class MongooseServer as HttpServer, CivetWeb made default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3131
diff
changeset
|
198 -DENABLE_CIVETWEB=OFF \ |
1415 | 199 -DSYSTEM_MONGOOSE_USE_CALLBACKS=OFF \ |
2709 | 200 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
201 ../OrthancServer/ |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
202 # make |
1415 | 203 |
204 Note: Have also a look at the official package: | |
205 http://pkgs.fedoraproject.org/cgit/orthanc.git/tree/?h=f18 | |
206 | |
207 | |
208 | |
1337 | 209 SUPPORTED - FreeBSD 10.1 |
210 ------------------------ | |
211 | |
1622
0b8e62bd9c48
build instructions for centos 6
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1552
diff
changeset
|
212 # pkg install jsoncpp pugixml lua51 curl googletest dcmtk cmake jpeg \ |
1974
ea4b8975d064
no need for google log anymore
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1622
diff
changeset
|
213 e2fsprogs-libuuid boost-libs sqlite3 python libiconv |
1337 | 214 |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
215 # cd ./Build |
1337 | 216 # cmake -DALLOW_DOWNLOADS=ON \ |
3138
ab46e537f92e
renamed class MongooseServer as HttpServer, CivetWeb made default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3131
diff
changeset
|
217 -DUSE_SYSTEM_CIVETWEB=OFF \ |
1337 | 218 -DDCMTK_LIBRARIES="dcmdsig;charls;dcmjpls" \ |
2709 | 219 -DCMAKE_BUILD_TYPE=Release \ |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
220 ../OrthancServer/ |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
221 # make |
1337 | 222 |
636
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
223 |
9ac1e8383877
build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
635
diff
changeset
|
224 |
2086 | 225 Other GNU/Linux distributions? |
226 ------------------------------ | |
634 | 227 |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
228 Don't hesitate to send us your build instructions (by a mail to |
3063 | 229 s.jodogne@orthanc-labs.com)! |
634 | 230 |
3405
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
231 The file "./Resources/OldBuildInstructions.txt" contains build |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
232 instructions that once worked for older versions of Orthanc or older |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
233 GNU/Linux distributions, but are not tested anymore. Even if they may |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
234 not work anymore as such, they can serve as a basis. |
408ffcb4038f
reorganizing build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3359
diff
changeset
|
235 |
634 | 236 You can find build instructions for Orthanc up to 0.7.0 on the |
237 following Wiki page: | |
5432
59e3b6f8c5be
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5290
diff
changeset
|
238 https://orthanc.uclouvain.be/book/faq/compiling-old.html |
634 | 239 |
240 These instructions will not work as such beyond Orthanc 0.7.0, but | |
241 they might give indications. | |
242 | |
243 | |
244 | |
3529 | 245 Additional information |
246 ---------------------- | |
247 | |
248 * It has been reported that distributions coming with Boost >= 1.70.0 | |
249 might need the option "-DBoost_NO_BOOST_CMAKE=ON" to be added to the | |
4929
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
250 "cmake" command line. |
3529 | 251 https://groups.google.com/d/msg/orthanc-users/nXq2qOndw9c/0PGnaOqiAgAJ |
4929
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
252 |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
253 * Starting with Orthanc 1.10.0, if you use a distribution with an old |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
254 version of gcc (typically gcc 4.8 on CentOS), you might have to add |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
255 the option "-DCMAKE_CXX_FLAGS=-std=c++11" when invoking the "cmake" |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
256 command line. This flag was previously automatically added, but this |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
257 feature was removed according to the following discussion: |
2a58c4df3d47
note about -std=c++11
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4261
diff
changeset
|
258 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000222 |
3529 | 259 |
260 | |
261 | |
634 | 262 Using ccache |
263 ============ | |
264 | |
2086 | 265 Under GNU/Linux, you also have the opportunity to use "ccache" to |
634 | 266 dramatically decrease the compilation time when rebuilding |
267 Orthanc. This is especially useful for developers. To this end, you | |
268 would use: | |
269 | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3869
diff
changeset
|
270 # CC="ccache gcc" CXX="ccache g++" cmake ../OrthancServer/ [Other Options] |