How to install libraries on jhbuild? - linux

I want to start to use jhbuild. It creates an isolated system to compile unstable packages ant try them. But it's not clear to me how to add a missing library to it.
Steps:
$ sudo apt-get install jhbuild
$ mkdir -p /opt/gnome
$ chown `whoami`.`whoami` /opt/gnome
$ mkdir ~/checkout/gnome
$ jhbuild bootstrap
... all correct ...
$ jhbuild sysdeps --install
... problems ...
Required packages:
Packages too old:
(none)
No match with system package
soundtouch (soundtouch-1.4.pc, required=0)
libicu (icu-i18n.pc, required=4)
libunistring
yajl
device-mapper
...
I read something about installing libicu here, but It do not explain where to checkout an how to compile.
I have tried
$ svn checkout http://source.icu-project.org/repos/icu/icu/tags/release-4-8/
$ cd release-4-8/source
$ ./autogen.sh --prefix=/opt/gnome
$ make
$ make install
with no luck.
My system is a 64bits one. I say because I have made this hack already

If you have a 64bit system and jhbuild is installing into /opt/gnome then you need to set your libdir to install libraries into /opt/gnome/lib64
add --libdir=/opt/gnome/lib64 onto the autogen.sh line.

You can just run sudo-apt get install libicu. The sysdeps are system dependencies, so they don't need to be installed in the JHBuild checkout, just on your system.
You might find this wiki page helpful: https://wiki.gnome.org/HowDoI/Jhbuild

Related

How to install SSReflect and MathComp in Linux?

I have successfully installed Coq 8.6 and CoqIDE in Linux (Ubuntu 17.04). However, I don't know to proceed in order to add SSReflect and MathComp to this installation. All the references that I have checked seemed to be very confusing to me. Does anyone have a straight and simple recipe to that? I do have opam installed.
I'm on Ubuntu 16.04. Let's take a step back and begin by installing OPAM:
$ sudo apt update && sudo apt install opam
$ opam --version
1.2.2
$ opam init # agree to modify your dot-files
$ eval `opam config env`
$ ocamlc -version
4.02.3
Next, you may want to switch from Ubuntu's pretty old OCaml version to a more recent one. This step is optional and it takes around 10 min.
$ opam switch 4.04.1
$ eval `opam config env`
$ ocamlc -version
4.04.1
Now, let's add the following repository to be able to install math-comp:
$ opam repo add coq-released https://coq.inria.fr/opam/released
And, finally, install ssreflect:
$ opam install coq-mathcomp-ssreflect
OPAM will figure out the dependencies (including Coq), download and install what we have asked!
For sake of completeness, an alternative way is by using the Nix package manager (instead of OPAM). After installing it (curl https://nixos.org/nix/install | sh), you can launch a CoqIDE with Math-Comp available with the following command:
nix-shell -p coqPackages_8_6.mathcomp --run coqide
Then you can just start your file with From mathcomp Require Import ssreflect.

./configure error while installing conky

I've downloaded conky from GitHub and when I try to use the ./configure command, I get this following error :
bash: ./configure: No such file or directory
I opened my terminal in the Src folder and tried this command. What am I missing?
This is the screenshot of the terminal and the downloaded conky folder
I see CMakeLists.txt and doubled checked, per the documentation use cmake
1.10 and later versions
Conky 2 will use cmake instead of autotools which means you won't need autoconf and automake anymore but you'll need cmake.
autoconf and automake (and autogen) are what generally drive "configure".
You will need the tolua library (Ref.), which can be installed for Linux with apt-get install libtolua-dev libtolua++5.1-dev. You also need the following development packages if you keep the default cmake configuration: apt-get install libx11-dev libxft-dev libxdamage-dev libncurses5-dev libxinerama-dev.
Then, building conky will work like this:
$ mkdir build
$ cd build
$ ccmake ..
# this will launch a curses-based UI where you can configure
# everything, when you are ready you can build as usual:
$ make # This will compile conky in the `src` subdirectory
$ make install

How do I install protobuf 2.5 on Arch Linux for compiling hadoop 2.6.0 using maven 3.3.1?

Am looking for installing protobuf 2.5.0 on Arch Linux, so that protoc-2.5.0.so is installed on the OS, so that I can go ahead with building hadoop 2.6.0 from source and make my life easy! :)
BTW, protobuf 2.6.0 does not compile when hadoop is built from source I have tried that as well. Ubuntu 14.04 comes with protoc 2.5.0. I DO NOT want to use Ubuntu.
Please check the screenshot first (there is no protobuf 2.5.0), since the problem lies there.. I guess
am getting the following exception, I am aware that protoc is not installed in arch linux currently.
[ERROR] Failed to execute goal
org.apache.hadoop:hadoop-maven-plugins:2.6.0:protoc (compile-protoc)
on project hadoop-common:
org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did
not return a version -> [Help 1]
Please help me out, since, I have spent 4 hours every day from two days, with no luck.
Compiling Google's protobuf is pretty easy.
I originally found out how to do it on this blog post while compiling hadoop myself.
But here is my version:
$ cd /usr/local/src/
$ wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
$ tar xvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
$ make install
$ protoc --version
Install protobuf for java
$ cd java
$ mvn install
$ mvn package
You should be good to go.
To enable you to install different versions of protobuf, install stow
then change ./configure --prefix=/usr to ./configure --prefix=/usr/local/stow/protobuf-2.5.0
Then link protobuf into your system with stow:
$ cd /usr/local/stow
$ stow protobuf-2.5.0
Note: stow uses /usr/local/bin by default. Make sure thats in your $PATH
To unlink that version of protobuf,
$ stow -D protobuf-2.5.0
Hope this helped.
I wonder why the above answer got downvoted,even I had to perform few more steps (in addition to the accepted answer by Rudker) to get protobuf 2.5 installed on Ubuntu Xenial.
Leaving the additional steps here for everyone's benefit:
apt-get install autoconf in response to the error : ./autogen.sh: autoreconf: not found for command : ./autogen.sh
apt-get install libtool in response to the error : autoreconf: libtoolize is needed because this package uses Libtool for command : ./autogen.sh
apt install g++ in response to the error : configure: error: C++ preprocessor "/lib/cpp" fails sanity check for command : ./configure --prefix=/usr
An easier but not future proof solution (for future queries) would be to head over to Arch Linux Archives: http://seblu.net/a/archive/packages/p/protobuf/
Uninstall the newer version of protobuf and install the downloaded package via pacman -U protobuf-2.5.x..
Though whenever you upgrade the Arch Linux packages via pacman you'd need to ensure you are doing: sudo pacman -Syu --ignore protobuf
I currently don't have enough reputation to comment, so I add a answer here to update the top voted answer.
Since protobuf move to different repo, the new wget command should be:
wget https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
And in order to run ./autogen.sh, you may need install these:
sudo yum install libtool automake autoconf
For OSX prerequisites, try SunitaKoppar's answer (I don't know why the down-votes).
Thanks for the steps. Just wanted to add that, to get autogen.sh to work, I had to install the below packages (commands for mac below):
brew install gtk
brew install autoconf
brew install automake

Can't override libpng15 with newer install

I've downloaded and installed libpng from http://www.libpng.org/pub/png/libpng.html, which is version 1.6.16, following their simple instructions:
./configure
./make check
sudo ./make install
It runs with everything successful, and says it's been installed. However, after doing this I still read:
$ libpng-config --cflags --ldflags
-I~/anaconda/include/libpng15
-L~/anaconda/lib -lpng15
This is breaking other builds and installs, which sometimes detect 15 while requiring 16. How can I fix this?
Fedora Linux 20 x 64
If you want libpng16 to go in your $HOME/ then, in your libpng directory, run
./configure --prefix=$HOME
./make
./make install
This will install png*.h in $HOME/include/, libpng-config in $HOME/bin/,
and the library itself in $HOME/lib/.
If you want to put it in some other directory where you don't have write permission, the final command is
sudo ./make install

How to install Cabal

I have downloaded the cabal-install-1.20.0.1.tar.gz directory. But am unsure what to do with it? Opening it up there is just a bunch of files, there is no installer etc. I found an old guide but it is from 2011 and is now obsolete, any help?
How you install Cabal depends on how your system is set up. Cabal definitely requires a working compiler to install. So you have a few options, and some of them are more preferred than others:
If you don't have a compiler, get GHC and the Haskell Platform. The Haskell Platform is a collection of important and useful libraries for Haskell. The Haskell Platform is the "batteries included" distribution -- this is the one you want if you want your Haskell system to "just work."
If you already have a compiler, but you don't have Cabal, you can install Cabal by running the bootstrap.sh script in the tar file you downloaded. You can also do it by running:
runhaskell Setup configure --user
runhaskell Setup build
runhaskell Setup install
inside the cabal-1.20 directory. Notice that I passed in a --user flag. This lets you install Cabal just for your user. If you are unable to install to the system, you will want to use this last option.
I am not actually sure that Cabal 1.20 will install with a compiler as old as GHC-7.4.1. If it doesn't work, you can actually get GHC-7.6.3 (or even 7.8) installed in your user directory. The GHC binary linux installer uses the configure/make/install system, so you can pass in a --prefix. If you go this route, I would advise using your new GHC to build the Haskell Platform (which also accepts a --prefix option). So doing that would look something like:
<download ghc-7.6.3 tar file from http://www.haskell.org/ghc/download_ghc_7_6_3#x86linux>
<untar the ghc tar file>
$ cd <the ghc directory>
$ ./configure --prefix=$HOME
$ make install
$ cd ..
<download haskell platform source from http://www.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz>
<untar the haskell platform tar file>
$ cd <the haskell-platform directory>
$ ./configure --prefix=$HOME
$ make
$ make install
And then you would have to edit your path so that "$HOME/bin/" comes before "/bin"
There should be a file named bootstrap.sh in the tarball. Run it to install cabal-install.

Resources