cabal install fails because missing C library - linux

I want to install hemokit driver by the command cabal install hemokit command, but it's tells me that it fails when it's going to install the dependency 'hidapi'. And this is the message, which gives to me
`Configuring hidapi-0.1.3...
cabal: Missing dependency on a foreign library:
* Missing C library: udev
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
Failed to install hidapi-0.1.3
then I run the command sudo apt-get install udev to install udev package, but the problem didn't solved!

The udev library is a critical component of Ubuntu. What's missing are the development headers. Try running sudo apt-get install libudev-dev first and then installing hemokit.

Related

Cabal install (Cabal cabal-install) fails due to missing zlib library

I want to install Cabal 3.4.0.0 on Ubuntu 20.04.
$ sudo apt install cabal-install
$ cabal --version
cabal-install version 2.4.0.0
$ sudo cabal update
$ sudo cabal install Cabal cabal-install
...
Starting zlib-0.6.2.3
Failed to install zlib-0.6.2.3
Build log ( /root/.cabal/logs/ghc-8.6.5/zlib-0.6.2.3-93Wbo8gIIzI9bg4p2MsNUF.log ):
cabal: Entering directory '/tmp/cabal-tmp-126381/zlib-0.6.2.3'
Configuring zlib-0.6.2.3...
cabal: Missing dependency on a foreign library:
* Missing (or bad) header file: zlib.h
* Missing (or bad) C library: z
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.If the
library file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
If the header file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
...
cabal: Error: some packages failed to install:
cabal-install-3.4.0.0-3glzV3hM64DLoOfz3dHKsn depends on cabal-install-3.4.0.0
which failed to install.
hackage-security-0.6.0.1-KiAyVYLxooJAP3ckeQHnBD depends on
hackage-security-0.6.0.1 which failed to install.
zlib-0.6.2.3-93Wbo8gIIzI9bg4p2MsNUF failed during the configure step. The
exception was:
ExitFailure 1
The error says:
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version).
How can I install this package on Ubuntu 20.04?
You aim to install the cabal-install package. This package has a dependency that here produces a problem: the zlib package.
This zlib package is essentially a thin wrapper around the zlib C library [wikipedia]. As the error says however, you did not install the zlib library, or at least not its package where one can develop with the zlib library.
We can install this by installing the libghc-zlib-dev software package, for example with:
sudo apt-get install libghc-zlib-dev
If we inspect the package details on Debian, we see that essentially this is a package that will install the zlib1g-dev package, the package to develop software with the zlib library. We can thus decide to install libghc-zlib-dev, or zlib1g-dev with:
sudo apt-get install zlib1g-dev
Nixos Users append pkgs.haskellPackages.zlib to environment.systemPackages

Catkin_make can't find Boost?

I'm working on kinetic(Ubuntu 1604) and trying to compile vision_opencv, it's Cmakelists.txt contains find_package(Boost REQUIRED python3).
And I use sudo apt install libboost-all-dev to install boost, but it still raises Could not find a package configuration file provided by "Boost.
What can I do?
Thanks,

Installing octave in termux, "Unable to correct problems, you have held broken packages"

I am trying to install octave from the "Its Pointless" repository mentioned in the termux wiki. The repository is added successfully as far as I can tell. However, when I try the command pkg install octave I get the error "octave Depends openblas" "octave Depends arpack-ng" "Unable to correct problems, you have held broken packages"
I have run dpkg --get-selections | grep held but it doesn't return anything.
When I try to run pkg install openblas it gives the error "openblas Depends libgcc but it is not installable"
When I try to run pkg install libgcc it gives the error "package libgcc is not available but is referred to by another package, this may mean the package is missing, has been obsoleted, or is only available from another source. However, the following packages replace it: ndk-sysroot"
After searching some more I did pkg install clang but I still get the same errors. ndk-sysroot has been installed during installation of clang.
I have done apt-get autoclean, apt-get autoremove and apt-get purge but that did not do anything.
What can I do to fix this problem and install octave on my phone?
The problem got solved by itself.
I tried pkg install octave again and got a response saying "The repository https://termux.net stable Release is no longer signed."
So I ran the command bash setup-pointless-repo.sh again.
And that was it! pkg install octave is now working.

Haskell cabal install wx: missing C library wx_gtk2u_webview-3.0

I am trying to install wx by cabal install wx
Configuring wxc to build against wxWidgets 3.0
setup: Missing dependency on a foreign library:
* Missing C library: wx_gtk2u_webview-3.0
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
cabal: Error: some packages failed to install :
wx-0.92.0.0 depends on wxc-0.92.0.0 which failed to install.
wxc-0.92.0.0 failed during the configure step. The exception was:
ExitFailure 1
wxcore-0.92.0.0 depends on wxc-0.92.0.0 which failed to install.
but I have following files in /usr/lib :
/usr/lib/libwx_gtk2u_webview-3.0.so
/usr/lib/libwx_gtk2u_webview-3.0.so.0
/usr/lib/libwx_gtk2u_webview-3.0.so.0.2.0
I have also tried cabal install --extra-lib-dirs=/usr/lib/ wx but to no avail.
I have also tried all the suggestions in cabal install wx Missing C library
I am on archlinux and I have both wxgtk-3.0 and wxgtk-2.8 multilib and normal versions. I also tried reinstalling them.
I just ran into the same problem on Arch; when I tried running cabal with --verbose=3, it looked like libwx_gtk2u_webview-3.0 was present, but it was complaining about libwebkitgtk-1.0 being missing. After I installed the webkitgtk2 package, which provides libwebkitgtk-1.0, wxHaskell installed with no problems.
Try "sudo apt-get install libwxgtk-webview3.0-dev". It worked for me.

Linux - Yum Install GCC - Missing Kernel-headers

When ever i try to install GCC on my linux (centos) It comes back with missing
glibc-headers-2.5-58.el5_6.4.x86_64 from updates has depsolving problems --> Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-
58.el5_6.4.x86_64 (updates)
glibc-headers-2.5-58.el5_6.4.x86_64 from updates has depsolving problems
-->
Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5- 58.el5_6.4.x86_64 (updates)
Error: Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-58.el5_6.4.x86_64 (updates)
Error: Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-58.el5_6.4.x86_64 (updates)
I try yum install kernel-header & kernel-devel but get back:
No package kernel-headers available.
Any suggestions?
Your system is probably configured to exclude the kernel packages.
try:
sudo vi /etc/yum.conf
then comment (or remove the 'kernel*' part):
#exclude=kernel*
Then you should be able to do:
sudo yum install kernel-headers
Edit: Or, as pointed by Andrew Beals, you can simply run:
yum install kernel-headers --disableexcludes=all
Yes, you could edit the yum.conf file, or you could simply do this:
yum install kernel-headers --disableexcludes=all
Do note that even if your admin is trying to install an excluded package from your RHN Satellite server via the normal process, it will still fail due to the local configuration.
(This holds for RHEL6 / cent6 (centos6) as well, of course.)
I ran into this issue trying to install VMWare Tools. It required gcc and kernel headers -> kernel headers were missing.
So on Redhat 7.4 I had to execute 'yum install kernel-devel'.
try
yum search kernel-headers
gives:
arm-gp2x-linux-kernel-headers.noarch : Kernel headers for Cross Compiling to
: arm-gp2x-linux
kernel-headers.x86_64 : Header files for the Linux kernel for use by glibc
If you installed from Cloudlinux ISO, you can't do anything until you activate your server against a license, it will throw above error on a VPS.
I had the same issue. It seems that I need to install the kernel-devel-xx.rpm (from kernel development package) to my custom kernel:
sudo yum install kernel-devel-xx.rpm
Then you should be able to run:
sudo yum install kernel-devel

Resources