A library is installed with `yum install` but not with `yum update` - cmake

In my CMakeLists.txt, I have the following:
set(CPACK_RPM_PACKAGE_REQUIRES "boost148, intel-daal-core-2018.1-163, \
intel-mkl-core-2018.1-163")
My problem is that when I do a yum install,the intel-mkl-core-2018.1-163 library gets installed, but when I do yum update on a machine that did not have intel-mkl-core - it does not get installed.
I also tried yum upgrade, with the same results.
The above does not seem to be the correct behaviour. Any suggestions on how to debug this issue?
(OS: CentOS/RedHat 7)

yum update means: update every currently installed package. If intel-mkl-core was not installed before, it won't be updated...
yum install means: install (or update) this package even if it was not installed before.

Related

How to specify parameters for a silent yum installation process?

When installing a package with yum, I am asked for a serial number and token during the installation process.
Can you already specify this with the yum install command so that you get a silent installation process of the package?
From yum --help, I couldn't find any such command
edit: While this wasn't your exact question, yum -y install "packagename" will install a package assuming each yes/no prompt is "yes".

Not able to install mod_perl module on the server

In my site I am getting an error : an error occurred while processing this directive
It was working fine before moving to the new server. So when I checked I found that mod_perl module is missing. So I tried to install it by downloading the module to the server and then tried to run using Perl Makefile.pl but it was asking for apache src and I was not able to find it. I can see /usr/bin/apache/ folder but no source file inside the folder.
So I tried to install the module from Cpanel but I got the following error:
The C compiler is not functional and auto repair failed. Perl module installs require a working C compiler. Please repair the C compiler and try again.
Please let me know how to install it as I have tried most of the cases searching the net.
Thanks in advance
It's probably best to use your distro's packaging system to install mod_perl, especially, if apache is installed from a package too.
Yum based systems:
yum install mod_perl
Deb based systems
apt-get install mod_perl
you may need to enable the module using a2enmod
Mostly gcc is either corrupted or not present on your system. Please try to re/install gcc on your system
sudo apt-get update
sudo apt-get install build-essential
On Redhat:
yum update
yum install devtoolset-2-toolchain
It seems like a problem with your installation of gcc. You're using CloudLinux, so you should use yum to reinstall gcc.
$ sudo -i yum install gcc
But you don't need gcc if you install the pre-build packages.
$ sudo -i yum install mod_perl
Either way, you're going to need to get to grips with package installation for your system - and for that you're going to need root access.

Ambari repository on CentOS 7

We are trying to install Ambari server following the manual Install Ambari 2.2.1 from Public Repositories.
When we tried to install the Ambari server with the command yum install ambari-server it returns that it is nothing to do.
The ambari.repo is:
#VERSION_NUMBER=2.2.1.0-161
[Updates-ambari-2.2.1.0]
name=ambari-2.2.1.0 - Updates
baseurl=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.1.0
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
Someone can help us?
The problem was that the OS installed was of 32 bits and it is obligatory install the 64 bits OS.
Just clear the yum cache and then try again it will be solved your problem.
yum clean all
yum install ambari-server
Note: Make sure you kept the ambari.repo file in /etc/yum.repos.d/ location
This happens in case:
Package (ambari-server) is already installed
Repolist can't find the package (ambari-server).
First run yum list all if it's not listing package then run
yum clean all
Again run yum list all
If it's not listing your package you need to add .repo file for the same in /etc/yum.repos.d

Mono does not appeared to be installed error (winetricks) even though it's installed

I'm trying to install dotnet4.5 using winetricks on Ubuntu12.04 64bit. It keeps on giving me "Mono does not appear to be installed " error though I have mono installed. I ran these two commands to get mono and mono-complete
sudo apt-get mono-vbnc
sudo apt-get mono-complete
The Wine version I am using is 1.6. I have already tried reinstalling it. It's not just dotnet4.5 but all the versions of dotnet give me the same error.
I have already tried askUbuntu forums to no avail.
Try this:
apt-file update && sudo apt-get install `apt-file search mono.pc --package-only`

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