Hello,
In the process of building several apps from source, the Makefile tries to link libraries from the subdirectory /usr/X11R6/lib64, which doesn't exist. Because this has happened with apps from different developers, I was wondering if anyone knows which command or what is triggering this behavior. The problem seems to be related to the X Window system and maybe even to OpenGL, but I cannot put my finger on what exactly is going on. One app relatively easy to install and that exhibits this pattern is https://github.com/nigels-com/glew.
Thanks.
Why are apps looking for libraries at /usr/X11R6/lib64?
-
- Posts: 50
- Joined: 2019/06/25 13:10:33
Re: Why are apps looking for libraries at /usr/X11R6/lib64?
Your source code has static configuration.
GLEW is a bad example, because it is already in the repo:
No point in source install for that one.
That page also tells to install "libXmu-devel libXi-devel libGL-devel". Neither RHEL 7 nor 8 seem to have "libGL-devel" (but both have mesa-libGL-devel).
They say: "GNU make is the primary build system for GLEW, historically."
They a have pre-crafted Makefile. If they list the package dependencies wrong, then is the Makefile any better?
The library layout has changed, but the Makefile has not been updated.
"cmake build is mostly contributer maintained." The CMake determines dynamically the path to libraries and creates appropriate Makefile.
If application uses GNU Build Tools, rather than CMake, then it has the configure script for Makefile generation.
GNU Build Tools and CMake are not even the only solutions for that.
GLEW is a bad example, because it is already in the repo:
Code: Select all
$ sudo dnf --enablerepo=powertools list \*glew\*
Last metadata expiration check: 0:00:17 ago on Mon 19 Apr 2021 04:49:04 PM EEST.
Available Packages
glew-devel.i686 2.0.0-6.el8 powertools
glew-devel.x86_64 2.0.0-6.el8 powertools
libGLEW.i686 2.0.0-6.el8 powertools
libGLEW.x86_64 2.0.0-6.el8 powertools
That page also tells to install "libXmu-devel libXi-devel libGL-devel". Neither RHEL 7 nor 8 seem to have "libGL-devel" (but both have mesa-libGL-devel).
They say: "GNU make is the primary build system for GLEW, historically."
They a have pre-crafted Makefile. If they list the package dependencies wrong, then is the Makefile any better?
The library layout has changed, but the Makefile has not been updated.
"cmake build is mostly contributer maintained." The CMake determines dynamically the path to libraries and creates appropriate Makefile.
If application uses GNU Build Tools, rather than CMake, then it has the configure script for Makefile generation.
GNU Build Tools and CMake are not even the only solutions for that.