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

source rpm spec file bug. #2709

Closed
vicuna opened this issue Mar 14, 2001 · 1 comment
Closed

source rpm spec file bug. #2709

vicuna opened this issue Mar 14, 2001 · 1 comment
Labels

Comments

@vicuna
Copy link

vicuna commented Mar 14, 2001

Original bug ID: 312
Reporter: administrator
Status: closed
Resolution: not a bug
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)

Bug description

Full_Name: Fred Smith
Version: 3.01
OS: Linux RH 7.0
Submission from: dhcp99-190.cs.cornell.edu (128.84.99.190)

In the spec file for the source rpm the variable BUILDROOT is set to var/tmp/...

so building the rpm puts all the executables in /var/tmp/.... Removing this
line
from the spec file solved the problem for me.

On a related topic, the binary RPM does not "require" -lcurses, but doesn't
work
without it. We just upgraded to the latest ncurses and ld no longer finds
-lcurses.
I am not sure what is going on, but recompiling the OCaml source fixed that
particular problem.

Thanks for all your help.

-Fred

@vicuna
Copy link
Author

vicuna commented Mar 15, 2001

Comment author: administrator

Hi Fred,

In the spec file for the source rpm the variable BUILDROOT is set to
var/tmp/... so building the rpm puts all the executables in
/var/tmp/.... Removing this line from the spec file solved the
problem for me.

This is a feature: building the RPM should not install the software in
a user-visible location, just build a binary RPM. You can then
install the binary RPM in its final location (/usr) using rpm -i.
This avoids having files in /usr that are not managed by the RPM
database, and also overwriting managed files in /usr during
the building of the RPM. All RPMs from Linux vendors follow this
approach now.

On a related topic, the binary RPM does not "require" -lcurses, but
doesn't work without it.

I'm suprised: the RH62 RPM requires libncurses.so.4, and
the MK72 RPM requires libncurses.so.5. (Haven't checked the RH70 RPM
yet.) You're correct that OCaml needs the curses library.

Actually, I think I see what you mean. RedHat has two RPMS,
ncurses and ncurses-devel. The former provides the shared library,
and the latter provides include files and the correct symbolic links
so that compiling with -lcurses works. ncurses is all you need to run
the binaries from the RPM, so there is an automatically-generated
dependency on ncurses, but none on ncurses-devel. But ncurses-devel
is needed for compiling software with ocamlc -custom. So we should
probably add an explicit dependency on ncurses-devel in the spec file.

Thanks for the feedback,

  • Xavier Leroy

@vicuna vicuna closed this as completed Mar 15, 2001
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant