can't install libudev
I'm a huge Linux n00b. sudo dnf install:
- libudev
- libudev1
- libudev-dev
none of these work, "packages not found." Trying to build a makefile but cannot do so without libudev.h. have the file itself downloaded, can't move it to the /usr/include/ directory even with sudo mv (also tried chmod 755 libudev.h, then back to 644 when that didn't work)
hardware is an Alienware m17 laptop, bazzite installed on second SSD (it came w/ win11)
8 Replies
/lib/udev/ directory exists but has the same issue as /usr/ being read-only.
You're clearly familiar with Ubuntu
Make an Ubuntu distrobox and install all the development tools you use there.
If you plan to use the final binary on the host then use a fedora distrobox container. Fedora uses devel instead of dev in their development packages
If the binary does not need tight system integration then it can be run straight from the container and the distro choice for the container does not matter
Never do compiling on the host, you're not supposed to and you're in for a bad time
This is intentional because /usr is read only. You're not supposed to install development tools on the host system (other than the IDE if it supports talking to containers)
Distrobox is pre installed on all ublue images
https://distrobox.it/
Distrobox
Use any linux distribution inside your terminal.
lmao I just happened to find out about libudev-devel and was installing it as you were writing your replies. it solved the libudev.h problem, then I ran into the same issue with libusb.h and was extremely lucky I happened to find a reddit post mentioning libusb1-devel that also fixed it (also required me to rewrite a line of code to #include <libusb-1.0/libusb.h>). Spent quite a few hours on this, but I did learn some stuff from using distrobox. Nice to have a way to use Ubuntu commands, since those are all over the place in these years-old threads I'm searching for answers in, but I don't think they worked for what I'm trying to do.
I'm now encountering a "cannot find 'ld'" error when trying to build. 'echo $LD_LIBRARY_PATH' returns blank, so I'm guessing that like how I set the PKG_CONFIG_PATH as an environment variable with 'export', I do the same for this. I found 'which ld' command in a thread and it returned this:
/usr/bin/which: no ld in (/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/(Username)/.local/bin:/home/(Username)/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin). Searching through some of these directories in Dolphin browser, I found /home/(Username)/.local/bin/ is usable, not sure if that should be the one or if the path even matters. Would prefer to keep things organized in the directory on my Desktop where the makefile and all the rest of the stuff is, but this is fine too. Although from what you said I should change to the Ubuntu distrobox and do it there, which I actually started by doing a github CLI but it just cloned to the same directory I'm already working in.
I'm not developing anything, literally just spending hours upon hours trying to have this application to try out with a game.
https://github.com/ToadKing/wii-u-gc-adapter/
The game's devs already added capability for the adapter to work natively in Windows (only once the proper driver is installed). Linux has emulators using this adapter that don't even need a driver so we probably just have to wait for them to add that same native support in Linux to the game.
(also, I was poking around the pull requests and found one that uses cmake in place of make for portability, which I definitely want, but it didn't work.)
GitHub
GitHub - ToadKing/wii-u-gc-adapter: Tool for using the Wii U GameCu...
Tool for using the Wii U GameCube Adapter on Linux - ToadKing/wii-u-gc-adapter
https://forum.qt.io/post/708401
"ld is not a folder but an executable used to link your program. And you don't have installed it - install it with your package manager."
sounds like I should make it the project folder on my desktop. cmake would be nice, will look into that later. export LD_LIBRARY_PATH produced the same "cannot find 'ld'" error after running make, however. same when set to /home/(Username)/.local/bin/
C libraries I've tried installing to fix this:
- glibc-devel, binutils, already installed
- libc6-dev, libc, libc6 not found
use distrobox
anything else is the wrong answer
set the shell your terminal emulator invokes to
/usr/bin/distrobox-enter
with DBX_CONTAINER_NAME=your_main_distrobox_name
set as an environment variable. Forget the host exists. Use host-spawn
when you need to invoke host commands (rarely). otherwise just install dev shit in the distrobox. ezpzs