Compiling Cairo-dock errors on GTK dependency - linux

I've Redhat 7.2 running Cinnamon, and hate the docks provided, how come I can't resize the area a widgit is allocated? All apps are jammed into half the dock.
Drives me to compile cairo-dock from source as it isn't an ibm redhat blessed package.
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
...
-- checking for module 'wayland-client>=1.0.0'
-- package 'wayland-client>=1.0.0' not found
-- checking for module 'gtk+-3.0>=3.4.0'
-- package 'gtk+-3.0>=3.4.0' not found
so I find gtk version is 3.14.13-16.el7 using yum list installed "gtk*"
I downloaded gtk 3.4.4 and compiled it and follow the INSTALL provided, sudo make install, which completes with no errors
rerunning cmake gives me the same error, so I'm wondering if I had to remove 3.14? I'm not really sure how best to proceed and thought it best to get some advice. I'm not really in the mood to break things. Thanks for your time and consideration.

Calvin, I'm also IBMer and installed RHEL7.2 from IBM's image.
I could successfully download the sources and install Cairo Docker and respective plugins.
I followed the instructions in this page here:
Glx-Dock - Generic:Compilation
First, install all dependencies below from official IBM repository.
I used the same package names for the Fedora dependencies and some may NOT exist for RHEL. Therefore, some plugins won't be available by fetching dependencies from official repository only - but the Cairo Docker will work.
sudo yum install cmake make pkgconfig gcc gcc-c++ gettext glib2-devel\
cairo-devel librsvg2-devel dbus-glib-devel libxml2-devel libXrender-devel\
mesa-libGL-devel mesa-libGLU-devel pango-devel libXxf86vm-devel\
libXtst-devel libXrandr-devel libX11-devel libcurl-devel gtk3-devel\
vte3-devel lm_sensors-devel libxklavier-devel libexif-devel\
libetpan-devel gnome-menus-devel alsa-lib-devel libical-devel\
upower-devel libzeitgeist-devel
Untar the packages and build with the commands described there except that you need to force the lib64 in both main and plugin builds with:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_LIB64=yes

Related

CMake : Could NOT find Qt5FontDatabaseSupport

I got the following error after running cmake for this :
Could NOT find Qt5FontDatabaseSupport (missing:
Qt5FontDatabaseSupport_LIBRARY Qt5FontDatabaseSupport_INCLUDE_DIR) (found
version "5.12.8")
I cannot find any package with that name in my linux repository.
That is one of the dependencies for the Qt QPA plugin , as stated in the CMakeLists.txt comments.
I use Kubuntu 20.04 with cmake 3.16 and Qt5.12.
Thanks.
Most likely you don't have the build dependencies installed. Qt5FontDatabaseSupport is part of the gui Qt module, for which the headers and devel files are installed with the qtbase5-dev package.
Kwin has many more build dependencies than qtbase, so the best if you install all of them with:
sudo apt build-dep kwin
at once, or with
sudo apt build-dep kwin-wayland
if you want to hack it under wayland.

Linux Installation libX11-devel

I am trying to build QT4 (porting from Redhat 5 to 7 with an upgraded gcc compiler) in RedHat 7 and I was getting an error saying X11/Xlib.h can't be found. Anyways, after doing some research most people said to install libX11-devel to get those x11 libraries. Since I am using an offline machine I can't do "apt-get" type commands and have to manually install RPMs. So, I went to my RH-7 installation DVD and got "libX11-devel-1.6.3-3.el7.x86-64" (I have 64 bit OS) and tried to install using "yum install libX11-devel-1.6.3-3.el7.x86_64" and I am getting dependencies errors. It's saying
...Requires: pkgconfig(kbproto)
...Required: pkgconfig(xcb)
...Requires: pkgconfig(xproto)
...Requires: pkgconfig(xcb) >= 1.1.92
So, here are my questions.
1) when it says "pkgconfig(kbproto)", is it saying find the "kbproto....RPM" and do a "yum install". In my dvd I only have "xorg-x11-proto-devel-7.7.13.el7.noarch.rpm". Do I have to somehow find "xorg-x11-proto......x86_64.rpm" since it's a 64 bit machine?
2) Is there a difference between "yum install" and pkgconfig "install"? Are there any other installation variants in Linux?
3)For an offline machine, Is there anyway I can get all the dependencies and install everything at once ?
4) Why is it saying "xcb" requires twice. If I just get a xcb...rpm version above 1.1.92 can I just install it once?
Before actually answering the questions, I am going to suggest to see if you can get the latest version of the packages. The packages on the installation DVD may be really out of date and contain known vulernabilities, and other bugs. Can you use yumdownloader - in an online environment - to download the latest version onto a separate DVD and use that as the installation source? See https://access.redhat.com/solutions/10154 for more information.
To answer the questions themselves:
Requires: foo can refer to a package foo or a "feature" foo. pkgconfig(kbproto) is a "feature" (or virtual requires). You can use yum/rpm to see what provides this. On my Fedora box, for example, rpm -q --provides xorg-x11-proto-devel shows that this package indeed provides pkgconfig(kbproto).
As for x86_64 vs noarch, it doesn't matter. noarch packages work everywhere. Other packages are restricted to the platform. So x86_64 only works on intel/amd x86 64-bit machines. Installing noarch should be fine in your case. If you only had a i686 package, though, that wouldn't be sufficient. You would have to find a x86_64 or noarch package.
Yes, there's a big difference between yum and pkg-config. They do completely different things. One is a system tool for installing RPM packages. The other is a tool for developers for using the right headers and compiler flags. If your concern is finding/installing RPMs, do not use pkg-config directly.
Do you have access to an online machine that can access the RHEL 7 yum repositories? On that machine, do something like this:
mkdir rhel7-packages
cd rhel7-packages
yum provides '*/X11/Xlib.h' # make a note of the package that provides this file. it's libX11-devel on Fedora here
yumdownloader --resolve libX11-devel # download libX11-devel and all dependencies not installed on the system
Then copy/install the RPMs on the machine without internet access.
It's probably printing out xcb twice because it's two different requirements. The unversioned requirement will be satisfied if you install any verison of xcb. The versioned requirement will only be satisfied if you install 1.1.92. If you install 1.1.92, it will satisified both the requirements.
1.
You have to resolve the dependency on the system where you are building your package. This means you need to have those dependencies installed, inclusing libX11-devel. To do that, download the RPMs manually from EL7 repos to local disk and run this:
$ mkdir -p /tmp/libX11_dep_rpms && cd /tmp/libX11_dep_rpms
# Download all dependencies from here. All your packages should be available here:
# http://mirror.centos.org/centos-7/7/os/x86_64/Packages/
# Then install
$ yum localinstall *.rpm
# After this you should be able to build your qt4 package, provided all dependencies are resolved. Otherwise, repeat the procedure for all dependencies
# If you can't download packages, then you need to create a FULL DVD ISO that will contain all packages.
2.
pkgconfig ensures that a requirement is coming from a particular build that provides a particular version of the library. Here are some detail.
3.
Get the Everything ISO from EL7.
4.
This has to do with the pkgconfig and library versions.

Build gnome-shell issue: jhbuild does not find libtiff

I started tinkering with gnome-shell to kill time and I just can't get jhbuild to work! I followed all the instructions on the jhbuild guide on the gnome-shell wiki.
I got to the part where it says to run $ jhbuild sysdeps gnome-shell.
txjoe#superpotato:~$ jhbuild sysdeps gnome-shell
System installed packages which are new enough:
libvpx (vpx.pc, installed=1.4.0)
speex (speex.pc, required=1.2rc1, installed=1.2rc1)
ruby
libtool
libtool-ltdl
[...]
gmime (gmime-2.6.pc, required=2.6.6, installed=2.6.20)
docbook-xml
mtdev (mtdev.pc, required=1.1.1, installed=1.1.5)
Required packages:
System installed packages which are too old:
(none)
No matching system package installed:
libsystemd-journal (libsystemd-journal.pc, required=201)
libtiff
poppler (poppler-glib.pc, required=0.24.0)
Optional packages: (JHBuild will build the missing packages)
System installed packages which are too old:
libical (libical.pc, required=1.0.1, installed=1.0)
WebKit (webkit2gtk-4.0.pc, required=2.11.3, installed=2.8.5)
No matching system package installed:
I installed the following packages manually
libsystemd-dev
python-poppler
libtiff5
python-libtiff
And I got the same output when I ran the same command again.
I checked other answers here, nothing seems to work so far. Any tips?
You need to install the development packages. It is possible that you installed the runtime libraries, but those ones do not have the header files to compile a program.
The development libraries in Debian-based distributions end in -dev. Thus, installing libtiff5 is not enough, because it is the runtime library.
In your specific case, you must install libtiff5-dev, libpoppler-glib-dev, and libsystemd-dev.
Alternatively, you can try:
$ sudo apt-get build-dep gnome-shell
This command will install the development libraries required to build gnome-shell. At least, this might help to start with, and fix the particular issues/

Fedora - Reinstalling GMP with C++ support

I'm trying to install a library that uses gmp and am running the ./configure on it.
So far, I've gotten past several snags, such as requiring gcc, g++, and m4 by using:
yum install gcc
yum install gcc-g++
yum install m4
Now I'm getting this error:
checking for the GMP library version 4.1.3 or above... no
configure: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
When compiling the GMP library, do not forget to enable the C++ interface:
add --enable-cxx to the configuration options.
As such, I tried both installing and updating gmp using yum:
yum install gmp
yum update gmp
Install tells me it's already installed and is v. 5.1.2
Updating says there's nothing to update.
I went to the gmp site and it is currently v. 6.0.0
I downloaded it and ran configure (using --enable-cxx), make, and make install.
Yet, nothing has changed. It still says I have v. 5.1.2 and the configure for the library still says it can't find 4.1.3 and above / try enabling c++.
The gmp files (such as gmp.h) are being placed in /usr/local/lib and /include
I've been at this for hours without any progress. I'm rather new to linux so I imagine there's something I just don't know about.
Am I not installing 6.0.0 correctly to overwrite the already installed one?
Or is there a way to reinstall the original with the c++ option?
Any help would be appreciated. Thanks.
dnf install gmp-devel resolved this for me on rhel
When you manually install something, as you have, it doesn't get installed in the normal /usr/lib directory and therefore it doesn't overwrite it. This is a good thing. In general, you shouldn't mess with files installed by the package manager. (Except in the case that they are config files that are meant to be edited.)
When you install manually, it is installed to /usr/local/lib. Fortunately, GCC and other compilers don't care which directory something is installed in, they will find it (when it's in standard places like /usr/* or /usr/local/*).
Just include the C++ header and add the correct -l library flag.
I figured it out.
Under the --help section of the ./configure for the library I was trying to install, there was actually a feature just for this:
--with-gmp-include=DIR
--with-gmp-lib=DIR
Using these, I was able to get it to install.
Thanks for the help.
I think I was too focused on trying to update the system install of gmp.

Error building haskell llvm bindings on Linux

I built llvm 3.0, downloaded from here. I did:
./configure CC=gcc CXX=g++ --enable-shared
sudo make -j5 -s install
Next, I cloned the LLVM bindings from here. I am trying:
runhaskell Setup configure
But I get:
Configuring llvm-3.0.0.0...
Setup.lhs: At least the following dependencies are missing:
llvm-base ==3.0.*, type-level -any
I am running Linux Mint 64-bit (equivalent to Ubuntu 11.0). GHC is 6.12.3. I tried a cabal install but apparently the llvm version is too old to run some examples (am I mistaken?).
What am I doing wrong?
Bryan recently split the llvm package in two, that split has not yet made it to hackage. So if you don't want to simply cabal install the hackage version,
install the type-level package (cabal install should work fine)
cd into the base subdirectory of the llvm-repo, install llvm-base
cd into the llvm directory, install
I have not tried it, so it might not work, but usually Bryan's repos are buildable, so there's a good chance that it does.

Resources