[Arch Linux| Installation

Post Reply
efx
Posts: 1
Joined: Thu Dec 01, 2011 9:59 pm

[Arch Linux| Installation

Post by efx »

Hi,


I adapted the linux-install_dependencies for Arch linux distribution. It uses pacman (the arch linux package manager) to install the following dependencies :

Code: Select all

subversion doxygen make automake autoconf cmake unzip gcc g++ libgtk2.0-dev libglade2-dev libitpp-dev libgsl0-dev libexpat1-dev libois-dev libreadline5-dev libzzip-dev libtool libxaw7-dev libpcre3-dev libfreeimage-dev libglu1-mesa-dev libalut-dev libvorbis-dev
Whereas

Code: Select all

Pthreadstubs / clearlooks / boost / itpp_external / ois / cg / ogre. 
are compiled.

Below is the relevant code. It should be put just after the line

Code: Select all

 echo "Checking native dependencies..."
in the ./scripts/linux-install_dependencies file.

Code: Select all

	if [[ "`grep Arch /etc/issue 2> /dev/null`" != "" ]]; then
		ov_native_package_installed=true
		ov_native_package_log_file="$ov_target_folder_log/native-packages.log"
		ov_arch_packages="cmake pkgconfig expat xml2 gettext xproto zlib libpng freetype2 fontconfig libtool  xtrans libxslt libxau xcb-proto libxcb kbproto inputproto libxdmcp libx11 libxext xextproto renderproto libxdmcp libxrender libice libsm libxt libxmu libxpm libxaw xf86vidmodeproto xextproto randrproto glib pixman cairo pango atk gtk libglade glade  freeimage zziplib libxrandr libxxf86vm"
		for package in $ov_arch_packages; do
			ov_pacman_output=`pacman -Qs $package 2>&1`
			ov_pacman_retcode=$?
			if [[ $ov_pacman_retcode != 0 ]]; then
				ov_native_package_installed=false
			fi;
			if [[ "$ov_pacman_output" == "" ]]; then
				ov_native_package_installed=false
			fi;
		done;

		if [[ $ov_native_package_installed == false ]]; then
			echo "  You are currently running Arch"
			echo ""
			echo "  It is possible to install native packages in order to avoid some potential"
			echo "  errors / save time. Such installation requires root access. If you want"
			echo "  to continue with native packages, answer 'yes' (recommanded)"
			echo ""

			if [[ -e "$ov_target_folder_hit/native-packages.hit" || $ov_native_package_forced == true ]]; then
				echo "  Do you want to install native packages (y) ? automatically selected yes"
				ov_answer=yes
			else
				echo -n "  Do you want to install native packages (y) ?"
				read ov_answer
			fi;

			if [[ $ov_answer == "yes" || $ov_answer == "y" || $ov_answer == "" ]]; then

				echo "  Installing native packages on background..."

				# sudo -k # revokes root privilege
				# sudo apt-get --assume-yes install $ov_ubuntu_packages > $ov_native_package_log_file 2>&1
				# sudo -k # revokes root privilege

				su -c "pacman -S $ov_ubuntu_packages > $ov_native_package_log_file 2>&1"
				# su -C "yaourt -S itpp"
				echo "  Installing native packages on background... done."

				ov_should_hit_native=true
				ov_native_package_installed=true
			else
				echo "  All right, we will compile everything..."
			fi;
		else
			if [[ -e "$ov_target_folder_hit/native-packages.hit" ]]; then
				echo "  You are currently running Arch and all required native packages were"
				echo "  installed previously, continuing..."
				ov_should_hit_native=true
				ov_native_package_installed=true
			else
				echo "  You are currently running Arch and all necessary native dependencies are"
				echo "  already installed."
				echo ""
				echo "  It is possible to install use those native packages in order to avoid some potential"
				echo "  errors / save time. Such installation requires root access. If you want"
				echo "  to continue with native packages, answer 'yes' (recommanded)"
				echo ""
				if [[ $ov_native_package_forced == true ]]; then
					echo "  Do you want to use native packages (y) ? automatically selected yes"
					ov_should_hit_native=true
					ov_native_package_installed=true
				else
					echo -n "  Do you want to use native packages (y) ?"
					read ov_answer
					if [[ $ov_answer == "yes" || $ov_answer == "y" || $ov_answer == "" ]]; then
						ov_should_hit_native=true
						ov_native_package_installed=true
					fi;
				fi;
			fi;
		fi;

		if [[ $ov_should_hit_native == true ]]; then

			ov_hit_package "native-packages"

			ov_hit_package "pkgconfig"
			ov_hit_package "cmake"

			ov_hit_package "expat"
			ov_hit_package "libxml"
			ov_hit_package "gettext"
#			ov_hit_package "pthreadstubs"
			ov_hit_package "zlib"
			ov_hit_package "libpng"
			ov_hit_package "freetype"
			ov_hit_package "fontconfig"
			ov_hit_package "libtool"

			ov_hit_package "libxproto"
			ov_hit_package "libxextproto"
			ov_hit_package "libxtrans"
			ov_hit_package "libxslt"
			ov_hit_package "libxau"
			ov_hit_package "libxcbproto"
			ov_hit_package "libxcb"
			ov_hit_package "libkbproto"
			ov_hit_package "libinputproto"
			ov_hit_package "libxdmcp"
			ov_hit_package "libx11"
			ov_hit_package "libxext"
			ov_hit_package "renderproto"
			ov_hit_package "libxdmcp"
			ov_hit_package "libxrender"
			ov_hit_package "libice"
			ov_hit_package "libsm"
			ov_hit_package "libxt"
			ov_hit_package "libxmu"
			ov_hit_package "libxpm"
			ov_hit_package "libxaw"
			ov_hit_package "libxf86vidmodeproto"
			ov_hit_package "libXxf86vm"
			ov_hit_package "librandrproto"
			ov_hit_package "libXrandr"

			ov_hit_package "mesa"

			ov_hit_package "glib"
			ov_hit_package "pixman"
			ov_hit_package "cairo"
			ov_hit_package "pango"
			ov_hit_package "atk"
			ov_hit_package "gtk"
#			ov_hit_package "clearlooks"
			ov_hit_package "libglade"
			ov_hit_package "glade"
#			ov_hit_package "boost"

#			ov_hit_package "itpp_external"
			ov_hit_package "itpp"
			ov_hit_package "gsl"

			ov_hit_package "freeimage"
#			ov_hit_package "ois"
			ov_hit_package "zziplib"
#			ov_hit_package "cg"
#			ov_hit_package "ogre"

#			mkdir "$ov_target_folder_lib/OGRE" 2> /dev/null
#			rm "$ov_target_folder_lib/OGRE/Plugins.cfg" 2> /dev/null
#			echo "# Define plugin folder" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "PluginFolder=/usr/lib/OGRE" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "# Define plugins" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "Plugin=RenderSystem_GL" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "Plugin=Plugin_ParticleFX" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "Plugin=Plugin_BSPSceneManager" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "Plugin=Plugin_OctreeSceneManager" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"
#			echo "#Plugin=Plugin_CgProgramManager" >> "$ov_target_folder_lib/OGRE/Plugins.cfg"

		else

			ov_hit_package "no-native-packages"

		fi;
	fi;

[EDIT]

I forgot something for the compilation to work properly on Arch Linux.
If you have a problem during the building of clearlooks you can just add this piece of code before the line 184 (starting with ./configure --prefix=...)

Code: Select all

			if [ "$ov_current_package" == "clearlooks" ]; then
				cd $ov_target_folder_arch/$ov_current_package_archive_name
				echo "autoreconf needed"
				autoreconf --force --install --symlink
			fi;

in the linux_install_dependencies script

lbonnet
Site Admin
Posts: 417
Joined: Wed Oct 07, 2009 12:11 pm

Re: [Arch Linux| Installation

Post by lbonnet »

Many thanks efx !

If someone out there is willing to give it a try, please let us know.

Cheers
Laurent
Follow us on twitter >> openvibebci

Checkout my (old) blog for some OpenViBE tips & tricks : here !

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: [Arch Linux| Installation

Post by yrenard »

Chears,

I just wrote a new blog post about how to compile OpenViBE on a new Linux distro.

I hope this helps future contributors !
Regards,
Yann

Post Reply