Yum reports an error:CRITICAL:yum.cli:Config error: Error accessing file for config file:///etc/yum.conf - linux

My environment: python3.8, gcc12.2, cmake4.3. I want to compile and install the glibc library. When I finish compiling and installing, my yum has an error
The following is the error content:
CRITICAL:yum.cli:Config error: Error accessing file for config file:///etc/yum.conf
But I obviously have /etc/yum.conf, but I still get an error
I hope to know why and get a solution, thank you
I downloaded and compiled glibc, and the installation was successful, but there was an error message after installation
collect2: error: ld returned 1 exit status
Execution of gcc failed!
The script has found some problems with your installation!
Please read the FAQ and the README file and check the following:
- Did you change the gcc specs file (necessary after upgrading from
Linux libc5)?
- Are there any symbolic links of the form libXXX.so to old libraries?
Links like libm.so -> libm.so.5 (where libm.so.5 is an old library) are wrong,
libm.so should point to the newly installed glibc file - and there should be
only one such link (check e.g. /lib and /usr/lib)
You should restart this script from your build directory after you've
fixed all problems!
Btw. the script doesn't work if you're installing GNU libc not as your
primary library!
make[1]: *** [Makefile:111: install] Error 1
make[1]: Leaving directory '/opt/glibc-2.29'
make: *** [Makefile:12:install] 错误 2
But I found on the net that this error doesn't affect anything

Related

Problems building driver on Linux kernel 5.8.x

I'm working with a Linux driver that is building on v5.7.x kernels but not on the latest v5.8.x releases.
To summarise, most of the driver is pre-built and the kernel interface is built on the target. This involves a make -f Kbuild command.
Having checked all of the relevant kernel interface files for any changes that would affect us, normally the driver would just build as usual on a new kernel. However, this time we get the following error:
make[2]: *** [scripts/Makefile.modpost:111: /path/to/source/Module.symvers] Error 1
make[1]: *** [Makefile:1669: modules] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.8.0-1.el8.elrepo.x86_64'
make: *** [Kbuild:26: default] Error 2
This is from CentOS 8.1, but the same error has been seen on Ubuntu 20.04.
I am no expert on this so interpreting these errors is a bit difficult. I have tried building with the KBUILD_VERBOSE flag and it doesn't really provide any useful information, other than the build succeeding until this point.
On previous kernels the Module.symvers file would be created but empty. On 5.8 this file is not created at all presumably due to this error. As a result, the .ko file is not created.
Finally, if we drop in the source files rather than the pre-built .o files the build does succeed. These .o files are built with a very old version of GCC (4.4.7) but we have also tried building with a much newer version (8.3.1), the same version as the target machine.
I would appreciate suggestions for things to check. Let me know if any other details would help.
Edit:
I ran make on Makefile.modpost manually and got the following output:
sudo make -f ./scripts/Makefile.modpost
WARNING: Symbol version dump "vmlinux.symvers" is missing.
Modules may not have dependencies or modversions.
make -f /scripts/Makefile.modfinal
make[1]: Entering directory '/usr/src/linux-headers-5.8.0-050800-generic'
make[1]: /scripts/Makefile.modfinal: No such file or directory
make[1]: *** No rule to make target '/scripts/Makefile.modfinal'. Stop.
make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-050800-generic'
make: *** [scripts/Makefile.modpost:117: __modpost] Error 2
I am answering my own question in case it helps anyone else with this problem. Although it has never been an issue in the past, we've always had a warning that the corresponding .o.cmd file was not present for our .o_shipped files. This appears to be important in kernel 5.8 onwards and my fix was to add a touch command to the Kbuild file (i.e. "touch .driver.o.cmd"). This does not remove the warning but it allows the driver to build as normal.

Debian 8.0 Jessie:MAKE .o file not recognized

I am new to coding, however I have developed a PoW minable cryptocurrency with working Linux command line wallet, however when using the gitian-descriptors build scripts (github.com/gurtaj-project/gurtaj.git)
I am trying to link Linux to Windows and create a Windows .exe QT via build-script(Gitian-win32.yml)however I come across the error of .o files, object files not being recognized by the ld when i cat into the build.log
Please go easy on me and explain in simple terms why the build-script is crashing because of this, I will attach screenshot for more clear details.
Here is the build script with clearly identified dependencies and required files: https://github.com/gurtaj-project/gurtaj/blob/v0.8/contrib/gitian-descriptors/gitian-win32.yml
Compiling error in gitian-descriptors/var/cat build.log
./build/version.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[2]: *** [release/gurtaj-qt.exe] Error 1
make[2]: Leaving directory '/home/ubuntu/build/gurtaj'
make: *** [release] Error 2

Octave 4.0.1 octave forge dicom package fatal error on install openSUSE linux

I am using:
linux openSUSE Tumbleweed
octave-4.0.1
gdcm-2.6.3
I have recently gotten into using linux for my research in university. For this research, I have been trying to install the dicom package into octave from the octave forge. When I submit the code pkg install -forge dicom into octave, I get fatal error: gdcm-2.0/gdcmReader.h: No such file or directory causing the installation to fail.
I have searched around for fixes to this problem which appears to have happened to several people in the past (see Dependency library not recognized during installation octave forge dicom package in debian linux). However, since I am new to linux, I really don't understand what these users have done to solve their problem. Additionally, both octave and gdcm have updated since these posts. I also, have not been able to find an updated version of the dicom package while I have been trying to troubleshoot this. If anyone has any input on this I would greatly appreciate it.
Below is what I am seeing in the command window log.
>> pkg install -forge dicom
dicomread.cpp:27:38: fatal error: gdcm-2.0/gdcmImageReader.h: No such file or directory
compilation terminated.
make: *** [Makefile:44: dicomread.oct] Error 1
make: *** Waiting for unfinished jobs....
dicominfo.cpp:45:33: fatal error: gdcm-2.0/gdcmReader.h: No such file or directory
compilation terminated.
dicomlookup.cpp:23:31: fatal error: gdcm-2.0/gdcmDict.h: No such file or directory
compilation terminated.
make: *** [Makefile:51: dicominfo.o] Error 1
dicomdict.cpp:30:31: fatal error: gdcm-2.0/gdcmDict.h: No such file or directory
compilation terminated.
make: *** [Makefile:60: dicomlookup.o] Error 1
make: *** [Makefile:57: dicomdict.o] Error 1
make: Entering directory '/tmp/oct-5jTUbJ/dicom/src'
mkoctfile -c -g dicominfo.cpp
mkoctfile -c -g dicomdict.cpp
mkoctfile -L/usr/local/lib -lgdcmcharls -lgdcmjpeg8 -lgdcmjpeg12 -lgdcmjpeg16 -lgdcmCommon -lgdcmDICT -lgdcmDSED -lgdcmIOD -lgdcmMSFF -g dicomread.cpp
mkoctfile -c -g dicomlookup.cpp
make: Leaving directory '/tmp/oct-5jTUbJ/dicom/src'
pkg: error running `make' for the dicom package.
error: called from 'configure_make' in file /usr/share/octave/4.0.1/m/pkg/private/configure_make.m near line 96, column 9
>>
This is due to the dicom package being very outdated (2011).
Recently, a number of researchers have updated the package to use the latest version of gdcm and removed some of the hardcodings that made installing gdcm beyond 2.0 uncompatable with the dicom library.
A thread on this is available here
http://octave.1599824.n4.nabble.com/Can-t-install-dicom-package-0-1-1-and-0-1-2-user-version-in-octave-4-0-2-and-ubuntu-14-0-td4681648.html
In short, their instructions are to use a repo of an updated version of dicom package installed. This assumes that gdcm has been installed with headers (i.e built from source).
hg clone http://hg.code.sf.net/p/octave/dicom
cd dicom
make install

tcl8.5.10 make fail error, Network Simulator2 v2.35 (Cygwin v1.7.32) in Windows 8

during installation of NS2 v2.35 (Cygwin v1.7.32) in Windows 8 i keep getting this error message:
Package gcc4 is not present on your system.
Please install it using Cygwin's setup.exe
before trying to install the ns-2 distribution.
I tried downloading the gcc4 package from the setup but it does not show that it has a gcc4 package. So, i downloaded it from internet but the file was empty!!! If i ignore the warning for gcc4 and continue with the installation then i got the following error.
/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: final l ink failed: Invalid operation
collect2: error: ld returned 1 exit status
Makefile:569: recipe for target `tclsh.exe' failed
make: *** [tclsh.exe] Error 1
tcl8.5.10 make failed! Exiting ...
For problems with Tcl/Tk see http://www.scriptics.com
Somebody please help me!!!
Latest gcc ,i.e., 4.8 not compatible, Go for older versions of gcc like 4.7

Building util-linux: unsupported hardcode properties

I'm trying to build util-linux on ubuntu 12.04.
But make stops with this error:
libtool: link: unsupported hardcode properties
libtool: link: See the libtool documentation for more information.
libtool: link: Fatal configuration error.
make[2]: *** [libblkid.la] Error 1
After googling this error, it seems to me this kind of error is linked with "cross compilation". Although i'm building it in native environment.
The error occurs during linking libblkid
I then tried building it with ./configure --disable-libblkid, then it stops with the same error. This time it chokes when building libfdisk. And it turns out i can't disable building libfdisk.
So i'm very curious about what this error actually means?
EDIT:
During ./autogen.sh this error comes up. Although it does not stop the process.
configure.ac:129: error: Could not locate the pkg-config autoconf
macros. These are usually located in /usr/share/aclocal/pkg.m4.
If your macros are in a different location, try setting the
environment variable AL_OPTS="-I/other/macro/dir" before running
./autogen.sh or autoreconf again.

Resources