You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/development/jasp-building-guide.md
+77-73Lines changed: 77 additions & 73 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ JASP requires several dependencies which are documented below.
19
19
20
20
JASP depends on:
21
21
22
-
-[Qt (5+)](http://qt-project.org)
22
+
-[Qt (5.10 + QtWebEngine)](http://qt-project.org)
23
23
-[R](http://cran.r-project.org)
24
24
-[boost](http://boost.org)
25
25
-[libarchive](http://libarchive.org/)
@@ -32,29 +32,35 @@ Windows
32
32
33
33
Building JASP under windows is the most temperamental, and the versions listed here are known to work; slight variations on these numbers probably won't work.
-[Visual Studio 2017] (https://www.visualstudio.com/downloads/) Download community version
39
39
40
-
Qt: JASP for windows is built as 64-bit and is built with Mingw-W64. The Qt project does not ship a 64-bit version of Qt based on Mingw-W64, and so we rely on a version from [here](http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/Qt-Builds/). Once downloaded and unzipped to the desired location, it is necessary to run the `QtSDK-x86_64/qtbinpatcher.exe`, so it knows about it's current location.
41
-
42
-
dlls: It is necessary to copy the four files libgcc_s_seh-1.dll, libstdc++-6.dll, libwinpthread-1.dll and libgomp-1.dll from QtSDK-x86_64/bin into the build directory as well.
40
+
Qt: JASP for windows is built as 64-bit and is built with Visual Studio 2017.
43
41
44
42
The directory structure should be as follows:
45
43
46
44
[+] jasp-desktop < from github >
47
45
[+] boost_1_64_0
48
46
[-] build-JASP- ... < build directory, created by QtCreator >
49
47
[+] R
50
-
- libgcc_s_seh-1.dll
51
-
- libstdc++-6.dll
52
-
- libwinpthread-1.dll
53
-
- libgomp-1.dll
54
-
- libboost_system-mgw48-mt-1_64.a
55
-
- libboost_filesystem-mgw48-mt-1_64.a
56
-
- libarchive.dll.a
57
-
- libarchive.dll
48
+
- JASP-R-Interface.dll
49
+
- JASP-R-Interface.lib
50
+
- archive.dll.lib
51
+
- libarchive.dll
52
+
- libboost_date_time-vc141-mt-1_64.lib
53
+
- libboost_date_time-vc141-mt-gd-1_64.lib
54
+
- libboost_filesystem-vc141-mt-1_64.lib
55
+
- libboost_filesystem-vc141-mt-gd-1_64.lib
56
+
- libboost_system-vc141-mt-1_64.lib
57
+
- libboost_system-vc141-mt-gd-1_64.lib
58
+
- libeay32.dll
59
+
- libgcc_s_seh-1.dll
60
+
- libgomp-1.dll
61
+
- libstdc++-6.dll
62
+
- libwinpthread-1.dll
63
+
- ssleay32.dll
58
64
59
65
60
66
Mac OS X
@@ -63,73 +69,79 @@ To build JASP on mac you need to clone the JASP repository and download the foll
63
69
64
70
0. Clone the JASP repository
65
71
1.[XCode](https://developer.apple.com/xcode/) Easiest would be via the App Store.
66
-
2.[Qt 5.4.0](https://download.qt.io/archive/qt/) Newer version not supported yet.
67
-
3.[R 3.3.3](https://static.jasp-stats.org/development/R3.3%20OSX%20JASP%200.8.5.zip) This contains R and the packages
2.[Qt 5.10.1 + QtWebEngine](https://download.qt.io/archive/qt/). Tick: MacOS and Qt WebEngine
73
+
3.[R 3.3.3](https://static.jasp-stats.org/development/R3.3%20OSX%20JASP%200.8.6.zip) This contains R and the packages. Unzip this file and set it as a framework in the build folder as shown below.
74
+
4.[boost 1.64.0](https://static.jasp-stats.org/development/boost_1_64_0.zip). Unzip this file in the JASP folder.
75
+
5.[boost 1.64.0 binaries, libarchive binaries](https://static.jasp-stats.org/development/Build-Binaries-OSX-64-qt510.zip). Unzip this file in both release and debug build folders.
70
76
71
77
The directory structure should be as follows:
72
78
73
79
[+] JASP
74
-
[-] code
75
-
[+] jasp-desktop < from github >
76
-
[-] build
77
-
[-] debug < Build debug directory for QtCreator >
78
-
- libboost_system-clang-mt-1_64.a
79
-
- libboost_filesystem-clang-mt-1_64.a
80
-
- libarchive.a
81
-
- libz.a
82
-
[-] release < Build release directory for QtCreator >
83
-
- libboost_system-clang-mt-1_64.a
84
-
- libboost_filesystem-clang-mt-1_64.a
85
-
- libarchive.a
86
-
- libz.a
87
-
[+] boost_1_64_0
88
-
[-] Frameworks
89
-
[-] R.framework
90
-
[-] Versions
91
-
[+] 3.3
92
-
80
+
[-] jasp-desktop < from github >
81
+
[-] buildDebug510 < Build debug directory for QtCreator >
82
+
- libboost_system-clang-mt-1_64.a
83
+
- libboost_filesystem-clang-mt-1_64.a
84
+
- libarchive.a
85
+
- libz.a
86
+
- libJASP-R-Interface.1.0.0.dylib
87
+
- libJASP-R-Interface.dylib
88
+
[-] buildRelease510 < Build release directory for QtCreator >
89
+
- libboost_system-clang-mt-1_64.a
90
+
- libboost_filesystem-clang-mt-1_64.a
91
+
- libarchive.a
92
+
- libz.a
93
+
- libJASP-R-Interface.1.0.0.dylib
94
+
- libJASP-R-Interface.dylib
95
+
[-] boost_1_64_0
96
+
[-] Frameworks
97
+
[-] R.framework
98
+
[-] Versions
99
+
[+] 3.3
93
100
94
101
0.**Clone** the JASP repository into a folder of your choice. Our default choice is *~/desktop/JASP/* and cloning results in the creating of *~/desktop/JASP/jasp-desktop*.
95
102
1.**XCode**: Qt on OS X relies on XCode to function, you can install this through the App Store. It's easiest if you install this, run it, accept the license agreement, and then close it down before installing Qt.
96
-
2.**Qt**: building JASP on OS X is pretty robust, but for the moment we're restricted to QT 5.4. We will upgrade to a newer version soon. **Note**: *For xcode 8 and above, to accept the license, Qt (v5.4) tries to find xcrun instead of xcodebuild, and the following has to be done,*
97
-
- Open the file: *Qt_install_folder/5.4/clang_64/mkspecs/features/mac/default_pre.prf*
98
-
- Replace the line *isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))* by *isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))*
99
-
3.**R 3.3.3**: Create the folder */Frameworks* in the directory of your choice in step 0. For our default choice this results in *~/desktop/JASP/Frameworks/* first and subsequently *~/desktop/JASP/Frameworks/R.frameworks*.
100
-
4.**boost 1.64.0**: Unzip these files in the JASP folder. In our case, this results in *~/desktop/JASP/boost_1_64_0/*
101
-
5.**boost 1.64.0 binaries, libarchive binaries**: We're almost there! Fire up QT and try to build JASP. QT will automatically create a */build-JASP-....* directory. In our case this leads to *~/desktop/JASP/build-JASP-Desktop_Qt_5_5_1_clang_64bit-Debug*. QT will stop building JASP as it requires additional files. Thus, unzip the **boost 1.64.0 binaries, libarchive binaries** files and put them into the */build-JASP-....* directory that Qt created.
102
-
6. Build JASP again from Qt. The first build might take a while, but after the first time it'll go very smoothly.
103
+
2.**Qt**: Install Qt5.10.1 with MacOS and Qt WebEngine.
104
+
105
+

106
+
107
+
2.a. **Configure Qt5.10.1**: Left top menu: Qt Creator - Preference. Left menu: "Build & Run", tab: "Kits". Auto-detect should give "Desktop Qt 5.10.1 clang 64bit". Click on this. Choose the compiler **Clang (x86 64bit in /usr/bin)** for both C and C++.
108
+
109
+

110
+
111
+
2.b. **Configure project**: Click "Projects" in the left ribbon and provide the "debug build" and "release build" folders with the correct compilers. This should look like:
112
+
113
+

114
+
115
+
and like:
116
+
117
+

118
+
119
+
In both case, I've added the flag "-j4" to make use of all my four cores on my mac.
103
120
121
+
5. In the end, your folder should be structured as follows:
122
+
123
+

124
+
125
+
where the blue files are the binaries that are added manually.
104
126
105
127
Linux
106
128
-----
107
129
108
130
### Build
109
131
110
132
#### Ubuntu (and alike)
133
+
To build JASP under Ubuntu (17.10+), debian, and derivatives, you will need:
Jonathon maintains a number of packages for JASP and it's development under linux in his PPA [here](https://launchpad.net/~jonathon-love/+archive/ubuntu/jasp)
113
-
114
-
To build JASP under Ubuntu, debian, and derivatives, you will need:
115
-
116
-
- qt5-default
117
-
- qt5-qmake
118
-
- libqt5widgets5
119
-
- libqt5webkit5-dev
120
-
- libqt5svg5-dev
121
-
- libboost-dev
122
-
- libboost-filesystem-dev
123
-
- libboost-system-dev
124
-
- r-base-core
125
-
- r-cran-rcpp
126
-
- r-cran-rinside *
127
-
- libarchive-dev
138
+
Then you start qtcreator and open JASP.pro, run qmake and build all. After that you should be able to run JASP.
0 commit comments