did try to build npapi-vlc on FreeBSD 10.0-RELEASE (amd64) and I got: make install clean ===> npapi-vlc-2.0.6 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by npapi-vlc-2.0.6 for building ===> Extracting for npapi-vlc-2.0.6 => SHA256 Checksum OK for npapi-vlc-2.0.6.tar.xz. ===> Patching for npapi-vlc-2.0.6 ===> npapi-vlc-2.0.6 depends on shared library: libvlc.so - found ===> Configuring for npapi-vlc-2.0.6 ===> FreeBSD 10 autotools fix applied to /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/aclocal.m4 ===> FreeBSD 10 autotools fix applied to /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/configure ===> FreeBSD 10 autotools fix applied to /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/m4/libtool.m4 configure: loading site script /usr/ports/Templates/config.site checking build system type... amd64-portbld-freebsd10.0 checking host system type... amd64-portbld-freebsd10.0 checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel checking whether build environment is sane... yes checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p checking for gawk... (cached) /usr/bin/awk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... (cached) /usr/bin/tar checking whether make supports nested variables... yes checking for style of include used by make... GNU checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking dependency style of cc... gcc3 checking for cc option to accept ISO C99... none needed checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... (cached) /usr/bin/egrep checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for minix/config.h... (cached) no checking whether it is safe to define __EXTENSIONS__... yes checking whether we are using the GNU C++ compiler... yes checking whether c++ accepts -g... yes checking dependency style of c++... gcc3 checking for g++... no checking for objc++... no checking for objcxx... no checking for c++... c++ checking whether we are using the GNU Objective C++ compiler... yes checking whether c++ accepts -g... yes checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for fgrep... (cached) /usr/bin/fgrep checking for ld used by cc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... (cached) 262144 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... no checking how to convert amd64-portbld-freebsd10.0 file names to amd64-portbld-freebsd10.0 format... func_convert_file_noop checking how to convert amd64-portbld-freebsd10.0 file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... (cached) pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from cc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... (cached) yes checking for objdir... .libs checking if cc supports -fno-rtti -fno-exceptions... yes checking for cc option to produce PIC... -fPIC -DPIC checking if cc PIC flag -fPIC -DPIC works... yes checking if cc static flag -static works... yes checking if cc supports -c -o file.o... yes checking if cc supports -c -o file.o... (cached) yes checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... freebsd10.0 ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... (cached) yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... no checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... c++ -E checking for ld used by c++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking for c++ option to produce PIC... -fPIC -DPIC checking if c++ PIC flag -fPIC -DPIC works... yes checking if c++ static flag -static works... yes checking if c++ supports -c -o file.o... yes checking if c++ supports -c -o file.o... (cached) yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... freebsd10.0 ld.so checking how to hardcode library paths into programs... immediate checking for pkg-config... /usr/local/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for dlltool... (cached) dlltool checking for an ANSI C-conforming const... yes checking for buggy GNU/libc versions... not present checking for X... libraries /usr/local/lib, headers /usr/local/include checking whether -R must be followed by a space... neither works checking for gethostbyname... (cached) yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for LIBVLC... yes checking Mozilla headers... checking for npapi-sdk >= 0.27... no checking for seamonkey-plugin >= 1.9.2... no checking for iceape-plugin >= 1.9.2... no checking for xulrunner-plugin >= 1.9.2... no checking for firefox-plugin >= 1.9.2... no checking for iceweasel-plugin >= 1.9.2... no checking for mozilla-plugin >= 1.9.2... yes checking for npapi.h... yes checking for npruntime.h... yes checking if NP_GetMIMEDescription() returns const... yes checking for XCB... yes checking for GTK... yes configure: creating ./config.status config.status: creating Makefile config.status: creating share/Makefile config.status: creating npapi/Makefile config.status: creating activex/Makefile config.status: creating npapi/package/install.js config.status: creating npapi/package/install.rdf config.status: creating npapi/package/manifest.json config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands ===> Building for npapi-vlc-2.0.6 --- all --- /usr/bin/make all-recursive --- all-recursive --- Making all in npapi --- events.lo --- --- vlcshell.lo --- --- vlcplugin_base.lo --- --- npolibvlc.lo --- --- nporuntime.lo --- --- vlc_player.lo --- --- npunix.lo --- --- vlcwindowless_xcb.lo --- --- events.lo --- CXX events.lo --- vlcshell.lo --- CXX vlcshell.lo --- vlcplugin_base.lo --- CXX vlcplugin_base.lo --- npolibvlc.lo --- CXX npolibvlc.lo --- nporuntime.lo --- CXX nporuntime.lo --- vlc_player.lo --- CXX vlc_player.lo --- npunix.lo --- CXX npunix.lo --- vlcwindowless_xcb.lo --- CXX vlcwindowless_xcb.lo --- vlcwindowless_base.lo --- CXX vlcwindowless_base.lo --- npunix.lo --- support/npunix.cpp:764:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ --- vlcwindowless_xcb.lo --- vlcwindowless_xcb.cpp:128:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (err = xcb_request_check(m_conn, cookie)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vlcwindowless_xcb.cpp:128:17: note: place parentheses around the assignment to silence this warning if (err = xcb_request_check(m_conn, cookie)) ^ ( ) vlcwindowless_xcb.cpp:128:17: note: use '==' to turn this assignment into an equality comparison if (err = xcb_request_check(m_conn, cookie)) ^ == 1 warning generated. --- vlcplugin_gtk.lo --- CXX vlcplugin_gtk.lo --- npunix.lo --- 1 warning generated. --- vlcplugin_base.lo --- In file included from vlcplugin_base.cpp:38: In file included from ./control/npolibvlc.h:28: ./control/nporuntime.h:225:13: error: static declaration of 'RuntimeNPClassGetProperty' follows non-static declaration static bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result) ^ ./control/nporuntime.h:117:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); ^ ./control/nporuntime.h:241:13: error: static declaration of 'RuntimeNPClassSetProperty' follows non-static declaration static bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value) ^ ./control/nporuntime.h:118:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value); ^ ./control/nporuntime.h:257:13: error: static declaration of 'RuntimeNPClassRemoveProperty' follows non-static declaration static bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name) ^ ./control/nporuntime.h:119:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name); ^ ./control/nporuntime.h:273:13: error: static declaration of 'RuntimeNPClassInvoke' follows non-static declaration static bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ ./control/nporuntime.h:120:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ --- npolibvlc.lo --- In file included from control/npolibvlc.cpp:30: In file included from control/npolibvlc.h:28: control/nporuntime.h:225:13: error: static declaration of 'RuntimeNPClassGetProperty' follows non-static declaration static bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result) ^ control/nporuntime.h:117:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); ^ control/nporuntime.h:241:13: error: static declaration of 'RuntimeNPClassSetProperty' follows non-static declaration static bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value) ^ control/nporuntime.h:118:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value); ^ control/nporuntime.h:257:13: error: static declaration of 'RuntimeNPClassRemoveProperty' follows non-static declaration static bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:119:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name); ^ control/nporuntime.h:273:13: error: static declaration of 'RuntimeNPClassInvoke' follows non-static declaration static bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ control/nporuntime.h:120:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ --- vlcplugin_base.lo --- ./control/nporuntime.h:331:23: error: use of undeclared identifier 'RuntimeNPClassInvoke' invoke = &RuntimeNPClassInvoke<T>; ^ ./control/nporuntime.h:331:44: error: 'T' does not refer to a value invoke = &RuntimeNPClassInvoke<T>; ^ ./control/nporuntime.h:304:16: note: declared here template<class T> ^ ./control/nporuntime.h:331:46: error: expected expression invoke = &RuntimeNPClassInvoke<T>; ^ ./control/nporuntime.h:334:23: error: no template named 'RuntimeNPClassGetProperty'; did you mean 'RuntimeNPClassHasProperty'? getProperty = &RuntimeNPClassGetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty ./control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- npolibvlc.lo --- control/nporuntime.h:331:23: error: use of undeclared identifier 'RuntimeNPClassInvoke' invoke = &RuntimeNPClassInvoke<T>; ^ control/nporuntime.h:331:44: error: 'T' does not refer to a value invoke = &RuntimeNPClassInvoke<T>; ^ control/nporuntime.h:304:16: note: declared here template<class T> ^ control/nporuntime.h:331:46: error: expected expression invoke = &RuntimeNPClassInvoke<T>; ^ --- vlcplugin_base.lo --- ./control/nporuntime.h:335:23: error: no template named 'RuntimeNPClassSetProperty'; did you mean 'RuntimeNPClassHasProperty'? setProperty = &RuntimeNPClassSetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty ./control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- nporuntime.lo --- In file included from control/nporuntime.cpp:30: control/nporuntime.h:225:13: error: static declaration of 'RuntimeNPClassGetProperty' follows non-static declaration static bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result) ^ control/nporuntime.h:117:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); ^ control/nporuntime.h:241:13: error: static declaration of 'RuntimeNPClassSetProperty' follows non-static declaration static bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value) ^ control/nporuntime.h:118:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value); ^ control/nporuntime.h:257:13: error: static declaration of 'RuntimeNPClassRemoveProperty' follows non-static declaration static bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:119:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name); ^ control/nporuntime.h:273:13: error: static declaration of 'RuntimeNPClassInvoke' follows non-static declaration static bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ control/nporuntime.h:120:50: note: previous declaration is here template <class RuntimeNPObject> friend bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ^ --- npolibvlc.lo --- control/nporuntime.h:334:23: error: no template named 'RuntimeNPClassGetProperty'; did you mean 'RuntimeNPClassHasProperty'? getProperty = &RuntimeNPClassGetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- vlcplugin_base.lo --- ./control/nporuntime.h:336:23: error: no template named 'RuntimeNPClassRemoveProperty'; did you mean 'RuntimeNPClassHasProperty'? removeProperty = &RuntimeNPClassRemoveProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty ./control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ ./control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcRootNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ vlcplugin_base.cpp:244:57: note: in instantiation of member function 'RuntimeNPClass<LibvlcRootNPObject>::getClass' requested here p_scriptClass = RuntimeNPClass<LibvlcRootNPObject>::getClass(); ^ ./control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ ./control/nporuntime.h:335:20: error: assigning to 'NPSetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, const NPVariant *)') from incompatible type '<overloaded function type>' setProperty = &RuntimeNPClassSetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- nporuntime.lo --- control/nporuntime.h:331:23: error: use of undeclared identifier 'RuntimeNPClassInvoke' invoke = &RuntimeNPClassInvoke<T>; ^ control/nporuntime.h:331:44: error: 'T' does not refer to a value invoke = &RuntimeNPClassInvoke<T>; ^ control/nporuntime.h:304:16: note: declared here template<class T> ^ control/nporuntime.h:331:46: error: expected expression invoke = &RuntimeNPClassInvoke<T>; ^ --- vlcplugin_base.lo --- 12 errors generated. *** [vlcplugin_base.lo] Error code 1 make[3]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/npapi --- npolibvlc.lo --- control/nporuntime.h:335:23: error: no template named 'RuntimeNPClassSetProperty'; did you mean 'RuntimeNPClassHasProperty'? setProperty = &RuntimeNPClassSetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:336:23: error: no template named 'RuntimeNPClassRemoveProperty'; did you mean 'RuntimeNPClassHasProperty'? removeProperty = &RuntimeNPClassRemoveProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- nporuntime.lo --- control/nporuntime.h:334:23: error: no template named 'RuntimeNPClassGetProperty'; did you mean 'RuntimeNPClassHasProperty'? getProperty = &RuntimeNPClassGetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- npolibvlc.lo --- control/npolibvlc.cpp:1435:27: warning: 'libvlc_video_get_height' is deprecated [-Wdeprecated-declarations] int val = libvlc_video_get_height(p_md); ^ /usr/local/include/vlc/libvlc_media_player.h:958:5: note: 'libvlc_video_get_height' declared here int libvlc_video_get_height( libvlc_media_player_t *p_mi ); ^ control/npolibvlc.cpp:1441:27: warning: 'libvlc_video_get_width' is deprecated [-Wdeprecated-declarations] int val = libvlc_video_get_width(p_md); ^ /usr/local/include/vlc/libvlc_media_player.h:968:5: note: 'libvlc_video_get_width' declared here int libvlc_video_get_width( libvlc_media_player_t *p_mi ); ^ --- nporuntime.lo --- control/nporuntime.h:335:23: error: no template named 'RuntimeNPClassSetProperty'; did you mean 'RuntimeNPClassHasProperty'? setProperty = &RuntimeNPClassSetProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- npolibvlc.lo --- In file included from control/npolibvlc.cpp:30: In file included from control/npolibvlc.h:28: control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcAudioNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ control/nporuntime.h:187:62: note: in instantiation of member function 'RuntimeNPClass<LibvlcAudioNPObject>::getClass' requested here obj = NPN_CreateObject(_instance, RuntimeNPClass<T>::getClass()); ^ control/npolibvlc.cpp:127:17: note: in instantiation of function template specialization 'RuntimeNPObject::InstantObj<LibvlcAudioNPObject>' requested here InstantObj<LibvlcAudioNPObject>( audioObj ); ^ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:335:20: error: assigning to 'NPSetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, const NPVariant *)') from incompatible type '<overloaded function type>' setProperty = &RuntimeNPClassSetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcInputNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ control/nporuntime.h:187:62: note: in instantiation of member function 'RuntimeNPClass<LibvlcInputNPObject>::getClass' requested here obj = NPN_CreateObject(_instance, RuntimeNPClass<T>::getClass()); ^ control/npolibvlc.cpp:131:17: note: in instantiation of function template specialization 'RuntimeNPObject::InstantObj<LibvlcInputNPObject>' requested here InstantObj<LibvlcInputNPObject>( inputObj ); ^ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:335:20: error: assigning to 'NPSetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, const NPVariant *)') from incompatible type '<overloaded function type>' setProperty = &RuntimeNPClassSetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcPlaylistNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ control/nporuntime.h:187:62: note: in instantiation of member function 'RuntimeNPClass<LibvlcPlaylistNPObject>::getClass' requested here obj = NPN_CreateObject(_instance, RuntimeNPClass<T>::getClass()); ^ control/npolibvlc.cpp:135:17: note: in instantiation of function template specialization 'RuntimeNPObject::InstantObj<LibvlcPlaylistNPObject>' requested here InstantObj<LibvlcPlaylistNPObject>( playlistObj ); ^ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:335:20: error: assigning to 'NPSetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, const NPVariant *)') from incompatible type '<overloaded function type>' setProperty = &RuntimeNPClassSetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcSubtitleNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ control/nporuntime.h:187:62: note: in instantiation of member function 'RuntimeNPClass<LibvlcSubtitleNPObject>::getClass' requested here obj = NPN_CreateObject(_instance, RuntimeNPClass<T>::getClass()); ^ control/npolibvlc.cpp:139:17: note: in instantiation of function template specialization 'RuntimeNPObject::InstantObj<LibvlcSubtitleNPObject>' requested here InstantObj<LibvlcSubtitleNPObject>( subtitleObj ); ^ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ control/nporuntime.h:335:20: error: assigning to 'NPSetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, const NPVariant *)') from incompatible type '<overloaded function type>' setProperty = &RuntimeNPClassSetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- nporuntime.lo --- control/nporuntime.h:336:23: error: no template named 'RuntimeNPClassRemoveProperty'; did you mean 'RuntimeNPClassHasProperty'? removeProperty = &RuntimeNPClassRemoveProperty<T>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ RuntimeNPClassHasProperty control/nporuntime.h:218:13: note: 'RuntimeNPClassHasProperty' declared here static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ --- npolibvlc.lo --- control/nporuntime.h:334:20: error: assigning to 'NPGetPropertyFunctionPtr' (aka 'bool (*)(NPObject *, NPIdentifier, NPVariant *)') from incompatible type '<overloaded function type>' getProperty = &RuntimeNPClassGetProperty<T>; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ control/nporuntime.h:155:41: note: in instantiation of member function 'RuntimeNPClass<LibvlcVideoNPObject>::RuntimeNPClass' requested here static NPClass *singleton = new RuntimeNPClass<T>; ^ control/nporuntime.h:187:62: note: in instantiation of member function 'RuntimeNPClass<LibvlcVideoNPObject>::getClass' requested here obj = NPN_CreateObject(_instance, RuntimeNPClass<T>::getClass()); ^ control/npolibvlc.cpp:143:17: note: in instantiation of function template specialization 'RuntimeNPObject::InstantObj<LibvlcVideoNPObject>' requested here InstantObj<LibvlcVideoNPObject>( videoObj ); ^ control/nporuntime.h:218:13: note: candidate function has different number of parameters (expected 3 but has 2) static bool RuntimeNPClassHasProperty(NPObject *npobj, NPIdentifier name) ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 2 warnings and 20 errors generated. --- nporuntime.lo --- 10 errors generated. --- npolibvlc.lo --- *** [npolibvlc.lo] Error code 1 make[3]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/npapi --- nporuntime.lo --- *** [nporuntime.lo] Error code 1 make[3]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/npapi 3 errors make[3]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6/npapi *** [all-recursive] Error code 1 make[2]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6 1 error make[2]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6 *** [all] Error code 2 make[1]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6 1 error make[1]: stopped in /usr/ports/www/npapi-vlc/work/npapi-vlc-2.0.6 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/www/npapi-vlc How-To-Repeat: ..build again and again...
It build with gcc. (USE_GCC=any in /etc/make.conf) Mitja --- http://www.redbubble.com/people/lumiwa
State Changed From-To: open->feedback to which port does this PR apply?
Responsible Changed From-To: freebsd-amd64->linimon
On Mon, Feb 24, 2014 at 07:14:42AM +0000, linimon@FreeBSD.org wrote: > Synopsis: npapi-vlc cannot build > > State-Changed-From-To: open->feedback > State-Changed-By: linimon > State-Changed-When: Mon Feb 24 07:13:01 UTC 2014 > State-Changed-Why: > to which port does this PR apply? > www/npapi-vlc - and I got it to build (and run) using the attached patch. HTH, :) Juergen
Same patch with 8-bit chars removed from patches' From:
On Friday 28 February 2014 00:20:33 Juergen Lock wrote: > On Mon, Feb 24, 2014 at 07:14:42AM +0000, linimon@FreeBSD.org wrote: > > Synopsis: npapi-vlc cannot build > > > > State-Changed-From-To: open->feedback > > State-Changed-By: linimon > > State-Changed-When: Mon Feb 24 07:13:01 UTC 2014 > > State-Changed-Why: > > to which port does this PR apply? > > www/npapi-vlc - and I got it to build (and run) using the attached patch. > > HTH, :) > Juergen Thank you. It works on my system too. -- ajtiM -------- http://www.redbubble.com/people/lumiwa
State Changed From-To: feedback->open feedback received.
Responsible Changed From-To: linimon->mi
Responsible Changed From-To: mi->nox Back to nox, maintainer of this port was reset (email bounced)
Author: nox Date: Thu Mar 6 22:29:15 2014 New Revision: 347330 URL: http://svnweb.freebsd.org/changeset/ports/347330 QAT: https://qat.redports.org/buildarchive/r347330/ Log: - Add missing deps. - Add clang fixes cherry-picked from git head. [1] PR: ports/186894 Submitted by: Mitja <lumiwa@gmail.com> Obtained from: http://git.videolan.org/?p=npapi-vlc.git;a=log [1] Added: head/www/npapi-vlc/files/ head/www/npapi-vlc/files/patch-be7ae9d9f73b45decd63c8e90d992800b5a882f8 (contents, props changed) head/www/npapi-vlc/files/patch-f4a86b5994a797a36d94bb4cc8033efad3e7632b (contents, props changed) Modified: head/www/npapi-vlc/Makefile Modified: head/www/npapi-vlc/Makefile ============================================================================== --- head/www/npapi-vlc/Makefile Thu Mar 6 22:20:06 2014 (r347329) +++ head/www/npapi-vlc/Makefile Thu Mar 6 22:29:15 2014 (r347330) @@ -9,14 +9,17 @@ MASTER_SITES= http://download.videolan.o MAINTAINER= ports@FreeBSD.org COMMENT= Embeds vlc-player in web-browsers -LIB_DEPENDS= libvlc.so:${PORTSDIR}/multimedia/vlc +LIB_DEPENDS= libvlc.so:${PORTSDIR}/multimedia/vlc \ + libxul.so:${PORTSDIR}/www/libxul -USES= webplugin:native +USES= webplugin:native pkgconfig USE_XZ= yes +USE_GNOME= gtk20 WEBPLUGIN_NAME= # WEBPLUGIN_FILES=libvlcplugin.so GNU_CONFIGURE= yes PLIST_FILES= ${WEBPLUGIN_DIR:S,^${PREFIX}/,,}${WEBPLUGIN_FILES} +PATCH_STRIP= -p1 do-install: ${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR} Added: head/www/npapi-vlc/files/patch-be7ae9d9f73b45decd63c8e90d992800b5a882f8 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/npapi-vlc/files/patch-be7ae9d9f73b45decd63c8e90d992800b5a882f8 Thu Mar 6 22:29:15 2014 (r347330) @@ -0,0 +1,92 @@ +From: Felix Paul Kuehne <fkuehne@videolan.org> +Date: Wed, 12 Feb 2014 12:15:21 +0000 (+0100) +Subject: nporuntime: move protected definitions to public as they are accessed by out of class... +X-Git-Url: http://git.videolan.org/?p=npapi-vlc.git;a=commitdiff_plain;h=be7ae9d9f73b45decd63c8e90d992800b5a882f8 + +nporuntime: move protected definitions to public as they are accessed by out of class selectors + +Fix compilation with clang++, part 2 +--- + +diff --git a/npapi/control/nporuntime.h b/npapi/control/nporuntime.h +index b279ade..6bb89ca 100644 +--- a/npapi/control/nporuntime.h ++++ b/npapi/control/nporuntime.h +@@ -74,6 +74,31 @@ public: + static char* stringValue(const NPString &v); + static char* stringValue(const NPVariant &v); + ++ bool isValid() ++ { ++ return _instance != NULL; ++ }; ++ ++ enum InvokeResult ++ { ++ INVOKERESULT_NO_ERROR = 0, /* returns no error */ ++ INVOKERESULT_GENERIC_ERROR = 1, /* returns error */ ++ INVOKERESULT_NO_SUCH_METHOD = 2, /* throws method does not exist */ ++ INVOKERESULT_INVALID_ARGS = 3, /* throws invalid arguments */ ++ INVOKERESULT_INVALID_VALUE = 4, /* throws invalid value in assignment */ ++ INVOKERESULT_OUT_OF_MEMORY = 5, /* throws out of memory */ ++ }; ++ ++ virtual InvokeResult getProperty(int index, NPVariant &result); ++ virtual InvokeResult setProperty(int index, const NPVariant &value); ++ virtual InvokeResult removeProperty(int index); ++ virtual InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result); ++ virtual InvokeResult invokeDefault(const NPVariant *args, uint32_t argCount, NPVariant &result); ++ ++ bool returnInvokeResult(InvokeResult result); ++ ++ static InvokeResult invokeResultString(const char *,NPVariant &); ++ + protected: + void *operator new(size_t n) + { +@@ -89,11 +114,6 @@ protected: + NPN_MemFree(p); + }; + +- bool isValid() +- { +- return _instance != NULL; +- }; +- + RuntimeNPObject(NPP instance, const NPClass *aClass) : + _instance(instance) + { +@@ -102,16 +122,6 @@ protected: + }; + virtual ~RuntimeNPObject() {}; + +- enum InvokeResult +- { +- INVOKERESULT_NO_ERROR = 0, /* returns no error */ +- INVOKERESULT_GENERIC_ERROR = 1, /* returns error */ +- INVOKERESULT_NO_SUCH_METHOD = 2, /* throws method does not exist */ +- INVOKERESULT_INVALID_ARGS = 3, /* throws invalid arguments */ +- INVOKERESULT_INVALID_VALUE = 4, /* throws invalid value in assignment */ +- INVOKERESULT_OUT_OF_MEMORY = 5, /* throws out of memory */ +- }; +- + friend void RuntimeNPClassDeallocate(NPObject *npobj); + friend void RuntimeNPClassInvalidate(NPObject *npobj); + template <class RuntimeNPObject> static bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); +@@ -125,16 +135,6 @@ protected: + uint32_t argCount, + NPVariant *result); + +- virtual InvokeResult getProperty(int index, NPVariant &result); +- virtual InvokeResult setProperty(int index, const NPVariant &value); +- virtual InvokeResult removeProperty(int index); +- virtual InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result); +- virtual InvokeResult invokeDefault(const NPVariant *args, uint32_t argCount, NPVariant &result); +- +- bool returnInvokeResult(InvokeResult result); +- +- static InvokeResult invokeResultString(const char *,NPVariant &); +- + bool isPluginRunning() + { + return (_instance->pdata != NULL); Added: head/www/npapi-vlc/files/patch-f4a86b5994a797a36d94bb4cc8033efad3e7632b ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/npapi-vlc/files/patch-f4a86b5994a797a36d94bb4cc8033efad3e7632b Thu Mar 6 22:29:15 2014 (r347330) @@ -0,0 +1,29 @@ +From: Felix Paul Kuehne <fkuehne@videolan.org> +Date: Wed, 12 Feb 2014 12:12:07 +0000 (+0100) +Subject: nporuntime: do not mix friend declarations with static implementations +X-Git-Url: http://git.videolan.org/?p=npapi-vlc.git;a=commitdiff_plain;h=f4a86b5994a797a36d94bb4cc8033efad3e7632b + +nporuntime: do not mix friend declarations with static implementations + +Fix compilation with clang++, part one +--- + +diff --git a/npapi/control/nporuntime.h b/npapi/control/nporuntime.h +index d67ec8c..b279ade 100644 +--- a/npapi/control/nporuntime.h ++++ b/npapi/control/nporuntime.h +@@ -114,10 +114,10 @@ protected: + + friend void RuntimeNPClassDeallocate(NPObject *npobj); + friend void RuntimeNPClassInvalidate(NPObject *npobj); +- template <class RuntimeNPObject> friend bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); +- template <class RuntimeNPObject> friend bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value); +- template <class RuntimeNPObject> friend bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name); +- template <class RuntimeNPObject> friend bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, ++ template <class RuntimeNPObject> static bool RuntimeNPClassGetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result); ++ template <class RuntimeNPObject> static bool RuntimeNPClassSetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value); ++ template <class RuntimeNPObject> static bool RuntimeNPClassRemoveProperty(NPObject *npobj, NPIdentifier name); ++ template <class RuntimeNPObject> static bool RuntimeNPClassInvoke(NPObject *npobj, NPIdentifier name, + const NPVariant *args, uint32_t argCount, + NPVariant *result); + friend bool RuntimeNPClassInvokeDefault(NPObject *npobj, _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Fix committed. Thanks!