1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
Building Virtuoso Open Source Edition on Mac OS X
=================================================
*Copyright (C) 1998-2018 OpenLink Software <vos.admin@openlinksw.com>*
## Introduction
This document describes how to checkout a copy of the git tree for development purposes on Mac OS X.
It also lists the packages that need to be installed prior to generating the necessary scripts and
Makefiles to build the project.
If you have any questions, please email us at <mailto:vos.admin@openlinksw.com>.
## Downloading the source code
OpenLink Software frequently pushes updates to the Virtuoso Open Source tree on GitHub.
### Using git on a local machine
Developers who just want to build Virtuoso on their own machine can make a local clone of the source
tree using the following command:
$ git clone git://github.com/openlink/virtuoso-opensource.git
At this point you can create your own work branch based on any of the branches available, create
bugfixes and commit them to your own branch and then use the 'git format-patch' command to generate
the appropriate diffs to send to <mailto:vos.admin@openlinksw.com>.
### Forking the tree on Github
OpenLink Software encourages developers to create their own account on GitHub, after which they can
fork the project by going to the following URL with any web browser and pressing the **Fork** button:
https://github.com/openlink/virtuoso-opensource
At this point you can clone your fork to your local Mac OS X system, create your own branches to make
enhancements/bugfixes, push these branches back to GitHub and then send pull requests using the
excellent GitHub interface for the OpenLink team to examine and incorporate the fixes into the
master tree for an upcoming release.
Github has excellent documentation on how to fork a project, send pull requests, track the project
etc. on:
http://help.github.com/
### Using a source tar archive
Developers who do not want to mess with git can also download a source tar archive from:
https://github.com/openlink/virtuoso-opensource/archive/develop/7.x.tar.gz
This tar archive can be extracted using the following command:
$ tar xvfz virtuoso-opensource-development-7.tar.gz
Configuration and building is exactly the same as for the cloned git tree.
## Building on Mac OS X 10.10 and above
Apple removed a number of programs from their Xcode.app command line installation including the
autoconf, automake, libtool, gperf and some other tools needed to build Virtuoso from a newly
checked out git tree.
OpenLink Software suggest using the HomeBrew package manager from http://brew.sh/ to install these
tools.
After the installation of HomeBrew you need to install the following package:
$ brew install autoconf automake libtool
$ brew install gperf bison flex git gawk pkg-config
By default brew installs all packages and libraries into subdirectories under the /usr/local
directory.
Comparable packages can also be installed via MacPorts which installs into /opt/local directory.
### Optional features
Optional features like command line editing in the isql tool require:
$ brew install libedit
or
$ brew install readline
### OpenSSL on Mac OS X
As Apple is actively deprecating OpenSSL from Mac OS X, your system either has a pretty old version
of openssl, and in case of High Sierra (10.13) Apple removed the required include files from the
/usr/include/openssl directory completely.
We recommend installing the OpenSSL 1.0.2 library using:
$ brew install openssl
And at configure time you can use the following:
$ sh ./configure \
..... \
..... \
--enable-openssl=/usr/local/opt/openssl/
### ImageMagick on Mac OS X
The ImageMagick plugin requires the following packages to be installed:
$ brew install pkg-config
$ brew install imagemagick@6
This installs ImageMagick 6.x together with a number of libraries to work with specific graphic formats.
At configure time you can use the following line:
$ sh ./configure \
..... \
--enable-imagemagick=/usr/local/opt/imagemagick\@6/
## Example of running configure on Mac OS X
First we set some environment variables:
$ export CFLAGS="-O -arch x86_64"
$ export LDFLAGS="-g"
$ export CC="clang"
Next we (re)generate the configure script and all related build files, using the supplied script in
your working directory:
$ sh ./autogen.sh
Assuming this did not return an error we can now configure Virtuoso.
For a full list of available `configure` options, including various optional subpackages, check the output of:
$ sh ./configure --help
The following command includes a number of options we recommend for an initial build of Virtuoso on Mac OS X:
$ sh ./configure \
--enable-maintainer-mode \
--enable-silent-rules \
--prefix=/usr/local/vos \
--with-layout=openlink \
--enable-openssl=/usr/local/opt/openssl/ \
--enable-imagemagick=/usr/local/opt/imagemagick@6/ \
--enable-openldap \
--disable-python \
--with-editline \
--with-jdk4=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0 \
--with-jdk4_1=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/ \
--with-jdk4_2=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/
If the above steps return without error you should now be able to build the archive using the following commands:
$ make
After building you can run the testsuite to verify your binaries are in working order:
$ make check
And finally to install the resulting binaries into the /usr/local/vos directory:
$ make install
## Diskspace Requirements
The build produces a demo database and Virtuoso application packages that are quite large.
At least 1.1GB of free space should be available on the build file system.
Running the testsuite requires an additional 2.8GB of free space on the system.
An installation containing the virtuoso server executable and supporting binaries, all the hosting
plugins, VAD packages, config files etc excluding the database will take around 350MB of disk space.
## Generate build files
Please read the files INSTALL and README in this directory for further
information on how to configure the package and install it on your system.
|