LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 03-30-2021, 03:48 PM   #1
rroberts59110
LQ Newbie
 
Registered: Mar 2021
Posts: 1

Rep: Reputation: Disabled
What specifies (64bit) tag on RPM files.


I have built source code for omniORB version 4.2.3, available from Sourceforge. I have created an .rpm file using the provided source archive and .spec file. This build produces several packages including libomniORB4.2 and omniORB-devel. First I installed libomniORB4.2 and when I try to install omniORB-devel, it wants to install package omniORB(version 4.2.0) from the epel repo, for dependencies:

[developer@centos-arm aarch64]$ sudo yum install omniORB-devel-4.2.3-1.el7.aarch64.rpm
Loaded plugins: fastestmirror
Examining omniORB-devel-4.2.3-1.el7.aarch64.rpm: omniORB-devel-4.2.3-1.el7.aarch64
Marking omniORB-devel-4.2.3-1.el7.aarch64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package omniORB-devel.aarch64 0:4.2.3-1.el7 will be installed
--> Processing Dependency: libCOS4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
Loading mirror speeds from cached hostfile
epel/aarch64/metalink | 17 kB 00:00:00
* base: mirror.pit.teraswitch.com
* epel: packages.oit.ncsu.edu
* extras: mirror.genesisadaptive.com
* updates: mirror.pit.teraswitch.com
--> Processing Dependency: libCOSDynamic4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniCodeSets4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniConnectionMgmt4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniDynamic4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniORB4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniZIOP4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomniZIOPDynamic4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomnisslTP4.so.2()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Processing Dependency: libomnithread.so.4()(64bit) for package: omniORB-devel-4.2.3-1.el7.aarch64
--> Running transaction check
---> Package omniORB.aarch64 0:4.2.0-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================== ===========================================
Package Arch Version Repository Size
==================================================================================================== ===========================================
Installing:
omniORB-devel aarch64 4.2.3-1.el7 /omniORB-devel-4.2.3-1.el7.aarch64 21 M
Installing for dependencies:
omniORB aarch64 4.2.0-3.el7 epel 1.4 M

Transaction Summary
==================================================================================================== ===========================================
Install 1 Package (+1 Dependent package)

Total size: 23 M
Installed size: 30 M
Is this ok [y/d/N]: n
Exiting on user command
Your transaction was saved, rerun it with:
yum load-transaction /tmp/yum_save_tx.2021-03-22.14-23.YTXFPA.yumtx
[developer@centos-arm aarch64]$

Note the (64bit) qualifier in the above output.

If I try to install omniORB-devel it fails citing conflicts between package omniORB and libomniORB4.2 which is already installed.

The thing is, the libomniORB4.2 package I just built provides all of the same files as the omniORB from the repo.

When I list the contents of libomniORB4.2 and omniORB using rpm -qlp they are essentially identical other than version numbers:

[developer@centos-arm aarch64]$ rpm -qlp libomniORB4.2-4.2.3-1.el7.aarch64.rpm
/etc/omniORB.cfg
/usr/lib64/libCOS4.so.2
/usr/lib64/libCOS4.so.2.3
/usr/lib64/libCOSDynamic4.so.2
/usr/lib64/libCOSDynamic4.so.2.3
/usr/lib64/libomniCodeSets4.so.2
/usr/lib64/libomniCodeSets4.so.2.3
/usr/lib64/libomniConnectionMgmt4.so.2
/usr/lib64/libomniConnectionMgmt4.so.2.3
/usr/lib64/libomniDynamic4.so.2
/usr/lib64/libomniDynamic4.so.2.3
/usr/lib64/libomniORB4.so.2
/usr/lib64/libomniORB4.so.2.3
/usr/lib64/libomniZIOP4.so.2
/usr/lib64/libomniZIOP4.so.2.3
/usr/lib64/libomniZIOPDynamic4.so.2
/usr/lib64/libomniZIOPDynamic4.so.2.3
/usr/lib64/libomnisslTP4.so.2
/usr/lib64/libomnisslTP4.so.2.3
/usr/lib64/libomnithread.so.4
/usr/lib64/libomnithread.so.4.1
/usr/share/doc/libomniORB4.2-4.2.3
/usr/share/doc/libomniORB4.2-4.2.3/COPYING
/usr/share/doc/libomniORB4.2-4.2.3/COPYING.LIB
/usr/share/doc/libomniORB4.2-4.2.3/CREDITS
[developer@centos-arm aarch64]$
and

[developer@centos-arm Downloads]$ rpm -qlp omniORB-4.2.0-3.el7.aarch64.rpm
/usr/lib64/libCOS4.so.2
/usr/lib64/libCOS4.so.2.0
/usr/lib64/libCOSDynamic4.so.2
/usr/lib64/libCOSDynamic4.so.2.0
/usr/lib64/libomniCodeSets4.so.2
/usr/lib64/libomniCodeSets4.so.2.0
/usr/lib64/libomniConnectionMgmt4.so.2
/usr/lib64/libomniConnectionMgmt4.so.2.0
/usr/lib64/libomniDynamic4.so.2
/usr/lib64/libomniDynamic4.so.2.0
/usr/lib64/libomniORB4.so.2
/usr/lib64/libomniORB4.so.2.0
/usr/lib64/libomniZIOP4.so.2
/usr/lib64/libomniZIOP4.so.2.0
/usr/lib64/libomniZIOPDynamic4.so.2
/usr/lib64/libomniZIOPDynamic4.so.2.0
/usr/lib64/libomnisslTP4.so.2
/usr/lib64/libomnisslTP4.so.2.0
/usr/lib64/libomnithread.so.4
/usr/lib64/libomnithread.so.4.0
/usr/share/doc/omniORB-4.2.0
/usr/share/doc/omniORB-4.2.0/COPYING.LIB
/usr/share/doc/omniORB-4.2.0/README.FIRST.txt
/usr/share/doc/omniORB-4.2.0/README.unix.txt
[developer@centos-arm Downloads]$
In all instances, the shorter name e.g. libCOS4.so.2 is a symlink to the version specific name libCOS4.so.2.3.

When I query the packages with rpm -qp --provides the output differs:

[developer@centos-arm aarch64]$ rpm -qp libomniORB4.2-4.2.3-1.el7.aarch64.rpm --provides
config(libomniORB4.2) = 4.2.3-1.el7
libCOS4.so.2
libCOSDynamic4.so.2
libomniCodeSets4.so.2
libomniConnectionMgmt4.so.2
libomniDynamic4.so.2
libomniORB = 4.2.3-1.el7
libomniORB4.2 = 4.2.3-1.el7
libomniORB4.2(aarch-64) = 4.2.3-1.el7
libomniORB4.so.2
libomniZIOP4.so.2
libomniZIOPDynamic4.so.2
libomniorb = 4.2.3-1.el7
libomnisslTP4.so.2
libomnithread.so.4
omniORB = 4.2.3-1.el7
omniorb = 4.2.3-1.el7
[developer@centos-arm aarch64]$
and

[developer@centos-arm aarch64]$ rpm -qp ~/Downloads/omniORB-4.2.0-3.el7.aarch64.rpm --provides
omniORB = 4.2.0-3.el7
omniORB(aarch-64) = 4.2.0-3.el7
libCOS4.so.2()(64bit)
libCOSDynamic4.so.2()(64bit)
libomniCodeSets4.so.2()(64bit)
libomniConnectionMgmt4.so.2()(64bit)
libomniDynamic4.so.2()(64bit)
libomniORB4.so.2()(64bit)
libomnisslTP4.so.2()(64bit)
libomnithread.so.4()(64bit)
libomniZIOP4.so.2()(64bit)
libomniZIOPDynamic4.so.2()(64bit)
[developer@centos-arm aarch64]$

The omniORB package from the repo, which is an older version of omniORB lists its provided files with the (64bit) tag while the libomniORB that I built does not have the (64bit) tag.

libomniORB4.2 was built on a 64-bit ARM machine and if you query the files e.g.

[developer@centos-arm aarch64]$ file /usr/lib64/libCOS4.so.2.3 /usr/lib64/libCOS4.so.2.3: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c4044d2801c254b4be0fdf7d27c83f3f13492db5, not stripped [developer@centos-arm aarch64]$

The produced files are recognized as 64-bit libraries.

Why is the rpm metadata different? What causes the (64bit) tag to be added to the rpm metadata?

Any help would be appreciated!
 
Old 03-30-2021, 05:49 PM   #2
computersavvy
Senior Member
 
Registered: Aug 2016
Posts: 3,342

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
I don't build RPMs, but from long term use with dnf on feodra and occasional interactions with RHEL repositories I can tell you my experiences. Version numbers are different, package names are similar, file names provided are the same, requirements are similar, all of which lead to conflicts. In most cases devel packages require the base package with the same name, but your base package name is prefixed with lib, so that is not the same.

If you disable the rhel repo during the install so it does not try and find the package there it is possible that your install of the devel package will succeed as long as all the defined dependencies are met.

As far as the (64bit) tag on the dependent libraries, there are 32 bit libraries as well, so that tells you it is selecting the proper 64 bit libraries for your needs. It also tells the installer to put those files in /user/lib64 and not /usr/lib.

Last edited by computersavvy; 03-30-2021 at 05:55 PM.
 
Old 03-30-2021, 06:38 PM   #3
shruggy
Senior Member
 
Registered: Mar 2020
Posts: 3,670

Rep: Reputation: Disabled
The Requires: line of the devel package for its base package should be arch-specific (i.e. include %{_isa}).

Generally, I wouldn't recommend using RPM spec files provided by upstream (BTW, which one you used, omniORB.spec or omniORB_new.spec?). Instead, download the RPM source package for omniORB 4.2.3 from Fedora 32 repository (or omniORB 4.2.4 from Fedora Rawhide repo) and rebuild it for CentOS 7.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] ERROR: 'mkinitrd_command_generator.sh' fails if /etc/fstab specifies PARTUUID. luvr Slackware 1 08-15-2019 05:52 PM
BASH: Modify script to take $1 that specifies the number of chapters to be printed Mes9 Programming 9 09-26-2012 02:36 PM
Can't boot with 2 cloned hard drives, where UUIDs are different & GRUB specifies UUID ziphem Linux - Newbie 13 09-18-2011 04:42 PM
Warning ___ specifies undefined mime type/service type mbvpixies78 Linux - Software 0 12-29-2007 10:25 PM
LXer: Nep group specifies Carrier Grade Linux needs LXer Syndicated Linux News 0 07-01-2006 12:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 06:22 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration