Summary: | sys-fs/udev-init-scripts trouble detecting udevdir? | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | XC <allwind> |
Component: | [OLD] Core system | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
XC
2013-11-08 13:35:28 UTC
"shell <command>" in makefiles simply executes whatever command is given to it an a shell environment. I does not have to be a shell script. So calling pkg-config is comletely vaild. Try yourself: mkdir test ; cd test echo 'all:\n\t/bin/echo "$(shell ls -l)"' > Makefile make -s -f Makefile Now tell me what you get as result. Please post the output of pkg-config udev --variable=udevdir to this bug. I suppose the problem is rather there but in the Makefile... Ah sorry, had this tested under zsh. In bash you need to do this for testing the Makefile: mkdir test ; cd test echo -e 'all:\n\t/bin/echo "$(shell ls -l)"' > Makefile make -s -f Makefile Hello, your test is ok: ls -l is correctly executed . However, if i run (in terminal) "/bin/sh pkg-config udev --variable=udevdir" i obtain: "/usr/bin/pkg-config: /usr/bin/pkg-config : fichier binaire impossible à lancer" --system in french, of course-- Unlikely, the command : "pkg-config udev --variable=udevdir" gives as result : "/lib/udev" It's why in installing udev-init-scripts files go under / directory and not under /lib/udev directory (seen recently in my Gentoo system, where /bin/sh refers to /bin/bash) What is wrong ? Regards XC udev-init-scripts properly depends on virtual/pkgconfig, so there should be no reason pkg-config cannot be found... As poly-c indicates, running "/bin/sh pkg-config udev --variable=udevdir" is NOT the same as calling $(shell pkg-config) from a Makefile. Please attach a build log. "fichier binaire impossible à lancer" = "cannot execute binary file" This message is usually printed when the binary is incompatible, like a 64-bit binary on a 32-bit system... But sure, it's probably udev-init-scripts' fault. (In reply to Jeroen Roovers from comment #6) > "fichier binaire impossible à lancer" = "cannot execute binary file" > > This message is usually printed when the binary is incompatible, like a > 64-bit binary on a 32-bit system... But sure, it's probably > udev-init-scripts' fault. That message is only produced as a result of the invalid test that the reporter is running in his terminal: > However, if i run (in terminal) > "/bin/sh pkg-config udev --variable=udevdir" I did not assign the bug because the reporter is providing bad/useless information thus far. to Mike Gilbert: you're right, i have modified the above test, replacing "shell ls -l" by "shell pkg-config udev --variable=udevdir", and it's working !! I obtain the desired result : /lib/udev Nevertheless, emerging udev-init-scripts-26 gave me files in wrong directory, exactly as if LIBUDEV="". Hence the bug-report Strange for me too, will try re-emerging this package and post the results Reemerging udev-init-scripts works fine !?? This time repertories are correct, all files in the right place I don't understand what happens in previous install, some mysterious sorcery ? Seriously, it's probably a momentaneous local problem -misconfiguration ? overload ? what else ? Very sorry for the inconvenience, bug can be closed XC (In reply to XC from comment #9) Not sure what might have happened. If you come up with a way to reproduce it, feel free to reopen. |