Trouble with gitlab updating on redhat 8: nothing provides perl - perl

I've in trouble with updating GitLab CE 15.0.x -> 15.4.0
dnf install gitlab-ce-15.4.0
conflicting requests
nothing provides perl needed by gitlab-ce-15.4.0-ce.0.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only > best candidate packages)
dnf install perl
未找到匹配的参数: perl # no match parameters
错误:没有任何匹配 # error: no any match
I've searched a lot and I can't find a specific solution for this, it seems like in redhat8 the name of perl is perl-interpreter
# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
# dnf list perl-interpreter
已安装的软件包 // installed packages
perl-interpreter.x86_64 4:5.26.3-416.el8 #anaconda
可安装的软件包 // installable packages
perl-interpreter.x86_64 4:5.26.3-420.el8 base

Related

Where can i find gtkglextmm package for CentOS 8?

I'm looking for gtkglextmm, the gtk/gl C++ wrapper, for CentOS 8. On Ubuntu system, I know you can get it with sudo apt-get install libgtkglextmm-x11-1.2-dev but I can't find an equivalent package for yum.
I've tried grabbing the source and compiling that with ./configure then with make; make install, but I get an error saying
/usr/lib/libGL.so: could not read symbols: file in wrong format
I've always been weak with understanding compiler errors and how to fix them...
So, can someone either direct me to a precompiled rpm for gtkglextmm, or tell me what I need to do to compile the source?
Thanks!
/usr/lib/libGL.so: could not read symbols: file in wrong format
/usr/lib/libGL.so is a 32bit file: i686. (64bit libraries are in /usr/lib64/). Find package providing libGL.so: # dnf provides */libGL.so → # dnf install libglvnd-devel-1:1.3.2-1.el8.x86_64
Build example, gtkglextmm:
RHEL 8 is based on Fedora 28: Get the source package https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/28/Everything/source/tree/Packages/g/gtkglextmm-1.2.0-28.fc28.src.rpm .... to check what else "BuildRequires" is missing: # dnf builddep gtkglextmm-1.2.0-28.fc28.src.rpm.
Missing files from Fedora 28 https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/28/Everything/x86_64/os/Packages/ : pangox-compat.x86_64, pangox-compat-devel.x86_64, etc.
# dnf install ./pangox-compat-*
# dnf install ./gtkglext-libs-1.2.0-32.fc28.x86_64.rpm
# dnf install ./gtkglext-devel-1.2.0-32.fc28.x86_64.rpm
Get other 'BuildRequires'
# dnf builddep gtkglextmm-1.2.0-28.fc28.src.rpm : Total package count installed for gtkglextmm, including the four "fc28" and their dependencies was 62 packages!
Install the SRPM to /home/name/rpmbuild/: $ rpm -Uvh gtkglextmm-1.2.0-28.fc28.src.rpm
Build gtkglextmm packages:
$ cd rpmbuild/SPECS/
$ rpmbuild -bb gtkglextmm.spec
.
Wrote: /home/knudfl/rpmbuild/RPMS/x86_64/gtkglextmm-1.2.0-28.el8.x86_64.rpm
Wrote: /home/knudfl/rpmbuild/RPMS/x86_64/gtkglextmm-devel-1.2.0-28.el8.x86_64.rpm
Wrote: /home/knudfl/rpmbuild/RPMS/x86_64/gtkglextmm-debugsource-1.2.0-28.el8.x86_64.rpm
Wrote: /home/knudfl/rpmbuild/RPMS/x86_64/gtkglextmm-debuginfo-1.2.0-28.el8.x86_64.rpm
... So then you can either install the new el8 packages, or the Fedora 28 packages gtkglextmm.x86_64, gtkglextmm-devel.x86.64 from
https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/28/Everything/x86_64/os/Packages/g/

How to install the perl DateTime module under CentOS8. yum install "perl(DateTime)" worked in CentOS7 but not in 8

There are some Perl modules that could previously be installed with:
yum install "perl(DateTime)"
Under CentOS7. In CentOS8 I get the error:
No match for argument: perl(DateTime)
I have the same problem for perl(Template), perl(YAML::XS), perl(Crypt::Eksblowfish::Bcrypt) and perl(JSON::XS)
I tried searching with:
yum provides *DateTime*
But I can't find anything there either.
perl-DateTime is no longer part of the CentOS 8 base OS. You'll need to enable the PowerTools repository, i.e. as root
# yum config-manager --set-enabled PowerTools
# yum update
# yum repolist
repo id repo name status
...
PowerTools CentOS-8 - PowerTools ...
...
# yum install "perl(DateTime)"
or...
# yum install perl-DateTime
perl(YAML::XS) (AKA perl-YAML-LibYAML) should also be available.
perl(Template) (AKA perl-Template-Toolkit) and perl(Crypt::Eksblowfish::Bcrypt) (AKA perl-Crypt-Eksblowfish) no longer seem to be provided, not even in EPEL8. So you'll have to install them from CPAN.

Redhat Linux 6.5 Perl GD CPAN Module yum

when i try to install "GD" (perl -e shell -MCPAN ->(next step) cpan[1]> install GD) on Redhat 6.5 i got the error:
->
CPAN.pm: Building L/LD/LDS/GD-2.53.tar.gz
UNRECOVERABLE ERROR
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
CPAN: YAML loaded ok (v0.90)
LDS/GD-2.53.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites
Failed during this command:
LDS/GD-2.53.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512
<-
I tryed to install "libgd 2.0.28 or higher" but don't find this in "yum".
locate libgd (shows):
/usr/lib64/libgd.so.2
/usr/lib64/libgd.so.2.0.0
Does anyone know an advice?
Many perl modules are available already built and packaged for RHEL and derivatives such as CentOS. In the case of perl-GD, it seems it is available in the CentOS in the base repo even though it is not in the RHEL repo.
However you can still use the Centos repo by adding it to your yum configuration. Create a file /etc/yum.repos.d/cantos.repo containing:
[centos]
name=CentOS $releasever - $basearch
baseurl=http://mirror.centos.org/centos-6/6/os/$basearch/
enabled=0
gpgcheck=0
After which you should be able to install perl-GD
yum install --enablerepo centos perl-GD
It looks as though the current version of perl-GD for centos is 2.44.
If you do need a newer version that that, you will either need to find a 3rd party yum repo which has the later version of libgd available, or compile it from source. In a quick google I could not find the former, so I would recommend you download the latest source package and install that.
You need the package gd-devel then rebuild the GD module.

GtkMozEmbed module in PyGtk

I'm working on a soloution that needs the gtkMozembed module for python.
I had installed the pygtk2 and genome-python-* packages.
But still i don't have the gtkmozembed module. Can any one tell me how can i install this module.?
I'm also searching for some good repositories for CentOS so that I can update the latest packages. All the repositories now I have, do not maintain the updated packages.
I use CentOs 6.0.
Before continuing, note that gtkmozembed is deprecated, abandoned by the authors and therefore not packaged in CentOS 6 or Ubuntu Oneiric and later:
https://lists.ubuntu.com/archives/ubuntu-devel/2011-May/033229.html
https://groups.google.com/forum/#!topic/mozilla.dev.embedding/c_NMcO-N8wo/discussion
Therefore any use of gtkmozembed is temporary. You may wish to consider the following alternatives which are available as RPM packages on CentOS 6:
pywebkitgtk : Python Bindings for WebKitGTK+
gnome-python2-gtkhtml2 : Python bindings for interacting with gtkhtml2
I managed to download gnome-python2-extras from CentOS 5 and build it on CentOS 6 with the following commands:
rpm -ivh http://vault.centos.org/5.7/os/SRPMS/gnome-python2-extras-2.14.2-7.el5.src.rpm
# edit ~/rpmbuild/SPECS/gnome-python-extras.spec
# comment out the line starting with %patch1
rpmbuild -ba ~/rpmbuild/SPECS/gnome-python-extras.spec

Check a list of packages to install with apt-get

I am writing a post-install script for Ubuntu in Perl (same script as seen here). One of the steps is to install a list of packages. The problem is that if apt-get install fails in some of many different ways for any one of the packages the script dies badly. I would like to prevent that from happening.
This happens because of the ways that apt-get install fails for packages that it doesn't like. For example when I try to install a nonsense word (i.e. typed in the wrong package name)
$ sudo apt-get install oblihbyvl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package oblihbyvl
but if instead the package name has been obsoleted (installing handbrake from ppa)
$ sudo apt-get install handbrake
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package handbrake 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
E: Package 'handbrake' has no installation candidate
$ apt-cache search handbrake
handbrake-cli - versatile DVD ripper and video transcoder - command line
handbrake-gtk - versatile DVD ripper and video transcoder - GTK GUI
etc, etc ...
I have tried parsing the results of apt-cache and apt-get -s install to try to catch all possibilities before doing the install, but I seem to keep finding new ways to allow failures to continue to the actual install system command.
My question is, is there some facility either in Perl (e.g. a module, though I would like to avoid installing modules if possible as this is supposed to be the first thing run after a new install of Ubuntu) or apt-* or dpkg that would let me be sure that the packages are all available to be installed before installing and if not fail gracefully in some way that lets the user decide what to do?
N.B. I am doing something along the lines of:
my #list_of_install_candidates = (...);
my #to_install = grep { my $output = qx{ apt-get -s install $_ }; parse_output($output); } #list_of_install_candidates;
system('apt-get', 'install', #to_install);
You might try apt-cache policy. examples:
$ apt-cache policy handbrake
handbrake:
Installed: (none)
Candidate: (none)
Version table:
$ apt-cache policy foo
N: Unable to locate package foo
$ apt-cache policy openbox
openbox:
Installed: 3.4.11.1-1
Candidate: 3.4.11.1-1
Version table:
*** 3.4.11.1-1 0
500 http://mirrors.xmission.com/ubuntu/ maverick/universe i386 Packages
100 /var/lib/dpkg/status
Anything with a non-blank version table should be installable.