Commit 3c0ae486 authored by Steven Murray's avatar Steven Murray
Browse files

Improved the instructions on how to build CTA, but I can NOT compile cta.tex

parent 12ab9ad4
......@@ -780,54 +780,167 @@ Create the \texttt{/eos} directory within the EOS namespace, map it to the EOS
\end{verbatim}
\section{Compile CTA}
On a blank system, the following packages are needed to compile CTA:
\begin{verbatim}
yum install gcc-c++
yum install cmake
yum install xrootd-devel
yum install xrootd-client-devel
yum install xrootd-server-devel
yum install xrootd-private-devel
yum install sqlite-devel
yum install protobuf-devel
yum install gtest-devel
yum install gmock-devel
yum install castor-devel
yum install librados-devel
yum install rados-devel
yum install librados2-devel <- this required ceph.repo
yum install libradosstriper1-devel
yum install libattr-devel libuuid-devel
yum install cryptopp-devel
yum install binutils-devel
yum install zeromq3-devel
yum install libcap-devel
yum install openssl-devel
yum install castor-lib-client castor-lib-server
[this required CASTOR_SLC6.repo (or castor-jenkins.repo)]
yum install castor-tapegatewayd
yum install castor-tapegateway-server
yum install castor-libtapegatewayd
yum install castor-lib-tape
And also:
yum install ccache
#cat /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph repository
baseurl=file:///afs/cern.ch/project/cndoc/wwwds/HSM/CASTOR/repos/ceph
Make sure yum is configured to see the repositories required by CTA buildi
dependencies. If CTA is to be compiled on SLC6 then only the CTA command-line
tool will be built and this will only require the following epel repository configuration in order to be able to get the necessary xrootd-client-devel and cryptopp-devel packages:
\begin{verbatim}
cat /etc/yum.repos.d/epel.repo
[epel]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
baseurl=http://linuxsoft.cern.ch/epel/6/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=1
gpgcheck=0
priority=10
protect=0
[epel-debug]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN - debug RPMs
baseurl=http://linuxsoft.cern.ch/epel/6/$basearch/debug/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
[epel-source]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN - source RPMs
baseurl=http://linuxsoft.cern.ch/epel/6/SRPMS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
[epel-testing]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN - testing
baseurl=http://linuxsoft.cern.ch/epel/testing/6/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
[epel-testing-debug]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN - testing debug RPMs
baseurl=http://linuxsoft.cern.ch/epel/testing/6/$basearch/debug/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
[epel-testing-source]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN - testing source RPMs
baseurl=http://linuxsoft.cern.ch/epel/testing/6/SRPMS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
\end{verbatim}
#cat /etc/yum-puppet.repos.d/CASTOR_SLC6.repo
[CASTOR_SLC6]
name=CASTOR SLC6 repository
baseurl=http://linuxsoft.cern.ch/internal/repos/castor6-testing/x86_64/os/
If CTA is to be built on CC7 then it will require the following repository
configurations:
\begin{verbatim}
cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch/debug
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://linuxsoft.cern.ch/epel/7/SRPMS
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
\end{verbatim}
\begin{verbatim}
cat /etc/yum.repos.d/ceph-cc7.repo
[cc7-ceph]
name=cc7-ceph
baseurl=http://linuxsoft.cern.ch/mirror/download.ceph.com/rpm-infernalis/el7/x86_64
gpgcheck=0
priority=10
enabled=1
protect=0
priority=4
\end{verbatim}
In addition you will need to make sure the \texttt{cernonly} repository is enabled:
\begin{verbatim}
egrep -A3 '\[cernonly\]' /etc/yum.repos.d/CentOS-CERN.repo
[cernonly]
name=CentOS-$releasever - CERN Only
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/$basearch/
gpgcheck=1
\end{verbatim}
Install \texttt{cmake} if it is not already installed:
\begin{verbatim}
sudo yum install cmake
\end{verbatim}
Obtain the URL of the CTA source-code repository by going to the following CERN
gitlab web page:
\begin{verbatim}
https://gitlab.cern.ch/cta/CTA
\end{verbatim}
You should copy the URL from this web page, however at the time this document
was written, the 3 possible URLS were:
\begin{verbatim}
HTTPS: https://gitlab.cern.ch/cta/CTA.git
KRB5: https://:@gitlab.cern.ch:8443/cta/CTA.git
SSH: ssh://git@gitlab.cern.ch:7999/cta/CTA.git
\end{verbatim}
Clone the CTA git repository (this example uses the KRB5 URL):
\begin{verbatim}
git clone https://:@gitlab.cern.ch:8443/cta/CTA.git
\end{verbatim}
This will create a directory called CTA.
Create a build directory at the same level as the CTA directory, that is to say,
create a build directory that is not inside of the CTA repostory directory:
\begin{verbatim}
mkdir CTA_build
\end{verbatim}
Enter the build directory and run the following \texttt{cmake} and \texttt{make}
commands in order to produce the source RPM of the CTA project:
\begin{verbatim}
cd CTA_build
cmake -DPackageOnly:Bool=true ../CTA
make
\end{verbatim}
Use \testtt{yum-builddep} to install all of the RPMs that CTA depends on in
order to be built:
\begin{verbatim}
sudo yum-builddep RPM/SRPMS/cta-0-0.src.rpm
\end{verbatim}
Delete and then re-create the \texttt{CTA_build} directory:
\begin{verbatim}
cd ..
rm -rf CTA_build
mkdir CTA_build
\end{verbatim}
Go into the newly re-created \textt{CTA_build} directory and run \textt{cmake}
to preapre to make all of the CTA project and not just the source rpm:
\begin{verbatim}
cd CTA_build
cmake ../CTA
\end{verbatim}
Build CTA by running \texttt{make} twice in the texttt{CTA_build} directory.
\begin{verbatim}
make
make
\end{verbatim}
\section{Create the mock nameserver base directory}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment