====== Build your own local development environment ======
[ __[[vlsi:Home|Home]]__ ]
[ __[[vlsi:workbook|Design WorkBook]]__ ]
[ __[[vlsi:workbook:computing#contents|Back to index]]__ ]
**Contents**
* Introduction
* Seeting up the local area
* Build gcc and from source
* Installing RPM packages in the local area
* ....
//[[http://openwall.info/wiki/internal/gcc-local-build]]//
===== Introduction =====
create your own, additional, RPM database and **install software in your local space**.
make a full environment for programming in a home folder
build your own quasi-filesystem under ''~/local''
No root privileges, g might not be installed!
run the ''configure'' script with the ''--prefix'' option
Install a rpm in home directory as non-root
===== Setting up the environment =====
mkdir ~/local
create a ''/usr/local/''-like hierarchy
E poi la si prepara con una struttura analoga a quella di ''/usr/local'',
cd ~/local
mkdir bin etc include lib lib64 libexex sbin share src tmp
La directory ''~/local'' diventa equivalente locale della system directory ''/usr''
che contiene tutto quello che e' usato da uno standard user
Oppure posso usare direttamente la dot directory ''~/.local'' and ''~/.local/share'' nella home
where locally installed program data are stored
See also
//[[http://www.ubooboo.net/zimPage.php?page=Local_Install]]// \\
//[[http://blog.sanctum.geek.nz/compiling-in-home/]]//
setenv PREFIX $HOME/local
setenv EPREFIX $PREFIX
''LD_LIBRARY_PATH'' deve adesso includere anche ''$HOME/local/lib'' and ''$HOME/local/lib64''
setenv PATH $PREFIX/bin:$PATH
setenv LD_LIBRARY_PATH $HOME/lib:$HOME/local/lib64:$LD_LIBRARY_PATH
#setenv C_INCLUDE_PATH $PREFIX/include
#setenv CPLUS_INCLUDE_PATH $PREFIX/include
#setenv MANPATH $PREFIX/share/man:$PREFIX/man:$MANPATH
#setenv CFLAGS "-I$PREFIX/include"
#setenv LDFLAGS "-L$PREFIX/lib"
===== Installing RPM packages in the local area =====
How to install RPM packages without root privileges or ''sudo''.
See also
//[[http://warrickball.blogspot.it/2011/03/installing-rpm-software-without-admin.html]]// \\
//[[http://ajaya.name/?p=6353]]//
Setup a private RPM database
Create a local database, make the folder that will store your database
cd $HOME/local
mkdir -p $HOME/local/var/lib/rpm
/var/lib/rpm/ is a usual location for the RPM database
Poi inizializzo il database locale,
rpm --initdb --root $HOME/local --dbpath $HOME/local/var/lib/rpm
e copio in esso il contenuto di ''/var/lib/rpm'' cosi' RPM sa quali pacchetti sono
gia' stati installati,
cp /var/lib/rpm/* $HOME/local/var/lib/rpm/
Poi devo vedere se e rilocabile,
rpm -qip package.rpm
e se ha dipendenze non soddisfatte,
rpm -ivh package.rpm
che non lo installa pero' mi dice se i file estratti finiscono tutti a partire da /usr/xxx
Se tutti partono da /usr posso rilocare il pacchetto dicendo di usare ~/local come /usr
--relocate /usr=$HOME/local
rpm --dbpath $HOME/local/var/lib/rpm --relocate /usr=$HOME/local --nodeps -ivh package.rpm
\\
\\
More details about the usage of ''rpm'' can be found at \\
//[[http://www.nordugrid.org/documents/rpm_for_everybody.html]]//
===== Compiling and installing software from source =====
use the ''--prefix'' switch of the ''configure'' script,
./configure --prefix=$HOME/local [other options]
make
make install
./configure --prefix=$HOME/local [other options] && make && make install
===== Build the latest version of gcc and g++ from source =====
See also
[[http://stackoverflow.com/questions/9316118/installing-gcc-as-non-root]]
In modo da arrivare ad avere
/users//local/bin/gcc
or \\
/users//local/bin/g++
Prerequisites:
Bison,
cd ~/local/src
wget http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz
tar -xzf bison-2.7.tar.gz
./configure --help
./configure --prefix=$HOME/local && make && make install
Ok...
Read [[http://gcc.gnu.org/install/]]
//[[http://openwall.info/wiki/internal/gcc-local-build]]//
Premessa... per compilare gcc serve gia avere un gcc!
gcc compiler should be already installed,
which gcc
/usr/bin/gcc
but not ''g++''
which g++
g++: Command not found.
gcc -v | grep version
Ok
You need both the packages, ''gcc-core'' and ''gcc-g++''
Dowload the source code from one ftp mirror, //[[http://gcc.gnu.org/mirrors.html]]//
As an example
Packages: ''gcc-core-4.x.y.tar.gz'', ''gcc-g++.4.x.y.tar.gz''
cd ~/local/src
wget http://gcc-uk.internet.bs/releases/gcc-4.1.2/gcc-core-4.x.y.tar.gz
wget http://gcc-uk.internet.bs/releases/gcc-4.1.2/gcc-g++-4.x.y.tar.gz
tar -xvzf gcc-core-4.x.y.tar.gz
tar -xvzf gcc-g++-4.x.y.tar.gz
Importante! Buildare tutto in una cartella diversa da quella dei sorgenti!
mkdir build
cd build
./../src/configure --prefix=$HOME/.local --enable-languages='c c++'
compile your own version of ''gcc'' and ''g++''
===== Install ROOT =====
Connect via FTP to root.cern.ch
cd ~/.local/opt
wget ftp://root.cern.ch/root/root_v5.32.04.source.tar.gz
tar -xzf root_v5.32.04.source.tar.gz
cd root
./configure --help
./configure [arch] [options]
make
make install
===== AdobeReader =====
Go [[vlsi:workbook:computing:local:acroread|here]]
See also
//[[http://www.iram.fr/~roche/linux/softwares/LocalInstallation.html]]//
tar -xzf package.tar.gz
cd
./INSTALL
Enter installation directory <$HOME/.local>
====== ======
\\
----
Last update: [[pacher@NOSPAMto.infn.it|Luca Pacher]] - July 31, 2013
~~NOTOC~~