Difficulties installing Cro: "Failed to find dependencies: CBOR::Simple" - raku

I'm hoping to try out the Cro library in Raku: https://cro.services/docs
However, when I try to install it using zef, I get this output:
zef install Cro::HTTP 1 ⨯
===> Searching for: Cro::HTTP
===> Searching for missing dependencies: IO::Socket::Async::SSL, OO::Monitors, IO::Path::ChildSecure, Base64, HTTP::HPACK, Cro::Core:ver<0.8.6>, Cro::TLS:ver<0.8.6>, JSON::Fast, Crypt::Random, JSON::JWT, DateTime::Parse, Log::Timeline
===> Searching for missing dependencies: MIME::Base64, OpenSSL, Digest::HMAC, if, CBOR::Simple
===> Failed to find dependencies: CBOR::Simple
Failed to resolve some missing dependencies
Same results on Ubuntu (WSL2) and Kali linux.

I asked around on GitHub and IRC. The solution was to download and use rakudo-pkg to get a newer version of zef. The one that can be installed via apt is too old.

Related

How to use software built from source and installed with brew in the same project?

I am trying to get my head around package managers. I recently installed llvm in macOS using
brew install llvm
I installed python3.8 using pyenv and CMake latest release from https://cmake.org/download/. Brew displayed this message after the installation:
==> Dependencies
Build: cmake ✘, python#3.8 ✘
Required: libffi ✔
I have 2 questions:
Should I be concerned that I did not install CMake nor python3.8 using brew? I would like to know before replacing my previous CMake and python3.8 installations with those offered by brew.
Is there a way to use pakages/software installed with brew and without it in the same project and not make everything a mess? If there is, how can I learn to do it?
I am a physics major so my knowledge in these topics is not as good as I would like to.
Thanks for the help!

Could not find installation path for: apcu valet

I set up valet pro with composer, however, the site threw an error ERR_CONNECTION_REFUSED.
I tried to run valet install and it failed due to valet not finding installation path for pecl. How can I fix this?
[nginx] Stopping
[valet-php#7.2] Stopping
[valet-php#7.3] Stopping
[valet-php#7.4] Stopping
[mysql#5.7] Stopping
[redis] Stopping
[devtools] Installing tools
[devtools] wp-cli already installed
[devtools] pv already installed
[devtools] geoip already installed
[devtools] zlib already installed
[binaries] Installing binaries
[BREW TAP] henkrehorst/php already installed
[PECL] Updating PECL channel: pecl.php.net
[PECL] Installing extensions
In Pecl.php line 146:
Could not find installation path for: apcu
Could not download from "https://pecl.php.net/get/apcu-5.1.17.tgz", cannot download "pecl/apcu" (Connection to `ssl://pecl.php.
net:443' failed: )
Error: cannot download "pecl/apcu"
Download failed
install failed
There are chances that extension="apcu.so" shows double times in your php.ini. So first remove one.
And then run below commands:
pecl config-set preferred_state beta
pecl install geoip
I had the same issue and it fixed!

Kata 1.6.2 dependency chain broken

Kata 1.6.2 release page here:
https://github.com/kata-containers/runtime/releases/tag/1.6.2
We are trying to consume the latest stable-1.6 release of kata but are hitting the dependency error below when attempting to install the package.
$ sudo apt install kata-runtime
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
kata-runtime : Depends: kata-linux-container (>= 4.19.34.33-4) but 4.19.28.31-3 is to be installed
E: Unable to correct problems, you have held broken packages.
http://download.opensuse.org/repositories/home:/katacontainers:/releases:/x86_64:/stable-1.6/xUbuntu_16.04/
https://imgur.com/aA8GOe2.jpg
To answer this question. You can download the latest package based on the fixes identified in 1.6.2. In particular, this fix.
You can always download the 1.6.2 package too: kata-static-1.6.2-x86_64.tar.xz.

Apache 2.4.7 mod-mono won't install ubuntu 14.04

Recently reinstalled my computer with Ubuntu 14.04.
This pc is to be used to develop ASP.NET mono applications.
So I installed the latest 3.12.0 version of Mono.
Also installed Apache2 (2.4.7 is the latest).
Last thing is to install Mod_Mono. This is where it fails.
sudo apt-get install libapache2-mod-mono
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libapache2-mod-mono : Depends: apache2.2-common but it is not installable
E: Unable to correct problems, you have held broken packages.
So I tried to install apache2.2-common but that does not exist, there is only a apache2.2-bin. I installed that and it still did not solve my problem.
sudo apt-get install apache2.2-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package apache2.2-common is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
apache2-bin:i386 apache2:i386 apache2-data apache2-bin apache2
E: Package 'apache2.2-common' has no installation candidate
Any suggestions to what I can do so I can host my Mono application through apache2?
Solved this issue by installing Apache 2.2.22.
Had a bit of trouble doing that, but finally installed it running this command.
sudo apt-get install apache2=2.2.22-1ubuntu1.7 apache2.2-common=2.2.22-1ubuntu1.7 apache2.2-bin=2.2.22-1ubuntu1.7 apache2-mpm-worker=2.2.22-1ubuntu1.7
Note: you need to add the precise repository to your software sources, else you won't have the package available to install.

apt-get conflict in Ubuntu

I have tried to install mod_security, but it has the error, so I tried aptitude:
apt-get install libapache-mod-security
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libapache-mod-security : Depends: libapache2-modsecurity but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root#srv16540:~# aptitude install libapache2-modsecurity
The following NEW packages will be installed:
apache2.2-common{ab} libapache2-modsecurity modsecurity-crs{a}
0 packages upgraded, 3 newly installed, 0 to remove and 10 not upgraded.
Need to get 660 kB of archives. After unpacking 2,861 kB will be used.
The following packages have unmet dependencies:
apache2 : Conflicts: apache2.2-common but 2.2.22-1ubuntu1.4 is to be installed.
apache2.2-common : Depends: apache2.2-bin (= 2.2.22-1ubuntu1.4) but 2.4.6-2~precise+1 is installed.
apache2-bin : Conflicts: apache2.2-common but 2.2.22-1ubuntu1.4 is to be installed.
apache2-data : Conflicts: apache2.2-common but 2.2.22-1ubuntu1.4 is to be installed.
The following actions will resolve these dependencies:
**Keep the following packages at their current version:**
1) apache2.2-common [Not Installed]
2) libapache2-modsecurity [Not Installed]
3) modsecurity-crs [Not Installed]
Accept this solution? [Y/n/q/?] q
Abandoning all efforts to resolve these dependencies.
I do now know what Keep the following packages at their current version means.
I want to know what does happen if I press yes. Does it replace my current apache2? Do I need to back up before doing this?
ANSWERS
I do now know what Keep the following packages at their current version mean
aptitude is trying to resolve the dependencies and possible conflicts to satisfy your installation request. It then proposes a solution. In your particular case the first solution it finds is to keep everything as it actually is, that's what keep at their current version + [Not installed] means.
I want to know what does happen if I press yes , does it replace my current apache2 ?
No, that solution will basically do nothing.
Do I need back up before ?
As boring as it sounds, backups are a good strategy to save time in the long run. If you're messing with important data then it should be even more important for you.
CONTEXT
I've seen other scenarios make aptitute propose solutions with combinations like these:
Remove the following packages
Keep the following packages at their current version
Leave the following dependencies unresolved
The following packages have been kept back
The following packages will be upgraded
The following packages were automatically installed and are no longer required
The following extra packages will be installed
Suggested packages
The following packages will be REMOVED
(and probably others)
In your case if instead of accepting the solution (or quitting), you reject it by pressing n, then aptitude will try to figure out another scenario that could be useful and propose it to you again. You can iterate through the solutions doing that and if any of them satisfies you then you can accept it.
SOLUTION (?)
As far as I can see by your output:
apache2.2-common : Depends: apache2.2-bin (= 2.2.22-1ubuntu1.4) but 2.4.6-2~precise+1 is installed.
Your problem is that you have apache2-2.4.6-2~precise+1 installed which isn't available from standard Ubuntu precise repositories (most probably installed from this PPA), and you're requesting a package which conflicts with that other one.
I'd take a look at the answers on how to remove PPAs and after you have removed that source I'd reinstall apache 2.2 from the standard repos with this command:
sudo aptitude install apache2
That's exactly what it did for me:
$ sudo apt-get remove apache2-bin
$ sudo apt-get autoremove
$ sudo apt-get install apache2
Open synaptic manager and search for apache2.2-bin. Mark it for removal. Then
sudo apt-get install apache2
Just remove all the content of /var/lib/apt/lists directory:
sudo rm -rf /var/lib/apt/lists/*
then run:
sudo apt-get update