mirror of https://github.com/vitalif/openscad
Merge branch 'master' of github.com:openscad/openscad
Conflicts: scripts/linux-build-dependencies.shfelipesanches-svg
commit
d88429d7e4
29
README.md
29
README.md
|
@ -117,20 +117,26 @@ compilation process.
|
|||
|
||||
After that, follow the Compilation instructions below.
|
||||
|
||||
### Building for newer Ubunutu
|
||||
### Building for newer Linux distributions
|
||||
|
||||
sudo apt-get install libqt4-dev libqt4-opengl-dev libxmu-dev cmake \
|
||||
libglew1.5-dev bison flex libeigen2-dev git-core libboost-all-dev \
|
||||
libXi-dev libcgal-dev libopencsg-dev libopencsg1
|
||||
First, make sure that you have development tools installed to get GCC.
|
||||
Then after you've cloned this git repository, use a package manager to
|
||||
download packages for the dependency libraries listed above. Convenience
|
||||
scripts are provided for some popular systems:
|
||||
|
||||
Check your library versions against the list above. After that, follow
|
||||
the Compilation instructions below.
|
||||
Ubuntu, Debian: ./scripts/ubuntu-build-dependencies.sh
|
||||
OpenSUSE: ./scripts/opensuse-build-dependencies.sh
|
||||
Fedora, Redhat: ./scripts/fedora-build-dependencies.sh
|
||||
|
||||
### Building for older Linux or without root access
|
||||
Check your library versions to make sure they meet the minimum
|
||||
requirements listed above. After that follow the Compilation
|
||||
instructions below.
|
||||
|
||||
First, make sure that you have compiler tools (build-essential on ubuntu).
|
||||
Then after you've cloned this git repository, run the script that sets up the
|
||||
environment variables.
|
||||
### Building for older Linux or building without root access
|
||||
|
||||
First, make sure that you have development tools installed to get GCC.
|
||||
Then after you've cloned this git repository, run the script that sets
|
||||
up the environment variables.
|
||||
|
||||
source ./scripts/setenv-linbuild.sh
|
||||
|
||||
|
@ -138,6 +144,7 @@ Then run the script to download & compile all the prerequisite libraries above:
|
|||
|
||||
./scripts/linux-build-dependencies.sh
|
||||
|
||||
Then add LD_LIBRARY_PATH=$HOME/openscad_deps to your ~/.bashrc
|
||||
After that, follow the Compilation instructions below.
|
||||
|
||||
### Building for Windows
|
||||
|
@ -157,5 +164,5 @@ Then run make. Finally you might run 'make install' as root or simply copy the
|
|||
If you had problems compiling from source, raise a new issue in the
|
||||
[issue tracker on the github page](https://github.com/openscad/openscad/issues).
|
||||
|
||||
The four subsections of this site can also be helpful:
|
||||
This site and it's subpages can also be helpful:
|
||||
http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_OpenSCAD_from_Sources
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
echo "Tested on Fedora 17. If this fails try 'old linux' build (see README.md)"
|
||||
sleep 2
|
||||
|
||||
# Fedora 17 has CGAL 4
|
||||
#if [ "`yum list installed | grep -i cgal`" ]; then
|
||||
# echo "Please make sure you have removed all cgal packages and retry"
|
||||
# exit
|
||||
#fi
|
||||
|
||||
if [ "`yum list installed | grep -i opencsg`" ]; then
|
||||
echo "Please make sure you have removed all opencsg packages and retry"
|
||||
exit
|
||||
fi
|
||||
|
||||
sudo yum install qt-devel bison flex eigen2-devel \
|
||||
boost-devel mpfr-devel gmp-devel glew-devel CGAL-devel gcc pkgconfig git
|
||||
|
||||
#echo "now copy/paste the following to install CGAL and OpenCSG from source:"
|
||||
#echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh cgal-use-sys-libs"
|
||||
|
||||
echo
|
||||
echo "Now copy/paste the following to install OpenCSG from source:"
|
||||
echo
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=144967
|
||||
echo "sudo echo /usr/local/lib | sudo tee -a /etc/ld.so.conf.d/local.conf"
|
||||
echo "sudo ldconfig"
|
||||
echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh opencsg"
|
||||
echo
|
||||
|
|
@ -9,7 +9,6 @@
|
|||
# Prerequisites:
|
||||
# - wget or curl
|
||||
# - Qt4
|
||||
# - cmake 2.8 ( force build_cmake at bottom if yours is too old )
|
||||
#
|
||||
|
||||
BASEDIR=$HOME/openscad_deps
|
||||
|
@ -146,7 +145,11 @@ build_cgal()
|
|||
fi
|
||||
tar xzf CGAL-$version.tar.gz
|
||||
cd CGAL-$version
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=Debug
|
||||
if [ $2 = use-sys-libs ]; then
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DCMAKE_BUILD_TYPE=Debug
|
||||
else
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=Debug
|
||||
fi
|
||||
make -j$NUMCPU
|
||||
make install
|
||||
}
|
||||
|
@ -187,10 +190,14 @@ build_opencsg()
|
|||
# uncomment this kludge for Fedora 64bit
|
||||
# sed -i s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ src/Makefile
|
||||
|
||||
qmake-qt4
|
||||
if [ "`command -v qmake-qt4`" ]; then
|
||||
qmake-qt4
|
||||
else
|
||||
qmake
|
||||
fi
|
||||
make
|
||||
install -v lib/* $DEPLOYDIR/lib
|
||||
install -v include/* $DEPLOYDIR/include
|
||||
cp -av lib/* $DEPLOYDIR/lib
|
||||
cp -av include/* $DEPLOYDIR/include
|
||||
}
|
||||
|
||||
build_eigen()
|
||||
|
@ -214,11 +221,21 @@ build_eigen()
|
|||
make install
|
||||
}
|
||||
|
||||
|
||||
|
||||
OPENSCADDIR=$PWD
|
||||
if [ ! -f $OPENSCADDIR/openscad.pro ]; then
|
||||
echo "Must be run from the OpenSCAD source root directory"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
. ./scripts/setenv-linbuild.sh # '.' is equivalent to 'source'
|
||||
SRCDIR=$BASEDIR/src
|
||||
DEPLOYDIR=$BASEDIR
|
||||
if [ ! $NUMCPU ]; then
|
||||
NUMCPU=1 # paralell builds for some libraries
|
||||
fi
|
||||
|
||||
if [ ! -d $BASEDIR/bin ]; then
|
||||
mkdir --parents $BASEDIR/bin
|
||||
fi
|
||||
|
@ -226,16 +243,9 @@ fi
|
|||
echo "Using basedir:" $BASEDIR
|
||||
echo "Using deploydir:" $DEPLOYDIR
|
||||
echo "Using srcdir:" $SRCDIR
|
||||
echo "Number of CPUs for parallel builds:" $NUMCPU "(use export NUMCPU=x)"
|
||||
echo "Number of CPUs for parallel builds:" $NUMCPU "(export NUMCPU=x to modify)"
|
||||
mkdir -p $SRCDIR $DEPLOYDIR
|
||||
|
||||
export PATH=$BASEDIR/bin:$PATH
|
||||
export LD_LIBRARY_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64:$LD_LIBRARY_PATH
|
||||
export LD_RUN_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64:$LD_RUN_PATH
|
||||
echo "PATH modified temporarily"
|
||||
echo "LD_LIBRARY_PATH modified temporarily"
|
||||
echo "LD_RUN_PATH modified temporarily"
|
||||
|
||||
if [ ! "`command -v curl`" ]; then
|
||||
build_curl 7.26.0
|
||||
fi
|
||||
|
@ -250,6 +260,26 @@ fi
|
|||
|
||||
# build_git 1.7.10.3
|
||||
|
||||
# Singly build CGAL or OpenCSG
|
||||
# (Most systems have all libraries available as packages except CGAL/OpenCSG)
|
||||
# (They can be built singly here by passing a command line arg to the script)
|
||||
if [ $1 ]; then
|
||||
if [ $1 = "cgal-use-sys-libs" ]; then
|
||||
build_cgal 4.0 use-sys-libs
|
||||
exit
|
||||
fi
|
||||
if [ $1 = "opencsg" ]; then
|
||||
build_opencsg 1.3.2
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# Main build of libraries
|
||||
# edit version numbers here as needed.
|
||||
#
|
||||
|
||||
build_eigen 2.0.17
|
||||
build_gmp 5.0.5
|
||||
build_mpfr 3.1.1
|
||||
|
@ -259,4 +289,4 @@ build_cgal 4.0
|
|||
build_glew 1.7.0
|
||||
build_opencsg 1.3.2
|
||||
|
||||
echo "OpenSCAD dependencies built in " $BASEDIR
|
||||
echo "OpenSCAD dependencies built and installed to " $BASEDIR
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
echo "tested on OpenSUSE 12. If this fails try 'old linux' build (see README.md)"
|
||||
|
||||
sudo zypper install libeigen2-devel mpfr-devel gmp-devel boost-devel \
|
||||
libqt4-devel glew-devel cmake git
|
||||
|
||||
echo "now copy/paste the following to install CGAL and OpenCSG from source:"
|
||||
echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh cgal-use-sys-libs"
|
||||
echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh opencsg"
|
|
@ -1,10 +1,15 @@
|
|||
# setup env variables for building OpenSCAD against custom built
|
||||
# dependency libraries from linux-build-dependencies.sh
|
||||
# setup environment variables for building OpenSCAD against custom built
|
||||
# dependency libraries. called by linux-build-dependencies.sh
|
||||
|
||||
# run this file with 'source setenv-linbuild.sh'
|
||||
# run this file with 'source setenv-linbuild.sh' every time you re-login
|
||||
# and want to build or run openscad against custom libraries installed
|
||||
# into BASEDIR.
|
||||
|
||||
# BASEDIR and DEPLOYDIR must be the same as in linux-build-dependencies.sh
|
||||
BASEDIR=$HOME/openscad_deps
|
||||
# copy this file to your .bashrc if desired.
|
||||
|
||||
if [ ! $BASEDIR ]; then
|
||||
BASEDIR=$HOME/openscad_deps
|
||||
fi
|
||||
DEPLOYDIR=$BASEDIR
|
||||
|
||||
export PATH=$BASEDIR/bin:$PATH
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
too_old()
|
||||
{
|
||||
echo "System version too low. Please try 'old linux' build (see README.md)"
|
||||
exit
|
||||
}
|
||||
|
||||
if [ "`cat /etc/issue | grep 'Debian GNU/Linux 6.0'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
if [ "`cat /etc/issue | grep 'Debian GNU/Linux 5'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
if [ "`cat /etc/issue | grep 'Ubunutu 10'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
if [ "`cat /etc/issue | grep 'Ubunutu 9'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
if [ "`cat /etc/issue | grep 'Ubunutu 8'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
if [ "`cat /etc/issue | grep 'Ubunutu 7'`" ]; then
|
||||
too_old
|
||||
fi
|
||||
|
||||
echo "tested on Ubuntu 12. If this fails try 'old linux' build (see README.md)"
|
||||
|
||||
|
||||
if [ "`dpkg --list | grep -i cgal`" ]; then
|
||||
echo "Please make sure you have run apt-get purge on all cgal packages"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "`dpkg --list | grep -i opencsg`" ]; then
|
||||
echo "Please make sure you have run apt-get purge on all opencsg packages"
|
||||
exit
|
||||
fi
|
||||
|
||||
sudo apt-get install build-essential libqt4-dev libqt4-opengl-dev \
|
||||
libxmu-dev cmake bison flex libeigen2-dev git-core libboost-all-dev \
|
||||
libXi-dev libmpfr-dev libgmp-dev libboost-dev libglew1.6-dev
|
||||
|
||||
echo "now copy/paste the following to install CGAL and OpenCSG from source:"
|
||||
echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh cgal-use-sys-libs"
|
||||
echo "sudo BASEDIR=/usr/local ./scripts/linux-build-dependencies.sh opencsg"
|
Loading…
Reference in New Issue