I need to install glibc static from source (I'm working on a server where I don't have root access) and I'm having some difficulties.
I downloaded the glibc-2.24.tar.gz from the GNU FTP, unpacked it and ran ./configure from another directory, as indicated in the instructions. I got the following message:
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: makeinfo
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.
First, should I bother about makeinfo? Second and more important, I don't understand the error concerning LD_LIBRARY_PATH. The path is not in this variable:
$ echo $LD_LIBRARY_PATH
:/usr/local/cuda/lib64
First, should I bother about makeinfo?
Only if you want configure to actually work. (By the way, your entire goal: "install glibc static from source" is likely based on incorrect assumptions and you probably shouldn't be attempting that).
Second and more important, I don't understand the error concerning LD_LIBRARY_PATH. The path is not in this variable:
$ echo $LD_LIBRARY_PATH
:/usr/local/cuda/lib64
That leading empty string before : is equivalent to ., i.e. it's the same as having LD_LIBRARY_PATH=.:/usr/local/cuda/lib64 and the warning is correct.
Related
First Method (export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH):
Based on this method, I can compile h5_crtdat.f90 through "gfortran h5_crtdat.f90 -fintrinsic-modules-path /usr/local/include -lhdf5_fortran" successfully. And I can run it as well.
Second Method (-Wl,-rpath):
Based on this method, I can compile h5_crtdat.f90 through "gfortran h5_crtdat.f90 -fintrinsic-modules-path /usr/local/include -lhdf5_fortran -Wl,-rpath,/usr/local/lib" successfully. However, after type in "./a.out" I got the following error
"./a.out: error while loading shared libraries: libhdf5.so.200: cannot open shared object file: No such file or directory".
Questions:
I have searched the google that these two methods can produce the same effect when linking shared library in gfortran compiler. Thus, I do not know why I will get the errors when the second method is used.
These two serve a different purpose.
LD_LIBRARY_PATH says where to search for shared libraries when executing some executable that has already been compiled and linked. It is possible, but not guaranteed, that some linker will alsonconsider this path for the actual linking, but there are other variables, like LIBRARY_PATH for that.
-Wl,-rpath says where to link shared libraries when building the executable. It has no effect when running the executable.
You must set LD_LIBRARY_PATH or some equivalent when running the executable so that the necessary libraries for the run can be located.
I'm trying to install a program on a HPC cluster on which I do not have root access. I've been chasing a bunch of dependencies and trying to install them locally.
The original program requires mariadb, which apparently requires GLIBC 2.14/2.17 (cluster is on 2.12), which requires make 4.0 or higher (cluster has 3.81).
configure: error:
*** These critical programs are missing or too old: make bison python
*** Check the INSTALL file for required versions.
I've installed make 4.1 in a local directory, but cannot figure out how to point the configure file for GLIBC 2.35 towards that version of make.
Is there a way to redefine the environmental "make" command or to point a configure file towards a particular folder?
Just point the path to the directory first... export PATH=<dir_path_to_make>:${PATH}
I'm writing a Dockerfile for a container to simulate an environment based on Ubuntu Xenial and ROS Kinetic. Now, as part of getting the environment up and running, I'll have to run a custom build script. It stops with saying:
-- Could not find the required component 'camera_info_manager'. The following CMake
error indicates that you either need to install the package with the same name or ch
ange your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_packa
ge):
Could not find a package configuration file provided by
"camera_info_manager" with any of the following names:
camera_info_managerConfig.cmake
camera_info_manager-config.cmake
Add the installation prefix of "camera_info_manager" to CMAKE_PREFIX_PATH
or set "camera_info_manager_DIR" to a directory containing one of the above
files. If "camera_info_manager" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
flir_spinnaker_driver/CMakeLists.txt:10 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/eis/build/CMakeFiles/CMakeOutput.log".
See also "/home/eis/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
root#0573de1e074a:/home/eis# echo $CMAKE_PREFIX_PATH
/opt/ros/kinetic:/usr/share/camera_info_manager/cmake:/usr/share/camera_info_manager
/cmake/camera_info_managerConfig.cmake
root#0573de1e074a:/home/eis#
I have installed package libcamera-info-manager-dev&libcamera-info-manager0d and found camera_info_managerConfig.cmake in /usr/share/camera_info_manager /cmake/ and modified CMAKE_PREFIX_PATH like:
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/usr/share/camera_info_manager/cmake:/usr/share/camera_info_manager
I've also added /usr/share/camera_info_manager and /usr/include/camera_info_manager:
echo $CMAKE_PREFIX_PATH /opt/ros/kinetic:/usr/share/camera_info_manager/cmake:/usr/share/camera_info_manager /cmake/camera_info_managerConfig.cmake:/usr/share/camera_info_manager:/usr/include/c amera_info_manager
but I'm still stuck on this.
What else should I be looking at? Thanks!
When writing luarocks install gumbo
In the location/directory of my luarocks file in cmd, I am getting the following error
Warning: Could not find Lua 5.3 in PATH.
Modules may not install with the correct configurations. You may want to specify the path prefix to your build of Lua 5.3 using --lua-dir
Installing https://luarocks.org/gumbo-0.5-1.src.rock
Error: Failed finding Lua library. You may need to configure LUA_LIBDIR.
I've added lua53.exe to the same directory, and added the file both to my user variables and system variables in control panel.
Not sure if worth mentioning, but when running lua53.exe and trying to use luarocks install gumbo from there,
the lua53 cmd-like window responds with stdin:1: syntax error near 'install'
I was hoping to do some web scraping with lua, and later on building a World of Warcraft addon that utilizes gumbo to show certain helpful information within the WoW client, but I can't seem to even get the most basic stuff to work...
Setting up LuaRocks on Windows is annoying and I'm not familiar with it myself. If you added both the LuaRocks and Lua 5.3 Windows binaries (Executables and Includes) to your Path system variable:
luarocks path prints the commands for setting up the LUA_PATH and LUA_CPATH system variables.
The config.lua file tells you what your variables.LUA_LIBDIR value is. You can check it with luarocks config. For me that file would be in:
C:/Users/Ketho/AppData/Roaming/luarocks/config-5.3.lua
otherwise you can create an empty file there and put in this line to point it to wherever your Lua folder is:
variables.LUA_LIBDIR = "C:/lua-5.3.5_Win32_bin"
variables.LUA_INCDIR = "C:/lua-5.3.5_Win32_bin/include"
As for using gumbo to show information within WoW, the addon environment is sandboxed. Unless you meant you just want to get the data to hardcode into your addon.
I want to compile the GTK+ test program for the Vala programming language. I saved the code as main.vala and call the compiler with the command line
valac --pkg gtk+-3.0 main.vala
But this does not work. I get the error:
Package gobject-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gobject-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gobject-2.0' found
error: pkg-config exited with status 1
Why can't pkg-config find that package? When I call
pkg-config --list-all | grep gobject-2.0
I do not get an error, but
gobject-2.0 GObject - GLib type, Object, Parameter and Signal library
So my question is, why doesn't the program compile?
It's hard to figure out what is going on based on the information you've provided—you're probably going to have to figure it out yourself. I'll try to include some pointers here. A good place to start would be to set the PKG_CONFIG_DEBUG_SPEW environment variable…
The most likely cause is that some environment variables and/or the pkg-config being invoked are different. It's hard to say exactly how they might be different, but all valac is doing is invoking pkg-config.
In order to determine which pkg-config to execute, valac first looks for the --pkg-config command line option or, if that isn't present, the PKG_CONFIG environment variable (see compiler/valacompiler.vala for the logic). If that isn't present, it will just invoke pkg-config (that part is in codegen/valaccodecompiler.vala, the Vala.CCodeCompier.compile method).
From there, pkg-config takes over. The pkg-config man page explains how it searches for files; basically the PKG_CONFIG_PATH. Again, enabling debug spew would probably be the best place to start.