Comments (3)
Mark, it's not you. :)
The code to detect whether or not /usr/lib or /usr/lib64 should be used is flawed. It checks for "lib64$" in /etc/ld.so.conf or /etc/ld.so.d/*.conf. But that's not right. On my openSUSE Leap 15 system, the only "lib64" at the end of a line is "/usr/local/lib64". Here's the whole file /etc/ld.so.conf:
/usr/local/lib64
/usr/local/lib
include /etc/ld.so.conf.d/*.conf
# /lib64, /lib, /usr/lib64 and /usr/lib gets added
# automatically by ldconfig after parsing this file.
# So, they do not need to be listed.
So "lib64" doesn't even have to be in /etc/ld.so.conf for a system to use /lib64 and /usr/lib64.
Perhaps a better way to detect if "/usr/lib64" should be the installation destination is to check the output of "ldconfig -p"? For example: "ldconfig -p | fgrep -q /usr/lib64"?
What do you think @markh794
from mhvtl.
First note: you can work around this, when building/installing, by setting LIBDIR=/usr/lib64 on the "make" command line.
I'm investigating how the different distros handle this (using a subset, of course), and I have two version of Ubuntu, and they are quite strange, with regard to 64-bit library locations.In Ubuntu 16.04, there is a /lib64 with just one library in it, and no /usr/lib64. And no mention of /lib64 in /etc/ld.so.conf*. Instead, they use /usr/lib/x86_64-linux-gnu and /lib/x86_64-linux-gnu! Bizarre. And it looks like 18.10 is the same.
Looking at CentOS 7.6, I see there is a /usr/lib64, and a /lib64 which is symlink to /usr/lib64. The only "lib64" I see in /etc/ld.so.conf* is "/usr/lib64/libmysql"! And if I grep the output of "ldconfig -p" for "/usr/lib64", again, the only one I see is for libmysql! But if I grep for "lib64", there are ton of them.
My conclusion: it is very hard to make a build system that is going to work on every distribution, partly because there is no standard location for libraries, and there is no standard way to find out where this particular Linux (whatever it is) names such directories if they use them at all. :(
Note that as a person that supports lots of packages for a living, this is true of many packages. That's generally why the "%build" target in RPM SPEC files general does more than just "make".
Of course @markh794 owns the package so can approach this however he wishes, but as to your original question @sviscapi , I'd suggest just passing in "LIBDIR" in your case.
from mhvtl.
@sviscapi I've tested the currently latest commit in vagrant with centos7.6 which seems to work fine. I've created a PR here: #45
from mhvtl.
Related Issues (20)
- Server reboot stucked due to unkillable mhvtl (SCSI Target: 15) HOT 4
- mhvtl not creating library contents in /opt/mhvtl HOT 1
- mhvtl website unreachable HOT 1
- Compile on el9 / 5.14 kernel HOT 2
- compatible with nbu 10.1? HOT 7
- New MHVTL release for recent kernels HOT 2
- The default L80 library works fine but the L700 fails in somewhat random ways. HOT 18
- compilation issue in usr/vtltape.c HOT 3
- Add support in VHF to indicate whether or not drive needs to be cleaned HOT 8
- Tape load no longer working for STK-L700 emulation HOT 5
- Not able to open mhvtl gui. HOT 2
- WORM capability doesn't work in mhvtl. HOT 34
- Unloading a tape, then loading it back in, mt status shows EOT instead of BOT HOT 3
- Selecting tape and library emulations HOT 3
- Can't turn off verbose logging HOT 1
- I/O error when accessing the tape device HOT 2
- The flags are wrong in the long form response of read position? HOT 3
- Build error with ssc_log_sense in ssc.c HOT 2
- kernel crash when restarting mhvtl.target HOT 8
- Enhancement idea: update vtlcmd to show the commit number and date released HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mhvtl.