paolorotolo / droidcam

Use your Android phone as a wireless webcam or an IP Cam!
GNU General Public License v3.0
133 stars 41 forks source link

Error compiling droidcam on Fedora #12

Closed matheuscandido closed 4 years ago

matheuscandido commented 4 years ago

Hello, I tried installing droidcam on my Fedora 32 computer and got the following error upon running the install script. I installed all dependencies: linux header files, libspeex, libspeexdsp, libjpeg-turbo, libavutil-dev and libswscale.

Webcam parameters: '640' and '480'
Building v4l2loopback-dc.ko
make: Entering directory '/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback'
make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
  CC [M]  /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:41: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                         ^~~~~~~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘get_timestamp’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:7: error: invalid use of undefined type ‘struct timeval’
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |       ^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:19: error: ‘time_t’ undeclared (first use in this function); did you mean ‘ktime_t’?
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |                   ^~~~~~
      |                   ktime_t
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:19: note: each undeclared identifier is reported only once for each function it appears in
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:26: error: expected ‘;’ before ‘ts’
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |                          ^~
      |                          ;
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:42:7: error: invalid use of undefined type ‘struct timeval’
   42 |     tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
      |       ^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘vidioc_qbuf’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:1541:19: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1541 |     get_timestamp(&b->buffer.timestamp);
      |                   ^~~~~~~~~~~~~~~~~~~~
      |                   |
      |                   struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘v4l2_loopback_write’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:1989:17: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1989 |   get_timestamp(&b->timestamp);
      |                 ^~~~~~~~~~~~~
      |                 |
      |                 struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘init_buffers’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:2093:19: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 2093 |     get_timestamp(&b->timestamp);
      |                   ^~~~~~~~~~~~~
      |                   |
      |                   struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: At top level:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:2448:1: fatal error: opening dependency file /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/.v4l2loopback-dc.o.d: Permission denied
 2448 | }
      | ^
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:268: /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o] Error 1
make[1]: *** [Makefile:1683: /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
make: *** [Makefile:4: all] Error 2
make: Leaving directory '/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback'