@fourier you must install kernel headers for the kernel you have installed in order to use DKMS, for example "linux-headers" if you use "linux" package for your kernel. See https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support#Installation for more details.
Search Criteria
Package Base Details: droidcam
Git Clone URL: | https://aur.archlinux.org/droidcam.git (read-only, click to copy) |
---|---|
Keywords: | Android webcam |
Submitter: | marquicus |
Maintainer: | CodeXYZ (Levitating, lazerl0rd) |
Last Packager: | Levitating |
Votes: | 135 |
Popularity: | 0.82 |
First Submitted: | 2011-06-29 20:31 (UTC) |
Last Updated: | 2024-01-10 00:25 (UTC) |
Packages (2)
Latest Comments
« First ‹ Previous 1 .. 5 6 7 8 9 10 11 12 13 14 15 .. 37 Next › Last »
invidian commented on 2020-10-07 19:52 (UTC)
fourier commented on 2020-10-07 19:43 (UTC)
Tried to install, but failed with
==> Unable to install module v4l2loopback-dc/1.5 for kernel *: Missing kernel headers.
invidian commented on 2020-10-01 21:55 (UTC)
@klingt.net hmm, I don't know what could be the cause then. This repo contains a Dockerfile which I use to test builds on fresh machines, to make sure all dependencies are included. Maybe try manually cloning the repository and building from there?
klingt.net commented on 2020-10-01 15:48 (UTC)
@invidian
I have the latest available version installed:
$ yay -Qi libjpeg-turbo | grep Version
Version : 2.0.5-2
invidian commented on 2020-10-01 10:26 (UTC)
@klingt.net maybe you have outdated version of "libjpeg-turbo"? It seems compiler picks the version, which do not have "tjGetErrorStr2" defined, which has been added in 1.5.3+: https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/1.5.90.
klingt.net commented on 2020-10-01 06:47 (UTC) (edited on 2020-10-01 06:48 (UTC) by klingt.net)
Building droidcam fails on my machine:
==> Starting build()...
g++ -std=c++11 -x c++ -Wall -fPIC -no-pie src/droidcam-cli.c src/connection.c src/settings.c src/decoder.c src/decoder_snd.c src/decoder_v4l2.c src/av.c src/usb.c -lturbojpeg `pkg-config --libs --cflags libswscale libavutil` -lspeex -lasound -lpthread -lm -lusbmuxd-2.0 -o droidcam-cli
g++ -std=c++11 -x c++ -Wall -fPIC -no-pie src/droidcam.c src/resources.c src/connection.c src/settings.c src/decoder.c src/decoder_snd.c src/decoder_v4l2.c src/av.c src/usb.c `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11` `pkg-config --cflags --libs appindicator3-0.1` -lturbojpeg `pkg-config --libs --cflags libswscale libavutil` -lspeex -lasound -lpthread -lm -lusbmuxd-2.0 -o droidcam
src/droidcam.c: In function ‘void the_callback(GtkWidget*, gpointer)’:
src/droidcam.c:227:63: warning: ‘void gtk_menu_popup(GtkMenu*, GtkWidget*, GtkWidget*, GtkMenuPositionFunc, gpointer, guint, guint32)’ is deprecated: Use '(gtk_menu_popup_at_widget, gtk_menu_popup_at_pointer, gtk_menu_popup_at_rect)' instead [-Wdeprecated-declarations]
227 | gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, 0);
| ^
In file included from /usr/include/gtk-3.0/gtk/gtklabel.h:34,
from /usr/include/gtk-3.0/gtk/gtkaccellabel.h:35,
from /usr/include/gtk-3.0/gtk/gtk.h:33,
from src/droidcam.c:11:
/usr/include/gtk-3.0/gtk/gtkmenu.h:138:9: note: declared here
138 | void gtk_menu_popup (GtkMenu *menu,
| ^~~~~~~~~~~~~~
src/decoder.c: In function ‘int decoder_init()’:
src/decoder.c:111:37: error: ‘TJXOPT_COPYNONE’ was not declared in this scope; did you mean ‘TJXOP_NONE’?
111 | jpg_decoder.transform.options = TJXOPT_COPYNONE | TJXOPT_TRIM;
| ^~~~~~~~~~~~~~~
| TJXOP_NONE
In file included from src/decoder.c:19:
src/decoder.c: In function ‘void process_frame(JPGFrame*)’:
src/decoder.c:279:61: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
279 | errprint("tjDecompressHeader3() failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
src/decoder.c:280:30: error: ‘tjGetErrorStr2’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
280 | errprint("%s\n", tjGetErrorStr2(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
src/decoder.c:311:54: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
311 | errprint("tjDecompressToYUV2 failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
make: *** [Makefile:39: droidcam-cli] Error 1
make: *** Waiting for unfinished jobs....
src/decoder.c: In function ‘int decoder_init()’:
src/decoder.c:111:37: error: ‘TJXOPT_COPYNONE’ was not declared in this scope; did you mean ‘TJXOP_NONE’?
111 | jpg_decoder.transform.options = TJXOPT_COPYNONE | TJXOPT_TRIM;
| ^~~~~~~~~~~~~~~
| TJXOP_NONE
In file included from src/decoder.c:19:
src/decoder.c: In function ‘void process_frame(JPGFrame*)’:
src/decoder.c:279:61: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
279 | errprint("tjDecompressHeader3() failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
src/decoder.c:280:30: error: ‘tjGetErrorStr2’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
280 | errprint("%s\n", tjGetErrorStr2(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
src/decoder.c:311:54: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
311 | errprint("tjDecompressToYUV2 failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
| ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
| ^~~~~~~~~~~
make: *** [Makefile:42: droidcam] Error 1
==> ERROR: A failure occurred in build().
Aborting...
error making: droidcam (v4l2loopback-dc-dkms)
invidian commented on 2020-09-30 08:17 (UTC)
@pickfire thanks for noticing, you are right. I added "libappindicator-gtk3" as optional dependency now, as we do the same with "gtk3", given that "droidcam-cli" works without both of those packages.
I wonder, perhaps this optional dependencies should be dropped and just added as regular dependencies.
pickfire commented on 2020-09-30 03:15 (UTC) (edited on 2020-09-30 03:15 (UTC) by pickfire)
libappindicator-gtk3 is a dependency, not just make dependency. Otherwise, droidcam
droidcam: error while loading shared libraries: libappindicator3.so.1: cannot open shared object file: No such file or directory
invidian commented on 2020-09-19 12:35 (UTC)
jonseitz I suspect that happens, because you have "." in your PATH, so local "install" script takes precedence over "global" "install" binary. I'll fix that, it seems like a reasonable case.
js3z commented on 2020-09-19 01:26 (UTC)
Ran into an issue installing just now, getting the following error:
==> Starting package_droidcam()...
~/builds/droidcam/src/droidcam-1.3/linux ~/builds/droidcam/src
Invalid parameters: '-Dm755' and 'droidcam'
==> ERROR: A failure occurred in package_droidcam().
Aborting...
It seems that the issue is that the calls to install ...
in the package scripts were referencing the install
script in src/droidcam-1.4/linux/
, instead of /sbin/install
. I was able to get it working by changing the PKGBUILD
to:
diff --git a/PKGBUILD b/PKGBUILD
index 5dd52df..61cf9d4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -54,12 +54,12 @@ package_droidcam() {
pushd ${pkgbase}-${pkgver}/linux
# Install droidcam program files
- install -Dm755 "${pkgbase}" "$pkgdir/usr/bin/${pkgbase}"
- install -Dm755 "${pkgbase}-cli" "$pkgdir/usr/bin/${pkgbase}-cli"
- install -Dm644 icon2.png "$pkgdir/usr/share/pixmaps/${pkgbase}.png"
- install -Dm644 "../../${pkgbase}.desktop" "$pkgdir/usr/share/applications/${pkgbase}.desktop"
- install -Dm644 "../../${pkgbase}.conf" "${pkgdir}/etc/modules-load.d/${pkgbase}.conf"
- install -Dm644 README.md "$pkgdir/usr/share/licenses/${pkgbase}/LICENSE"
+ /sbin/install -Dm755 "${pkgbase}" "$pkgdir/usr/bin/${pkgbase}"
+ /sbin/install -Dm755 "${pkgbase}-cli" "$pkgdir/usr/bin/${pkgbase}-cli"
+ /sbin/install -Dm644 icon2.png "$pkgdir/usr/share/pixmaps/${pkgbase}.png"
+ /sbin/install -Dm644 "../../${pkgbase}.desktop" "$pkgdir/usr/share/applications/${pkgbase}.desktop"
+ /sbin/install -Dm644 "../../${pkgbase}.conf" "${pkgdir}/etc/modules-load.d/${pkgbase}.conf"
+ /sbin/install -Dm644 README.md "$pkgdir/usr/share/licenses/${pkgbase}/LICENSE"
}
package_v4l2loopback-dc-dkms() {
@@ -68,22 +68,22 @@ package_v4l2loopback-dc-dkms() {
local install_dir="${pkgdir}/usr/src/${_pkgname}-${pkgver}"
# Copy dkms.conf
- install -Dm644 dkms.conf "${install_dir}/dkms.conf"
+ /sbin/install -Dm644 dkms.conf "${install_dir}/dkms.conf"
# Set name and version
sed -e "s/@_PKGNAME@/${_pkgname}/" -e "s/@PKGVER@/${pkgver}/" -i "${install_dir}/dkms.conf"
# Install module loading configuration
- install -Dm644 "${pkgbase}.modprobe.conf" "$pkgdir/etc/modprobe.d/${pkgbase}.conf"
+ /sbin/install -Dm644 "${pkgbase}.modprobe.conf" "$pkgdir/etc/modprobe.d/${pkgbase}.conf"
# Install module source
cd ${pkgbase}-${pkgver}/linux/v4l2loopback
for d in $(find . -type d); do
- install -dm755 "${install_dir}/$d"
+ /sbin/install -dm755 "${install_dir}/$d"
done
for f in $(find . -type f ! -name '.gitignore'); do
- install -m644 "$f" "${install_dir}/$f"
+ /sbin/install -m644 "$f" "${install_dir}/$f"
done
}
Possibly it's something specific to my system, but dropping this here in case anyone runs into the same.
Pinned Comments