Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rpm build scripts use the binary file as dependency rather than the package name where the binary is in [CORE3803] #4146

Closed
firebird-automations opened this issue Mar 30, 2012 · 8 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Eberhard Leba (eleba)

Installing FirebirdCS-2.5.1.26351-0.amd64.rpm on a cleanly installed RHEL6 or RHEL6.1 RPM complains about missing components:

#⁠ rpm -ivh FirebirdSS-2.5.0.26074-0.amd64.rpm
error: Failed dependencies:
libncurses.so.5 is needed by FirebirdSS-2.5.0.26074-0.amd64
libstdc++.so.6 is needed by FirebirdSS-2.5.0.26074-0.amd64

The libraries are available on that system:

$ ls -l /usr/lib64/libncurses.so
lrwxrwxrwx. 1 root root 27 16. Sep 2011 /usr/lib64/libncurses.so -> ../../lib64/libncurses.so.5
$ ls -l /lib64/libncurses.so.5
lrwxrwxrwx. 1 root root 17 16. Sep 2011 /lib64/libncurses.so.5 -> libncurses.so.5.7
$ ls -l /lib64/libncurses.so.5.7
-rwxr-xr-x. 1 root root 142504 3. Dez 2009 /lib64/libncurses.so.5.7

$ ls -l /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 16. Sep 2011 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
ls -l /usr/lib64/libstdc++.so.6.0.13
-rwxr-xr-x. 1 root root 989840 15. Feb 2011 /usr/lib64/libstdc++.so.6.0.13

The RPM packages containing those libraries do have a different name:

$ rpm -qf /lib64/libncurses.so.5
ncurses-libs-5.7-3.20090208.el6.x86_64

]$ rpm -qf /usr/lib64/libstdc++.so.6
libstdc++-4.4.5-6.el6.x86_64

The workaround for this is to install firebird using the --nodeps flag. This might not be acceptable for administrators responsible for huge system environments.

@firebird-automations
Copy link
Collaborator Author

Commented by: @pmakowski

Don't use this rpm
if you want rpm use the one from the EPEL repository for Centos or RHEL (http://fedoraproject.org/wiki/EPEL),
or use the tar.gz package
Rpm provided on sourceforge by Firebird project are too generic, don't follow all distro rules, and don't support updates

@firebird-automations
Copy link
Collaborator Author

Commented by: Eberhard Leba (eleba)

Philippe
thanks for the hint.
I will give it a try :)
To be honest I found that using RPM search as well, but I did not know how "reliable" the source is.
So it might just be a documentation issue to point to EPEL project as an alternative source for RHEL/CENTOS RPMS.

regards Eberhard

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

We historically provided a kind of 'universal' rpm package on SF, supposed to work on different OS's. But ability to have something working and universal is currently close to unreal - when library names used a s dependencies are same for all distros, packages will be called differently. BTW, earlier there were no problems using library name as dependency name. Moreover, it was documented.

Therefore since FB3 we stop providing rpms at SF. If one needs rpm instead tar.gz he should really better use distro-specific sources.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Won't Fix [ 2 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Eberhard Leba (eleba)

Unfortunately the EPEL package is also inconsistent.
it requires lots of other Firebird packages to be installed:

firebird-superserver-2.5.1.26351.0-1.el6.x86_64.rpm depends on
* firebird = 2.5.1.26351.0-1.el6
and
> firebird-libfbclient-2.5.1.26351.0-1.el6.x86_64.rpm

firebird-2.5.1.26351.0-1.el6.x86_64.rpm in turn requires
* firebird-arch = 2.5.1.26351.0-1.el6 ---> not available on EPEL
* firebird-filesystem
* libfbembed.so.2.5()(64bit)

So the user is left alone with this mess because of the WONT FIX. :(

PS: I know this is the wrong place to complain about a bug in EPEL packages. This is just to show the consequences.

So whats left is the old fashioned and outdated tar install.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @pmakowski

yum install firebird firebird-superserver

should do all it need

and no it is not a mess
just that this way, you can setup client only for example, or dev only, etc, more flexibility, and every pieces at the right place according to the distro rule, not all in /opt

but you have the choice

and yes, if you find a bug with Epel package, report it there :
https://bugzilla.redhat.com

@firebird-automations
Copy link
Collaborator Author

Commented by: Eberhard Leba (eleba)

So I created a file /etc/yum.repos.d/epel.repo with the following content::
[EPEL64]
name=Extra Packages for Enterprise Linux x86_64
baseurl=http://dl\.fedoraproject\.org/pub/epel/6/x86\_64/
gpgkey=http://dl\.fedoraproject\.org/pub/epel/RPM\-GPG\-KEY\-EPEL\-6

ran the command

yum install firebird firebird-superserver

AND ---- MAGIC ----

it installed.

Philippe Thanks allot.!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant