i-rinat / freshplayerplugin

ppapi2npapi compatibility layer
MIT License
727 stars 52 forks source link

build error #366

Open beew opened 6 years ago

beew commented 6 years ago

Hi, when trying to compile freshplayerplugin 'make' produced these errors

home/beew/Downloads/freshplayerplugin/src/async_network.c: In function ‘get_pp_errno’:
/home/beew/Downloads/freshplayerplugin/src/async_network.c:81:13: error: ‘errno’ undeclared (first use in this function)
     switch (errno) {
             ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:81:13: note: each undeclared identifier is reported only once for each function it appears in
/home/beew/Downloads/freshplayerplugin/src/async_network.c:82:10: error: ‘EACCES’ undeclared (first use in this function)
     case EACCES:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:83:10: error: ‘EPERM’ undeclared (first use in this function)
     case EPERM:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:85:10: error: ‘EADDRINUSE’ undeclared (first use in this function)
     case EADDRINUSE:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:87:10: error: ‘ECONNREFUSED’ undeclared (first use in this function)
     case ECONNREFUSED:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:89:10: error: ‘ENETUNREACH’ undeclared (first use in this function)
     case ENETUNREACH:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:91:10: error: ‘ETIMEDOUT’ undeclared (first use in this function)
     case ETIMEDOUT:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:93:10: error: ‘ENOTCONN’ undeclared (first use in this function)
     case ENOTCONN:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:95:10: error: ‘ECONNRESET’ undeclared (first use in this function)
     case ECONNRESET:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:97:10: error: ‘EAGAIN’ undeclared (first use in this function)
     case EAGAIN:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:98:10: error: ‘EBADF’ undeclared (first use in this function)
     case EBADF:
          ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c: In function ‘handle_tcp_connect_stage3’:
/home/beew/Downloads/freshplayerplugin/src/async_network.c:214:21: error: ‘errno’ undeclared (first use in this function)
     if (res != 0 && errno != EINPROGRESS) {
                     ^
/home/beew/Downloads/freshplayerplugin/src/async_network.c:214:30: error: ‘EINPROGRESS’ undeclared (first use in this function)
     if (res != 0 && errno != EINPROGRESS) {
                              ^
src/CMakeFiles/freshwrapper-obj.dir/build.make:62: recipe for target 'src/CMakeFiles/freshwrapper-obj.dir/async_network.c.o' failed

cmake went through without error

$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_HWDEC=1 ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.48.2
-- Checking for modules 'alsa;gio-2.0;x11;xrandr;xrender;xcursor;gl;libdrm;libevent;libevent_pthreads;cairo;pango;pangocairo;pangoft2;freetype2;openssl;icu-uc'
--   Found alsa, version 1.1.0
--   Found gio-2.0, version 2.48.2
--   Found x11, version 1.6.3
--   Found xrandr, version 1.5.0
--   Found xrender, version 0.9.9
--   Found xcursor, version 1.1.14
--   Found gl, version 17.0.7
--   Found libdrm, version 2.4.80
--   Found libevent, version 2.0.21-stable
--   Found libevent_pthreads, version 2.0.21-stable
--   Found cairo, version 1.14.6
--   Found pango, version 1.38.1
--   Found pangocairo, version 1.38.1
--   Found pangoft2, version 1.38.1
--   Found freetype2, version 18.1.12
--   Found openssl, version 1.0.2g
--   Found icu-uc, version 55.1
-- checking for optional dependencies
--   found libpulse, version 8.0 (optional)
--   found jack, version 1.9.11 (optional)
--   found soxr, version 0.1.2
-- Checking for modules 'libavcodec;libavutil;libva;libva-x11;vdpau'
--   Found libavcodec, version 57.107.100
--   Found libavutil, version 55.78.100
--   Found libva, version 0.40.0
--   Found libva-x11, version 0.40.0
--   Found vdpau, version 1.1.1
-- Performing Test HAVE_AVPixelFormat
-- Performing Test HAVE_AVPixelFormat - Success
-- Performing Test HAVE_AV_PIX_FMT_VDPAU
-- Performing Test HAVE_AV_PIX_FMT_VDPAU - Success
-- Performing Test HAVE_AVCodecID
-- Performing Test HAVE_AVCodecID - Success
-- Performing Test HAVE_AVCodecContext_get_buffer2
-- Performing Test HAVE_AVCodecContext_get_buffer2 - Success
-- Performing Test HAVE_AVVDPAUContext
-- Performing Test HAVE_AVVDPAUContext - Success
-- Looking for av_frame_alloc
-- Looking for av_frame_alloc - found
-- Looking for av_frame_free
-- Looking for av_frame_free - found
-- Looking for avcodec_free_context
-- Looking for avcodec_free_context - found
-- Checking for module 'libv4l2'
--   Found libv4l2, version 1.10.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/beew/Downloads/freshplayerplugin/build

OS is Ubuntu 16.04 64 bits. thanks

beew commented 6 years ago

Revert to commit 4a29ab58e28e31e0e8a92dfd65e45775e73dcb21 from Dec 11 it builds fine. So culprit is in one of the commits on Dec14.

i-rinat commented 6 years ago

I was shuffling include directives around in hope to isolate inclusion of libraries. And apparently forget to add #include <errno.h> into async_network.c. Somehow it was included transitively on my machine, so it compiled fine on my machine.

Well, anyway, I shuffled includes once more, and also tried to add missing with help of "include-what-you-use". I think, it should be be fine in the latest version (it's 2193c4c706b1709b0c7f0582152df2bd628576c8 at the moment).

i-rinat commented 6 years ago

Still fails to build?