Rebuild a Source RPM on CentOS 7 - centos

I haven't had success building any SRPM on CentOS 7. Following instructions from https://wiki.centos.org/HowTos/RebuildSRPM
Output from rpmbuild --rebuild man-db-2.6.3-11.el7.src.rpm : https://pastebin.com/00X2mjjQ
Output from rpmbuild --rebuild htop-2.2.0-3.el7.src.rpm: https://pastebin.com/3dqkB5UN
What am I missing?

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/

Tesseract 4.00.00alpha compilation

I installed tesseract 4.00.00alpha and leptonica in ubuntu 16.04 x86. When i am using the following command,
tesseract -v
The output is
tesseract 4.00.00alpha
leptonica-1.74
libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8
Found AVX
Found SSE
Which is desired.
But while i am trying to compile my following code,
#include<baseapi.h>
#include<allheaders.h>
int main(){
tesseract::TessBaseAPI *first=new tesseract::TessBaseAPI();
printf("Tesseract version %s\n",first->Version());
printf("leptonica version %s\n",getLeptonicaVersion());
return 0;
}
with the command,
g++ sample.cpp -o sample.out -I/usr/local/include/leptonica -I/usr/local/include/tesseract -llept -ltesseract
The output is,
Tesseract version 3.04.01
leptonica version leptonica-1.74
Why the previous tesseract version is being shown? Is there any problem with the library files of tesseract and leptonica? Thank you!
The problem was while installing leptonica 1.74, i used a command,
sudo apt-get install libleptonica-dev
and while building tesseract 4.00.00 from source, i used a command,
sudo apt-get install libtesseract-dev
These above two commands are creating the problem. Actually we dont need install libleptionica-dev and libtesseract-dev since you are building tesseract from source.
I uninstalled both packages and reran my code.
sudo apt-get remove libleptonica-dev libletesseract-dev
It then worked successfully.

How can I install the perl-RRD-Simple package on CentOS 7?

I'm trying to install TSung on CentOS 7, but I'm having trouble installing the dependencies.
When I tried to install perl-RRD-Simple.noarch, yum shows no package available. So I downloaded an RPM file and did:
rpm -ivh perl-RRD-Simple-1.43-1.el5.rf.noarch.rpm
But I got an error:
error: Failed dependencies:
perl(RRDs) is needed by perl-RRD-Simple-1.43-1.el5.rf.noarch
How can I install the perl-RRD-Simple package? RRDtool is already installed.
RRD::Simple depends on RRDs.pm, the Perl bindings for RRDtool. RRDs.pm is in the rrdtool-perl package; on CentOS 7, rrdtool-perl is in the base repo, so you can just do:
yum install rrdtool-perl
You'll also need to find a different perl-RRD-Simple RPM, since perl-RRD-Simple-1.43-1.el5.rf.noarch.rpm is for EL5. The only one I can find for EL7 is here.
Alternatively, you can build your own RPM.

Is rpm2cpio installed by default on CentOS

I am writing some scripts for CentOS. Is rpm2cpio installed by default on CentOS?
I read somewhere rpm2cpio comes with rpm package, but I am not sure. I couldn't figure out from RMP project website.
For CentOS 5 and 6.
The rpm package is installed by default on CentOS and RHEL systems, and rpm2cpio is included in the rpm package as shown here:
$ rpm -ql rpm | grep -P 'rpm2cpio$'
/usr/bin/rpm2cpio
Therefore, yes, rpm2cpio is included in CentOS 5 and 6.

Compiling MongoDB r2.0.2 on ubuntu 10.04 resulted in error

I am compiling MongoDB from source with instructions from http://www.mongodb.org/display/DOCS/Building+for+Linux
I ran into this error after ran "scons all":
rty/js-1.7/jsscan.c
third_party/js-1.7/jsscan.c:112:22: error: jsautokw.h: No such file or directory
third_party/js-1.7/jsscan.c: In function 'FindKeyword':
third_party/js-1.7/jsscan.c:122: warning: label 'test_guess' defined but not used
third_party/js-1.7/jsscan.c:119: warning: label 'got_match' defined but not used
scons: *** [third_party/js-1.7/jsscan.o] Error 1
scons: building terminated because of errors
I am on a 64 bit ubuntu 10.04. gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5), scons version is:
script: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on scons-dev
engine: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on scons-dev
Does anyone have the same problem? There are similar errors reported for this jsscan file in earlier versions, but has been fixed since.
Dude it worked! Do this:
sudo apt-get remove xulrunner-1.9.2-dev xulrunner-1.9.2
curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
tar zxvf js-1.7.0.tar.gz
cd js/src
export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
make -f Makefile.ref
sudo JS_DIST=/usr make -f Makefile.ref export
Then run scons all again
There is no need to uninstall "xulrunner-1.9.2-dev" and "xulrunner-1.9.2" as it's also uninstalls other packages you may need later.
Just install the newer version of scons package (I used for it scons-2.1.0).
Download scons-2.1.0.tar.gz
Install it and use the installed one instead of the scons v1.2.0 repository package for Ubuntu 10.04.
It worked for me without any additional tricks.