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

Satisfying ruby dependency leads to /usr/lib64 on ix86 (32 bit) #59

Closed
robert-scheck opened this issue Jan 6, 2016 · 5 comments
Closed

Comments

@robert-scheck
Copy link
Contributor

Satisfying the ruby dependency (by installing ruby-devel) leads to libdislocker.so* being installed into /usr/lib64 on ix86 (32 bit) on Fedora Rawhide. Removing ruby-devel again, corrects the build again.

@Aorimn
Copy link
Owner

Aorimn commented Jan 7, 2016

dislocker installs in /usr/lib64 only if this directory exists (see https://github.com/Aorimn/dislocker/blob/master/src/CMakeLists.txt#L136), so the question is why it is created? Is it by the ruby-devel package?
As a side note, I'll try to add an architecture check for it should only install in /usr/lib64 on a 64 bits system.

@Aorimn
Copy link
Owner

Aorimn commented Jan 10, 2016

I cannot seem to be able to reproduce the problem. On rawhide 32 bits (uname -r -> 4.4.0-0.rc8.git3.1.fc24.i686), with the ruby-devel package installed, a make install leads to the following output for me:

# make install
[ 78%] Built target dislocker
[ 83%] Built target dislocker-bek
[ 89%] Built target dislocker-file
[ 89%] Built target dislocker-find
[ 94%] Built target dislocker-fuse
[100%] Built target dislocker-metadata
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libdislocker.so.0.5.1
-- Installing: /usr/local/lib/libdislocker.so.0.5
-- Installing: /usr/local/lib/libdislocker.so
-- Set runtime path of "/usr/local/lib/libdislocker.so.0.5.1" to "/usr/local/lib"
-- Installing: /usr/local/bin/dislocker-fuse
-- Set runtime path of "/usr/local/bin/dislocker-fuse" to "/usr/local/lib"
-- Installing: /usr/local/share/man/man1/dislocker-fuse.1.gz
-- Installing: /usr/local/bin/dislocker-file
-- Set runtime path of "/usr/local/bin/dislocker-file" to "/usr/local/lib"
-- Installing: /usr/local/share/man/man1/dislocker-file.1.gz
-- Installing: /usr/local/bin/dislocker-metadata
-- Set runtime path of "/usr/local/bin/dislocker-metadata" to "/usr/local/lib"
-- Installing: /usr/local/bin/dislocker-bek
-- Set runtime path of "/usr/local/bin/dislocker-bek" to "/usr/local/lib"
-- Installing: /usr/local/bin/dislocker-find
-- Installing: /usr/local/share/man/man1/dislocker-find.1.gz

It doesn't seem to use the lib64 directory and is installing in the /usr/local/, not /usr/. Could it be possible to be related to the build process?

@robert-scheck
Copy link
Contributor Author

Given this is the official Fedora buildsystem (within the Fedora infrastructure) this is (hopefully) unlikely, while all official Fedora builds walk through it – and all other builds are working through.

https://kojipkgs.fedoraproject.org//work/tasks/3663/12493663/build.log is the build log of such a failed build on ix86.

@robert-scheck
Copy link
Contributor Author

Okay, the issue is caused by rubygems-2.4.8-100.fc24.noarch which ships these directories:

drwxr-xr-x    2 root    root                        0 Jul 30 15:32 /usr/lib/gems
drwxr-xr-x    2 root    root                        0 Jul 30 15:32 /usr/lib/gems/ruby
drwxr-xr-x    2 root    root                        0 Jul 30 15:32 /usr/lib64/gems
drwxr-xr-x    2 root    root                        0 Jul 30 15:32 /usr/lib64/gems/ruby

However, rubygems is a fixed part of the build chain of Fedora. This leaves the question for me, why "cmake … -DLIB_INSTALL_DIR:PATH=/usr/lib …" is ignored…even it is explicitly specified.

@Aorimn
Copy link
Owner

Aorimn commented Jan 11, 2016

Okay, thank you @robert-scheck for your PR

@Aorimn Aorimn closed this as completed Jan 11, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants