You are not logged in.
Hello! I try to install a package from AUR (https://aur.archlinux.org/packages/onedriver), but there's an "errno.h" related issue that stops me from finishing. However, it seems like a tougher challenge: it's not the first unexpected header file issue that prevented me from installing packages.
What I did at the beginning:
sudo pacman -S base-devel git
git clone https://aur.archlinux.org/onedriver.git
cd onedriver/
makepkg -si
What error I faced:
-> Extracting onedriver-0.12.0.tar.gz with bsdtar
bsdtar: Failed to set default locale
==> Starting build(...)
# runtime/cgo
In file included from /usr/include/errno.h:28,
from cgo-gcc-prolog:30:
/usr/include/bits/errno.h:26:11: fatal error: linux/**errno.h**: No such file or directory
26 | # include <linux/errno.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
==> ERROR: A failure occurred in build(.)
Aborting...
I tried to see if it happens with other installs using "makepkg -si" commands, so I tried to install libpamac-git for another purpose, but faced similar header problem:
src/outdated-checker.p/outdated_checker.c:23:10: fatal error: glib.h: No such file or directory
23 | #include <glib.h>
Also, few days ago I recall having a similar header file issue, but it was like this:
cgo_export.c:3:10: fatal error: **stdlib.h**: No such file or directory
I searched for errno.h file in my system, here are its locations:
/usr/include/errno.h
/usr/lib/musl/include/errno.h
/usr/lib/musl/include/sys/errno.h
/usr/include/bits/errno.h
/usr/include/errno.h
/usr/include/sys/errno.h
/usr/include/wine/msvcrt/errno.h
/usr/lib/steamos/modules/5.16.2-arch1-1.1/build/include/linux/errno.h
/usr/lib/steamos/modules/5.16.2-arch1-1.1/build/include/uapi/asm-generic/errno.h
/usr/lib/steamos/modules/5.16.2-arch1-1.1/build/include/uapi/linux/errno.h
/usr/lib/i386-musl/include/linux/errno.h
/usr/lib/i386-musl/include/asm/errno.h
/usr/lib/i386-musl/include/asm-generic/errno.h
What I tried to do:
Reinstalling everything possibly related - gcc, lib32-gcc, sudo pacman -S git base-devel, required dependencies etc. and sudo pacman -Syu after
Verifying if [multilib] still enabled.
Installing onedriver using 'yay' - same error.
ln -s /usr/include/asm-generic /usr/include/asm
Browsing through a lot of various forums, reddits searching for a solution, but the complexness of my header files problem is exceeding my building up linux skills. "The area of damage" related to header files is seems to be larger than expected if it involves even different packages.
Do you have any ideas/tips on how it could be solved? Thanks a lot!
Offline
You seem to be ignoring an earier error that is likely the actual problem:
bsdtar: Failed to set default locale
Fix your locale. And / or post the output of each of the following if you need help with that:
localectl
locale -a
cat /etc/locale.conf
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
You seem to be ignoring an earier error that is likely the actual problem:
bsdtar: Failed to set default locale
Fix your locale. And / or post the output of each of the following if you need help with that:
localectl locale -a cat /etc/locale.conf
Hey, thanks, that might be the case! There were a few packages that I successfully installed in the past, which is why I haven't paid enough attention to this error unfortunately, ignoring its importance.
The output of these command looks like this:
localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a
locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US.utf8
cat /etc/locale.conf
LANG=en_US.UTF-8
After that I checked /etc/locale.gen and en_US.UTF-8 UTF-8 was already uncommented. So I went with:
sudo locale-gen
Generating locales...
en_US.UTF-8... done
Generation complete.
Later I deleted the home/onedriver folder and tried to install it again:
makepkg -si
==> Making package: onedriver 0.12.0-1 (Sat Jul 16 14:16:47 2022)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading onedriver-0.12.0.tar.gz...
==> Validating source files with sha512sums...
onedriver-0.12.0.tar.gz ... Passed
==> Extracting sources...
-> Extracting onedriver-0.12.0.tar.gz with bsdtar
bsdtar: Failed to set default locale
==> Starting build()...
# github.com/jstaf/onedriver/fs/graph
oauth2_gtk.c:1:10: fatal error: gtk/gtk.h: No such file or directory
1 | #include <gtk/gtk.h>
| ^~~~~~~~~~~
compilation terminated.
==> ERROR: A failure occurred in build().
Aborting...
Different error at the end, but like you said it all may start with "bsdtar: Failed to set default locale'. So I went to locale.conf and updated like this:
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
and after a PC restart these two commands look good now:
localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a
locale -a
C
en_US.utf8
POSIX
So I deleted a package's folder again, redownloaded and tried to build it again. Here are the results:
makepkg -si
==> Making package: onedriver 0.12.0-1 (Sat 16 Jul 2022 02:34:47 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading onedriver-0.12.0.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 116k 0 116k 0 0 97701 0 --:--:-- 0:00:01 --:--:-- 0
==> Validating source files with sha512sums...
onedriver-0.12.0.tar.gz ... Passed
==> Extracting sources...
-> Extracting onedriver-0.12.0.tar.gz with bsdtar
==> Starting build()...
# github.com/jstaf/onedriver/fs/graph
oauth2_gtk.c:1:10: fatal error: gtk/gtk.h: No such file or directory
1 | #include <gtk/gtk.h>
| ^~~~~~~~~~~
compilation terminated.
==> ERROR: A failure occurred in build().
Aborting...
Well.. the good news is that there's no more "bsdtar: Failed to set default locale" error It's definitely better than it was for the sake of possible future locale-related complications.
But still, there is another one .h file causing trouble. stdlib.h at first, errno.h later, gtk.h. Definitely I'm not a friend of headers, even though I had just installed the newest linux-headers 5.18.12.arch1-1 package. Do you have any ideas what might be the reason?
Last edited by emplooia (2022-07-16 12:44:36)
Offline
Your configuration looks good, yet there is an error with locales still. Please post the output of the following:
pacman -Qkk glibc
file /usr/share/i18n/locales/en_US
grep NoExtract /etc/pacman.conf
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Your configuration looks good, yet there is an error with locales still. Please post the output of the following:
pacman -Qkk glibc file /usr/share/i18n/locales/en_US grep NoExtract /etc/pacman.conf
Sure, feels like the output doesn't look right:
pacman -Qkk glibc
backup file: glibc: /etc/locale.gen (Modification time mismatch)
backup file: glibc: /etc/locale.gen (Size mismatch)
backup file: glibc: /etc/locale.gen (MD5 checksum mismatch)
backup file: glibc: /etc/locale.gen (SHA256 checksum mismatch)
warning: glibc: /var/db (Permissions mismatch)
glibc: 1578 total files, 1 altered file
file /usr/share/i18n/locales/en_US
/usr/share/i18n/locales/en_US: ASCII text
grep NoExtract /etc/pacman.conf
#NoExtract =
Offline
Thanks, that all looks normal, with the potential exception of the permission mismatch on /var/db. While I doubt that's related, do you know why the permissions on that directory may have changed? What are the permissions on that directory? They normally are 0755 (drwxr-xr-x).
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Thanks, that all looks normal, with the potential exception of the permission mismatch on /var/db. While I doubt that's related, do you know why the permissions on that directory may have changed? What are the permissions on that directory? They normally are 0755 (drwxr-xr-x).
Thanks! That's surprising, I guess it's better for me not to bet on my feelings whether something looks fine So locales are solved, I searched for how to check permissions of this directory and I've received this:
(deck@steamdeck ~)$ sudo ls -l /var/db
total 8
-rw-r--r-- 1 root root 5351 May 12 2021 Makefile
drwxr-xr-x 2 root root 1024 May 12 2021 nscd
drwx--x--x 3 root root 1024 Jul 12 13:30 sudo
I updated linux-headers 5.18.12.arch1-1 package, so it's all there along the required dependencies, I don't know, maybe it's something about the lack of correct path to these .h files?
Offline
oauth2_gtk.c:1:10: fatal error: gtk/gtk.h: No such file or directory
1 | #include <gtk/gtk.h>
| ^~~~~~~~~~~
compilation terminated.
export VERBOSE=1
makepkg
gtk/gtk.h is provided by the various gtk versions, but the package probably tries to link gtk2 while the webkit dependency is gtk3 - but let's see…
Offline
oauth2_gtk.c:1:10: fatal error: gtk/gtk.h: No such file or directory 1 | #include <gtk/gtk.h> | ^~~~~~~~~~~ compilation terminated.
export VERBOSE=1 makepkg
gtk/gtk.h is provided by the various gtk versions, but the package probably tries to link gtk2 while the webkit dependency is gtk3 - but let's see…
I checked installed packages and I see that I have these versions of webkit: extra/webkit2gtk 2.34.4-1 and webkit2gtk-5.0 2.34.4-1, but when it comes to "normal" gtk, then I have gtk3 1:3.24.31-1 and gtk4 1:4.6.0-2 installed.
I entered the command 'export
VERBOSE=1'
when in the package's directory before using "makepkg -si", but I'm sorry, I didn't found the other way of using this command, it's certain I missed something. Should I combine it with other command?
Offline
exporting VERBOSE=1 to make should™ get you, well, verbose output - hopefully telling you what gcc command leads to the error (and what the include paths are)
Offline
exporting VERBOSE=1 to make should™ get you, well, verbose output - hopefully telling you what gcc command leads to the error (and what the include paths are)
Sorry, I'm really thankful for the advice, but I've been searching for a way how to use VERBOSE=1 in a correct syntax and I just struggle with finding the proper method how to combine it with makepkg in the console. Am I close to success thinking about combining it in one row?
Last edited by emplooia (2022-07-16 16:27:46)
Offline
(deck@steamdeck ~)$ sudo ls -l /var/db
Are you actually running Arch or is this SteamOS?
If this is SteamOS then you'll have to ask on their forums instead as we can't support it here...
These forums are for Arch Linux x86_64 ONLY.
Not Antegros, or Apricity, or Manjaro, or any of the "easy Arch installers", nor Arch-ARM; nothing other than vanilla 64-bit Arch Linux. Ask those communities for support.
If you have installed Arch, please read the rules before posting. README: Forum Rules.
Arch-based distributions have their own support fora and users of those distributions should be actively encouraged to seek support there. These distributions often use different packages, package versions, repositories, or make custom system configurations silently, practically rendering support for such projects within Arch Linux impossible. Community technical support shall only be provided for the Arch Linux distribution and the Arch User Repository. Posting issues with, and requesting support for, derivative distributions or operating systems other than Arch Linux are prohibited.
Offline
emplooia wrote:(deck@steamdeck ~)$ sudo ls -l /var/db
Are you actually running Arch or is this SteamOS?
If this is SteamOS then you'll have to ask on their forums instead as we can't support it here...Forum Rules wrote:These forums are for Arch Linux x86_64 ONLY.
Not Antegros, or Apricity, or Manjaro, or any of the "easy Arch installers", nor Arch-ARM; nothing other than vanilla 64-bit Arch Linux. Ask those communities for support.
If you have installed Arch, please read the rules before posting. README: Forum Rules.Code of Conduct - Arch Linux distribution support ONLY wrote:Arch-based distributions have their own support fora and users of those distributions should be actively encouraged to seek support there. These distributions often use different packages, package versions, repositories, or make custom system configurations silently, practically rendering support for such projects within Arch Linux impossible. Community technical support shall only be provided for the Arch Linux distribution and the Arch User Repository. Posting issues with, and requesting support for, derivative distributions or operating systems other than Arch Linux are prohibited.
Hello, I totally understand you and the rule, I added this "(deck@steamdeck)" note in purpose to be precise about what I use and leave no ambiguity for everyone who helps or searches through the web with the same problem.
I feel like the issue with these specific packages and libraries is strictly related to Arch system structure, same as vanilla version, and this is the only reason why I chose to search for help in here. I'm really, really sorry for the trouble. I just don't believe that there is a more experienced community at this moment who could help with this such a specific problem with Arch packages/dependencies. SteamOS community is more gaming-focused and I'm trying to solve this Arch Linux-related issue for a few days. The solution may not be too far away, if I could do the "VERBOSE=1" output maybe it could become clear on how to fix the gcc commands related to these .header files.
Offline
No, probably won't - the sources are acutally built w/ go and that suppresses the output (… sigh)
You'll have to edit the PKGBUILD and use "go -x build" instead to get the underlying C++ calls that produce the error.
Offline
i have same problem but i cant fixed.
$ makepkg PKGBUILD
==> ERROR: (not have error type or desc.)
anyone know how can i fixed this problem ?
Offline
No you don't and no we don't know how to fix <generic "ERROR: (not have error type or desc.)">
https://bbs.archlinux.org/viewtopic.php?id=57855
For starters "makepkg PKGBUILD" isn't a thing, https://man.archlinux.org/man/core/pacman/makepkg.8.en
Offline