You are not logged in.

#1 2020-05-25 17:10:37

adrianmay
Member
Registered: 2017-12-19
Posts: 64

undefined reference to `lua_remove'

I'm getting this trying to install vlc-nox from the AUR. I tried having lua and lua52 installed. Same result either way. Not sure whether to blame the vlc or lua packages. My arch system is completely up to date.

/usr/bin/ld: lua/libs/.libs/liblua_plugin_la-strings.o: in function `vlclua_convert_xml_special_chars':
strings.c:(.text+0x2dc): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x348): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x38a): undefined reference to `lua_remove'

Offline

#2 2020-05-25 17:12:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,645

Re: undefined reference to `lua_remove'

Please don't paraphrase nor filter output to what you think is relevant, post the complete makepkg output in [ code  ] [ /code ] tags without the spaces.

Also ensure this is a clean build with makepkg -C there might be some issues with left over binary files due to the gcc 10 change.

Last edited by V1del (2020-05-25 17:14:54)

Offline

#3 2020-05-25 17:13:37

adrianmay
Member
Registered: 2017-12-19
Posts: 64

Re: undefined reference to `lua_remove'

makepkg -si         
==> Making package: vlc-nox 3.0.10-1 (Mon 25 May 2020 17:48:35 BST)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (1) lua-5.3.5-3

Total Installed Size:  1.03 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                                                  [########################################################################################] 100%
(1/1) checking package integrity                                                                                                                [########################################################################################] 100%
(1/1) loading package files                                                                                                                     [########################################################################################] 100%
(1/1) checking for file conflicts                                                                                                               [########################################################################################] 100%
(1/1) checking available disk space                                                                                                             [########################################################################################] 100%
:: Processing package changes...
(1/1) installing lua                                                                                                                            [########################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found vlc-3.0.10.tar.xz
  -> Found update-vlc-plugin-cache.hook
  -> Found lua53_compat.patch
==> Validating source files with sha512sums...
    vlc-3.0.10.tar.xz ... Passed
    update-vlc-plugin-cache.hook ... Passed
    lua53_compat.patch ... Passed
==> Extracting sources...
  -> Extracting vlc-3.0.10.tar.xz with bsdtar
==> Starting prepare()...
patching file modules/lua/vlc.h
==> Removing existing $pkgdir/ directory...
==> Starting build()...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... gcc
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 gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc  supports C11... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU Objective C compiler... no
checking whether gcc accepts -g... no
checking dependency style of gcc... gcc3
checking for egrep... (cached) /usr/bin/grep -E
checking whether make sets $(MAKE)... (cached) yes
checking dependency style of gcc... gcc3
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for desktop-file-validate... desktop-file-validate
checking for c11-gcc... no
checking for c11... no
checking for c99-gcc... no
checking for c99... c99
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking whether g++ supports C++11 features by default... yes
checking whether C compiler accepts -Werror=unknown-warning-option... no
checking whether C compiler accepts -Werror=invalid-command-line-argument... no
checking whether C compiler accepts -Werror=unknown-warning-option... (cached) no
checking whether C compiler accepts -Werror=invalid-command-line-argument... (cached) no
checking for an Android system... no
checking for Tizen... no
checking for 3rd party libraries path... not found
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /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... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu 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... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux 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... no
checking for dlopen in -ldl... 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... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for windres... no
checking for bash... /usr/bin/bash
checking if dolt supports this host... yes, replacing libtool
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for buggy GNU/libc versions... not present
checking for shared objects suffix... .so
checking for accept4... yes
checking for daemon... yes
checking for fcntl... yes
checking for flock... yes
checking for fstatvfs... yes
checking for fork... yes
checking for getenv... yes
checking for getmntent_r... yes
checking for getpwuid_r... yes
checking for isatty... yes
checking for lstat... yes
checking for memalign... yes
checking for mkostemp... yes
checking for mmap... yes
checking for newlocale... yes
checking for open_memstream... yes
checking for openat... yes
checking for pipe2... yes
checking for pread... yes
checking for posix_fadvise... yes
checking for posix_madvise... yes
checking for posix_memalign... yes
checking for setlocale... yes
checking for stricmp... no
checking for strnicmp... no
checking for strptime... yes
checking for uselocale... yes
checking for aligned_alloc... yes
checking for atof... yes
checking for atoll... yes
checking for dirfd... yes
checking for fdopendir... yes
checking for ffsll... yes
checking for flockfile... yes
checking for fsync... yes
checking for getdelim... yes
checking for getpid... yes
checking for lfind... yes
checking for lldiv... yes
checking for memrchr... yes
checking for nrand48... yes
checking for poll... yes
checking for recvmsg... yes
checking for rewind... yes
checking for sendmsg... yes
checking for setenv... yes
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strdup... yes
checking for strlcpy... no
checking for strndup... yes
checking for strnlen... yes
checking for strnstr... no
checking for strsep... yes
checking for strtof... yes
checking for strtok_r... yes
checking for strtoll... yes
checking for swab... yes
checking for tdestroy... yes
checking for tfind... yes
checking for timegm... yes
checking for timespec_get... yes
checking for strverscmp... yes
checking for pathconf... yes
checking for gettimeofday... yes
checking for fdatasync... yes
checking whether realpath is declared... yes
checking whether asprintf is declared... yes
checking whether vasprintf is declared... yes
checking whether gmtime_r is declared... yes
checking whether localtime_r is declared... yes
checking for static_assert in assert.h... yes
checking for working strcoll... yes
checking for eventfd... yes
checking for vmsplice... yes
checking for sched_getaffinity... yes
checking for recvmmsg... yes
checking for struct pollfd... yes
checking for struct timespec... yes
checking for max_align_t... yes
checking for library containing connect... none required
checking for library containing inet_pton... none required
checking for struct if_nameindex... yes
checking for if_nameindex... yes
checking for socklen_t in sys/socket.h... yes
checking for struct sockaddr_storage... yes
checking for getopt_long... yes
checking for cos in -lm... yes
checking for lrintf in -lm... yes
checking for nanf in -lm... yes
checking for sincos in -lm... yes
checking _Thread_local support... ok
checking threads.h usability... yes
checking threads.h presence... yes
checking for threads.h... yes
checking for getaddrinfo_a in -lanl... yes
checking for library containing dlsym... -ldl
checking for library containing pthread_rwlock_init... -lpthread
checking for library containing clock_nanosleep... none required
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking search.h usability... yes
checking search.h presence... yes
checking for search.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for net/if.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking netinet/udplite.h usability... no
checking netinet/udplite.h presence... no
checking for netinet/udplite.h... no
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking features.h usability... yes
checking features.h presence... yes
checking for features.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking linux/dccp.h usability... yes
checking linux/dccp.h presence... yes
checking for linux/dccp.h... yes
checking linux/magic.h usability... yes
checking linux/magic.h presence... yes
checking for linux/magic.h... yes
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking xlocale.h usability... no
checking xlocale.h presence... no
checking for xlocale.h... no
checking if C++ headers define locale_t... yes
checking for ssize_t... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for MINIZIP... no
checking unzip.h usability... no
checking unzip.h presence... no
checking for unzip.h... no
checking for IDN... yes
checking for DBUS... yes
checking for SYSTEMD... yes
checking whether C compiler accepts -Wall... yes
checking whether C compiler accepts -Wextra... yes
checking whether C compiler accepts -Wsign-compare... yes
checking whether C compiler accepts -Wundef... yes
checking whether C compiler accepts -Wpointer-arith... yes
checking whether C compiler accepts -Wvolatile-register-var... yes
checking whether C compiler accepts -Wformat... yes
checking whether C compiler accepts -Wformat-security... yes
checking whether C compiler accepts -Wall... (cached) yes
checking whether C compiler accepts -Wextra... (cached) yes
checking whether C compiler accepts -Wsign-compare... (cached) yes
checking whether C compiler accepts -Wundef... (cached) yes
checking whether C compiler accepts -Wpointer-arith... (cached) yes
checking whether C compiler accepts -Wvolatile-register-var... (cached) yes
checking whether C compiler accepts -Wformat... (cached) yes
checking whether C compiler accepts -Wformat-security... (cached) yes
checking whether C compiler accepts -Wbad-function-cast... yes
checking whether C compiler accepts -Wwrite-strings... yes
checking whether C compiler accepts -Wmissing-prototypes... yes
checking whether C compiler accepts -Winit-self... yes
checking whether C compiler accepts -Wlogical-op... yes
checking whether C compiler accepts -Wshadow=local... yes
checking whether C compiler accepts -pipe... yes
checking if gcc accepts -fvisibility=hidden... yes
checking if gcc accepts -O3... yes
checking whether C compiler accepts -fno-math-errno... yes
checking whether C compiler accepts -funsafe-math-optimizations... yes
checking whether C compiler accepts -fno-rounding-math... yes
checking whether C compiler accepts -fno-signaling-nans... yes
checking whether C compiler accepts -fcx-limited-range... yes
checking whether C compiler accepts -fno-math-errno... (cached) yes
checking whether C compiler accepts -funsafe-math-optimizations... (cached) yes
checking whether C compiler accepts -fno-rounding-math... (cached) yes
checking whether C compiler accepts -fno-signaling-nans... (cached) yes
checking whether C compiler accepts -fcx-limited-range... (cached) yes
checking if gcc accepts -funroll-loops... yes
checking if gcc accepts -fomit-frame-pointer... yes
checking whether C compiler accepts -fstack-protector-strong... yes
checking whether C compiler accepts -fstack-protector-strong... (cached) yes
checking if linker supports -Bsymbolic... -Wl,-Bsymbolic
checking if linker supports -z,defs... yes
checking for __attribute__((packed))... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for backtrace... yes
checking if gcc groks MMX intrinsics... yes
checking if gcc groks MMX inline assembly... yes
checking if gcc groks MMX EXT inline assembly... yes
checking if gcc groks SSE2 intrinsics... yes
checking if gcc groks SSE inline assembly... yes
checking if gcc groks SSE2 inline assembly... yes
checking if gcc groks SSE3 inline assembly... yes
checking if gcc groks SSSE3 inline assembly... yes
checking if gcc groks SSE4.1 inline assembly... yes
checking if gcc groks SSE4.2 inline assembly... yes
checking if gcc groks SSE4A inline assembly... yes
checking if gcc groks 3D Now! inline assembly... yes
checking for LUA... yes
checking for ARCHIVE... yes
checking for LIVE555... no
configure: WARNING: Package 'live555', required by 'virtual:world', not found.
checking for live555 version 1324598400 or later... yes
checking for main in -lliveMedia_pic... no
checking for main in -lliveMedia... yes
checking for DC1394... yes
checking for DV1394... yes
checking for LINSYS_SDI... yes
checking for DVDREAD... yes
checking for DVDNAV... yes
checking for dvdnav_stream_cb in dvdnav/dvdnav.h... yes
checking for BLURAY... yes
checking for SMBCLIENT... yes
checking for DSM... no
checking for SFTP... yes
checking for NFS... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking sys/videoio.h usability... no
checking sys/videoio.h presence... no
checking for sys/videoio.h... no
checking DeckLinkAPIDispatch.cpp usability... no
checking DeckLinkAPIDispatch.cpp presence... no
checking for DeckLinkAPIDispatch.cpp... no
configure: WARNING: Blackmagic DeckLink SDI include files not found
checking for cdrom_msf0 in linux/cdrom.h... yes
checking for scsireq in sys/scsiio.h... no
checking for ioc_toc_header in sys/cdio.h... no
checking for LIBCDDB... yes
checking for Linux DVB version 5.1... yes
checking for VNC... no
configure: WARNING: Library libvncclient >= 0.9.9 needed for vnc was not found
checking for FREERDP... no
configure: WARNING: Library freerdp >= 1.0.1 needed for freerdp was not found
checking for ASDCP... no
checking for DVBPSI... yes
checking gme/gme.h usability... yes
checking gme/gme.h presence... yes
checking for gme/gme.h... yes
checking for gme_identify_header in -lgme... yes
checking for SID... no
configure: WARNING: Package 'libsidplay2', required by 'virtual:world', not found (required for sid).
checking for OGG... yes
checking for LIBVORBIS... yes
checking for OGG... yes
checking for SHOUT... yes
checking for MATROSKA... yes
checking for LIBMODPLUG... yes
checking mpc/mpcdec.h usability... yes
checking mpc/mpcdec.h presence... yes
checking for mpc/mpcdec.h... yes
checking for SHINE... no
configure: WARNING: Library shine >= 3.0.0 needed for shine was not found
checking for libcrystalhd/libcrystalhd_if.h... no
checking mad.h usability... yes
checking mad.h presence... yes
checking for mad.h... yes
checking for mad_bit_init in -lmad... yes
checking for MPG123... yes
checking for GST_APP... yes
checking for GST_VIDEO... yes
checking for libavutil variant... ffmpeg
checking for AVCODEC... yes
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking for LIBVA... yes
checking for LIBVA_DRM... yes
checking for LIBVA_X11... yes
checking for LIBVA_WL... yes
checking libavcodec/vaapi.h usability... yes
checking libavcodec/vaapi.h presence... yes
checking for libavcodec/vaapi.h... yes
configure: VA API acceleration activated
checking dxgidebug.h usability... no
checking dxgidebug.h presence... no
checking for dxgidebug.h... no
checking dxgi1_6.h usability... no
checking dxgi1_6.h presence... no
checking for dxgi1_6.h... no
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavcodec/avcodec.h... (cached) yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for POSTPROC... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
checking neaacdec.h usability... yes
checking neaacdec.h presence... yes
checking for neaacdec.h... yes
checking for NeAACDecOpen in -lfaad... yes
checking for AOM... yes
checking for DAV1D... yes
checking for VPX... yes
checking for vpx_codec_vp8_dx in -lvpx... yes
checking for vpx_codec_vp9_dx in -lvpx... yes
checking for vpx_codec_vp8_cx in -lvpx... yes
checking for vpx_codec_vp9_cx in -lvpx... yes
checking for TWOLAME... yes
checking a52dec/a52.h usability... yes
checking a52dec/a52.h presence... yes
checking for a52dec/a52.h... yes
checking for a52_free in -la52... yes
checking for DCA... yes
checking for FLAC... yes
checking for LIBMPEG2... yes
checking for VORBIS... yes
checking for SPEEX... yes
checking for SPEEXDSP... yes
checking for OPUS... yes
checking for SPATIALAUDIO... no
configure: WARNING: Library spatialaudio needed for spatialaudio was not found
checking for THEORA... yes
checking for OGGSPOTS... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_set_alpha_mode in -lpng... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking libbpg.h usability... no
checking libbpg.h presence... no
checking for libbpg.h... no
checking for X262... no
checking for X265... yes
checking for X264... yes
checking for X26410b... yes
checking for MFX... yes
checking for FLUIDSYNTH... no
configure: WARNING: Library fluidsynth >= 1.1.2 needed for fluidsynth was not found
checking for FLUIDLITE... no
configure: WARNING: Library fluidlite needed for fluidlite was not found
checking fluidlite.h usability... no
checking fluidlite.h presence... no
checking for fluidlite.h... no
checking for ZVBI... yes
checking for LIBASS... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for ARIBB24... yes
checking for ARIBB25... no
configure: WARNING: Library aribb25 >= 0.2.6 needed for aribb25 was not found
checking for KATE... yes
checking for TIGER... yes
checking for EGL... yes
checking for GL... yes
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XCB... yes
checking for XCB_SHM... yes
checking for XCB_COMPOSITE... yes
checking for XPROTO... yes
checking for XCB_XV... yes
checking for XCB_RANDR... yes
checking for XCB_KEYSYMS... yes
checking for VDPAU... yes
configure: VDPAU decoding acceleration activated
checking for SDL_IMAGE... yes
checking for FREETYPE... yes
checking for FONTCONFIG... yes
checking for FRIBIDI... yes
checking for HARFBUZZ... yes
checking for ISpObjectToken... no
configure: WARNING: sapi.h not found. Text to Speech renderer for Windows disabled
checking for SVG... yes
checking for SVGDEC... yes
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking aalib.h usability... yes
checking aalib.h presence... yes
checking for aalib.h... yes
checking for CACA... yes
checking kva.h usability... no
checking kva.h presence... no
checking for kva.h... no
checking interface/mmal/mmal.h usability... no
checking interface/mmal/mmal.h presence... no
checking for interface/mmal/mmal.h... no
configure: WARNING: Cannot find development headers for mmal...
checking for PULSE... yes
checking for ALSA... yes
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
checking audioclient.h usability... no
checking audioclient.h presence... no
checking for audioclient.h... no
checking for JACK... no
configure: WARNING: Package dependency requirement 'jack >= 1.9.7' could not be satisfied.
Package 'jack' has version '0.125.0', required version is '>= 1.9.7', trying jack1 instead
checking for JACK... yes
checking for SAMPLERATE... yes
checking for SOXR... yes
checking kai.h usability... no
checking kai.h presence... no
checking for kai.h... no
checking for CHROMAPRINT... yes
checking for protoc... protoc
checking for CHROMECAST... yes
configure: WARNING: The skins2 module depends on the Qt interface, Qt is not built so skins2 is disabled.
checking VideoToolbox/VideoToolbox.h usability... no
checking VideoToolbox/VideoToolbox.h presence... no
checking for VideoToolbox/VideoToolbox.h... no
checking AudioToolbox/AudioToolbox.h usability... no
checking AudioToolbox/AudioToolbox.h presence... no
checking for AudioToolbox/AudioToolbox.h... no
checking for NCURSES... yes
checking lirc/lirc_client.h usability... yes
checking lirc/lirc_client.h presence... yes
checking for lirc/lirc_client.h... yes
checking for lirc_init in -llirc_client... yes
checking for SRT... yes
checking for GOOM... yes
checking for PROJECTM... yes
checking for VSXU... no
configure: WARNING: Package 'libvsxu', required by 'virtual:world', not found.
checking for AVAHI... yes
checking for UDEV... yes
checking for MTP... yes
checking for UPNP... yes
checking for MICRODNS... yes
checking for LIBXML2... yes
checking for GNUTLS... yes
checking for TAGLIB... yes
checking for SECRET... yes
checking for LIBPLACEBO... yes
checking whether byte ordering is bigendian... no
./configure: line 53916: kde4-config: command not found
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating modules/Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating share/Makefile
config.status: creating compat/Makefile
config.status: creating src/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating test/Makefile
config.status: creating modules/hw/mmal/Makefile
config.status: creating share/vlc.appdata.xml.in
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile

libvlc configuration
--------------------
version               : 3.0.10
system                : linux
architecture          : x86_64 mmx sse sse2
optimizations         : yes
vlc aliases           : cvlc rvlc nvlc

To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
make  all-recursive
make[1]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10'
Making all in compat
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make  all-am
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
Making all in doc
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/doc'
Making all in po
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/po'
Making all in share
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/share'
  GEN      vlc.appdata.xml
  GEN      vlc.desktop
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/share'
Making all in src
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Makefile:3707: warning: ignoring prerequisites on suffix rule definition
Makefile:3711: warning: ignoring prerequisites on suffix rule definition
  GEN      stamp-revision
fatal: not a git repository: '../.git/'
make  all-am
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Makefile:3707: warning: ignoring prerequisites on suffix rule definition
Makefile:3711: warning: ignoring prerequisites on suffix rule definition
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Making all in modules
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make  all-recursive
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
Making all in .
make[4]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
  CC       lua/liblua_plugin_la-extension.lo
lua/extension.c: In function ‘ScanLuaCallback’:
lua/extension.c:383:26: warning: declaration of ‘b_ok’ shadows a previous local [-Wshadow=compatible-local]
  383 |                     bool b_ok = false;
      |                          ^~~~
lua/extension.c:282:10: note: shadowed declaration is here
  282 |     bool b_ok = false;
      |          ^~~~
lua/extension.c: In function ‘Control’:
lua/extension.c:627:26: warning: declaration of ‘p_ext’ shadows a previous local [-Wshadow=compatible-local]
  627 |             extension_t *p_ext;
      |                          ^~~~~
lua/extension.c:512:18: note: shadowed declaration is here
  512 |     extension_t *p_ext = NULL;
      |                  ^~~~~
lua/extension.c:639:26: warning: declaration of ‘p_ext’ shadows a previous local [-Wshadow=compatible-local]
  639 |             extension_t *p_ext;
      |                          ^~~~~
lua/extension.c:512:18: note: shadowed declaration is here
  512 |     extension_t *p_ext = NULL;
      |                  ^~~~~
lua/extension.c: In function ‘inputItemMetaChanged’:
lua/extension.c:1153:54: warning: unused parameter ‘p_event’ [-Wunused-parameter]
 1153 | static void inputItemMetaChanged( const vlc_event_t *p_event,
      |                                   ~~~~~~~~~~~~~~~~~~~^~~~~~~
  CC       lua/liblua_plugin_la-extension_thread.lo
  CC       lua/liblua_plugin_la-intf.lo
  CC       lua/liblua_plugin_la-meta.lo
  CC       lua/liblua_plugin_la-demux.lo
  CC       lua/liblua_plugin_la-services_discovery.lo
  CC       lua/liblua_plugin_la-vlc.lo
  CC       lua/libs/liblua_plugin_la-configuration.lo
  CC       lua/libs/liblua_plugin_la-equalizer.lo
  CC       lua/libs/liblua_plugin_la-gettext.lo
  CC       lua/libs/liblua_plugin_la-dialog.lo
  CC       lua/libs/liblua_plugin_la-httpd.lo
  CC       lua/libs/liblua_plugin_la-input.lo
  CC       lua/libs/liblua_plugin_la-messages.lo
  CC       lua/libs/liblua_plugin_la-misc.lo
  CC       lua/libs/liblua_plugin_la-net.lo
  CC       lua/libs/liblua_plugin_la-objects.lo
  CC       lua/libs/liblua_plugin_la-osd.lo
  CC       lua/libs/liblua_plugin_la-playlist.lo
  CC       lua/libs/liblua_plugin_la-sd.lo
lua/libs/sd.c: In function ‘vlclua_sd_is_loaded’:
lua/libs/sd.c:449:5: warning: ‘playlist_IsServicesDiscoveryLoaded’ is deprecated [-Wdeprecated-declarations]
  449 |     lua_pushboolean( L, playlist_IsServicesDiscoveryLoaded( p_playlist, psz_sd ));
      |     ^~~~~~~~~~~~~~~
In file included from lua/libs/sd.c:40:
../include/vlc_playlist.h:357:14: note: declared here
  357 | VLC_API bool playlist_IsServicesDiscoveryLoaded( playlist_t *,const char *) VLC_DEPRECATED;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC       lua/libs/liblua_plugin_la-stream.lo
  CC       lua/libs/liblua_plugin_la-strings.lo
  CC       lua/libs/liblua_plugin_la-variables.lo
  CC       lua/libs/liblua_plugin_la-video.lo
  CC       lua/libs/liblua_plugin_la-vlm.lo
  CC       lua/libs/liblua_plugin_la-volume.lo
  CC       lua/libs/liblua_plugin_la-xml.lo
  CC       lua/libs/liblua_plugin_la-io.lo
  CC       lua/libs/liblua_plugin_la-errno.lo
  CCLD     liblua_plugin.la
/usr/bin/ld: lua/libs/.libs/liblua_plugin_la-strings.o: in function `vlclua_convert_xml_special_chars':
strings.c:(.text+0x2dc): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x348): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x38a): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x3cc): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x417): undefined reference to `lua_remove'
/usr/bin/ld: lua/libs/.libs/liblua_plugin_la-strings.o:strings.c:(.text+0x456): more undefined references to `lua_remove' follow
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:16242: liblua_plugin.la] Error 1
make[4]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[3]: *** [Makefile:27631: all-recursive] Error 1
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[2]: *** [Makefile:12590: all] Error 2
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[1]: *** [Makefile:1560: all-recursive] Error 1
make[1]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10'
make: *** [Makefile:1445: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Offline

#4 2020-05-25 17:47:07

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: undefined reference to `lua_remove'

lua_remove exists in lua 5.2, but not in lua 5.3 -- in lua 5.3, it is changed to a header defines:

$ grep lua_remove /usr/include/lua.h
#define lua_remove(L,idx)	(lua_rotate(L, (idx), -1), lua_pop(L, 1))

So it sounds to me like you're building against one version of lua headers, and linking against another version of the lua shared library.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#5 2020-05-25 18:38:30

adrianmay
Member
Registered: 2017-12-19
Posts: 64

Re: undefined reference to `lua_remove'

So that's a bug in the lua package then?

Offline

#6 2020-05-25 18:40:10

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: undefined reference to `lua_remove'

... no?

It's a bug in vlc's detection of lua. How are they doing it?


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#7 2020-05-26 05:55:32

adrianmay
Member
Registered: 2017-12-19
Posts: 64

Re: undefined reference to `lua_remove'

Well it seems to think it works with 5.3 cos it has this patch:

$ cat PKGBUILD | grep -C1 lua
license=('LGPL2.1' 'GPL2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua' 'libidn'
         'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' 'libmad'
--
            'libmicrodns: mDNS services discovery (chromecast etc)'
            'lua-socket: http interface'
            'live-media: RTSP input'
--
        update-vlc-plugin-cache.hook
        lua53_compat.patch)
sha512sums=('dcfa39e3e61bf522ea3a0e1686251356ec262dd8826fc64ccae5ac34a62f72ddc9fe9f2e2b45588013d5907e39649cf39d0c9156980d1eb679eac9b9cb434341'
--
  sed -e 's|-Werror-implicit-function-declaration||g' -i configure
  patch -Np1 < "${srcdir}/lua53_compat.patch"
  sed 's|whoami|echo builduser|g' -i configure
--
  export CXXFLAGS+=" -std=c++11"
  export LUAC=/usr/bin/luac
  export LUA_LIBS="$(pkg-config --libs lua)"

where:

$ cat lua53_compat.patch 
commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23
Author: Vinson Lee <vlee@freedesktop.org>
Date:   Thu Feb 5 14:48:53 2015 -0800

    lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 compatibility.
    
    In Lua 5.3.0, luaL_checkint was deprecated.
    
    This patch fixes this build error with Lua 5.3.0.
    
    lua/demux.c: In function ‘vlclua_demux_peek’:
    lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration]
         int n = luaL_checkint( L, 1 );
         ^
    
    Signed-off-by: Vinson Lee <vlee@freedesktop.org>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h
index efd94f1..85c7fc1 100644
--- a/modules/lua/vlc.h
+++ b/modules/lua/vlc.h
@@ -38,6 +38,7 @@
 #include <vlc_stream.h>
 #include <vlc_demux.h>
 
+#define LUA_COMPAT_APIINTCASTS
 #define LUA_COMPAT_MODULE
 #include <lua.h>        /* Low level lua C API */
 #include <lauxlib.h>    /* Higher level C API */

Here's the whole PKGBUILD:

cat PKGBUILD 
# $Id$
# Maintainer : Nicolas Perrin <booloki@lokizone.net>
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>

_pkgbase=vlc
pkgname=vlc-nox
pkgver=3.0.10
pkgrel=1
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player (without X support)'
url='https://www.videolan.org/vlc/'
arch=('x86_64')
license=('LGPL2.1' 'GPL2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua' 'libidn'
         'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' 'libmad'
         'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
         'libarchive' 'freetype2' 'fribidi' 'harfbuzz' 'fontconfig' 'libxml2'
         'gnutls' 'libplacebo' 'aribb24' 'flex')
makedepends=('live-media' 'libbluray' 'flac' 'libdc1394' 'libavc1394' 'libcaca'
             'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'systemd-libs'
             'libmtp' 'libupnp' 'libmicrodns' 'libdvdcss' 'smbclient'
             'vcdimager' 'libssh2' 'mesa' 'protobuf' 'libnfs' 'mpg123'
             'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx'
             'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo'
             'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger'
             'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
             'lirc' 'libgoom2' 'projectm' 'chromaprint' 'aom' 'srt' 'dav1d')
optdepends=('avahi: service discovery using bonjour protocol'
            'aom: AOM AV1 codec'
            'dav1d: dav1d AV1 decoder'
            'libdvdcss: decoding encrypted DVDs'
            'libavc1394: devices using the 1394ta AV/C'
            'libdc1394: IEEE 1394 access plugin'
            'libva-vdpau-driver: vdpau backend nvidia'
            'libva-intel-driver: video backend intel'
            'libbluray: Blu-Ray video input'
            'flac: Free Lossless Audio Codec plugin'
            'twolame: TwoLAME mpeg2 encoder plugin'
            'libgme: Game Music Emu plugin'
            'vcdimager: navigate VCD with libvcdinfo'
            'libmtp: MTP devices discovery'
            'systemd-libs: udev services discovery'
            'smbclient: SMB access plugin'
            'libcdio: audio CD playback'
            'ttf-freefont: subtitle font '
            'ttf-dejavu: subtitle font'
            'libssh2: sftp access'
            'libnfs: NFS access'
            'mpg123: mpg123 codec'
            'protobuf: chromecast streaming'
            'libmicrodns: mDNS services discovery (chromecast etc)'
            'lua-socket: http interface'
            'live-media: RTSP input'
            'libdvdread: DVD input module'
            'libdvdnav: DVD with navigation input module'
            'libogg: Ogg and OggSpots codec'
            'libshout: shoutcast/icecast output plugin'
            'libmodplug: MOD output plugin'
            'libvpx: VP8 and VP9 codec'
            'libvorbis: Vorbis decoder/encoder'
            'speex: Speex codec'
            'opus: opus codec'
            'libtheora: theora codec'
            'libpng: PNG support'
            'libjpeg-turbo: JPEG support'
            'librsvg: SVG plugin'
            'libx264: H264 encoding'
            'x265: HEVC/H.265 encoder'
            'zvbi: VBI/Teletext decoding'
            'libass: Subtitle support'
            'libkate: Kate codec'
            'libtiger: Tiger rendering for Kate streams'
            'sdl_image: SDL image support'
            'srt: SRT input/output plugin'
            'aalib: ASCII art video output'
            'libcaca: colored ASCII art video output'
            'libpulse: PulseAudio audio output'
            'alsa-lib: ALSA audio output'
            'jack: jack audio server'
            'libsamplerate: audio Resampler'
            'libsoxr: SoX audio Resampler'
            'chromaprint: Chromaprint audio fingerprinter'
            'lirc: lirc control'
            'libgoom2: Goom visualization'
            'projectm: ProjectM visualisation'
            'ncurses: ncurses interface'
            'libnotify: notification plugin')
conflicts=('vlc' 'vlc-plugin' 'vlc-git')
replaces=('vlc' 'vlc-plugin' 'vlc-git')
options=('!emptydirs')
source=(http://download.videolan.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz
        update-vlc-plugin-cache.hook
        lua53_compat.patch)
sha512sums=('dcfa39e3e61bf522ea3a0e1686251356ec262dd8826fc64ccae5ac34a62f72ddc9fe9f2e2b45588013d5907e39649cf39d0c9156980d1eb679eac9b9cb434341'
            'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
            '33cda373aa1fb3ee19a78748e2687f2b93c8662c9fda62ecd122a2e649df8edaceb54dda3991bc38c80737945a143a9e65baa2743a483bb737bb94cd590dc25f')

prepare() {
  cd "${srcdir}/${_pkgbase}-${pkgver}"
  sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
  sed -e 's|-Werror-implicit-function-declaration||g' -i configure
  patch -Np1 < "${srcdir}/lua53_compat.patch"
  sed 's|whoami|echo builduser|g' -i configure
  sed 's|hostname -f|echo arch|g' -i configure
}

build() {
  cd "${srcdir}/${_pkgbase}-${pkgver}"

  export CFLAGS+=" -I/usr/include/samba-4.0"
  export CPPFLAGS+=" -I/usr/include/samba-4.0"
  export CXXFLAGS+=" -std=c++11"
  export LUAC=/usr/bin/luac
  export LUA_LIBS="$(pkg-config --libs lua)"

  ./configure --prefix=/usr \
              --sysconfdir=/etc \
              --disable-rpath \
              --enable-nls \
              --enable-archive \
              --enable-live555 \
              --enable-dc1394 \
              --enable-dv1394 \
              --enable-dvdread \
              --enable-dvdnav \
              --enable-bluray \
              --disable-opencv \
              --enable-smbclient \
              --enable-sftp \
              --enable-nfs \
              --enable-realrtsp \
              --enable-dvbpsi \
              --enable-gme \
              --enable-ogg \
              --enable-shout \
              --enable-matroska \
              --enable-mod \
              --enable-mpc \
              --enable-mad \
              --enable-mpg123 \
              --enable-gst-decode \
              --enable-avcodec \
              --enable-libva \
              --enable-avformat \
              --enable-postproc \
              --enable-faad \
              --enable-vpx \
              --enable-twolame \
              --disable-fdkaac \
              --enable-a52 \
              --enable-dca \
              --enable-flac \
              --enable-libmpeg2 \
              --enable-vorbis \
              --enable-speex \
              --enable-opus \
              --enable-oggspots \
              --disable-schroedinger \
              --enable-png \
              --enable-jpeg \
              --enable-x264 \
              --enable-x265 \
              --enable-zvbi \
              --enable-libass \
              --enable-kate \
              --enable-tiger \
              --enable-vdpau \
              --disable-wayland \
              --enable-sdl-image \
              --enable-freetype \
              --enable-fribidi \
              --enable-harfbuzz \
              --enable-fontconfig \
              --enable-svg \
              --enable-svgdec \
              --enable-aa \
              --enable-caca \
              --enable-pulse \
              --enable-alsa \
              --enable-jack \
              --enable-samplerate \
              --enable-soxr \
              --enable-chromaprint \
              --enable-chromecast \
              --disable-qt \
              --disable-skins2 \
              --enable-libtar \
              --enable-ncurses \
              --enable-lirc \
              --enable-goom \
              --enable-projectm \
              --enable-avahi \
              --enable-mtp \
              --enable-upnp \
              --enable-microdns \
              --enable-libxml2 \
              --disable-libgcrypt \
              --enable-gnutls \
              --enable-taglib \
              --enable-secret \
              --disable-kwallet \
              --disable-update-check \
              --disable-notify \
              --enable-libplacebo \
              --enable-vlc \
              --enable-aribsub \
              --enable-aom \
              --enable-srt \
              --enable-dav1d
  make
}

package() {
  cd "${srcdir}/${_pkgbase}-${pkgver}"

  make DESTDIR="${pkgdir}" install

  for res in 16 32 48 128; do
    install -Dm 644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \
                     "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
  done
  install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks"
}

# vim: ts=2 sw=2 et:

Is there anything odd about that? To my eyes it just says "gimme lua". I also looked through the source for any usurper headers and found none. The offending source file (strings.c) starts with:

#ifndef  _GNU_SOURCE            
#   define  _GNU_SOURCE
#endif

#ifdef HAVE_CONFIG_H
# include "config.h"
#endif

#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_meta.h>
#include <vlc_charset.h>

#include "../vlc.h"
#include "../libs.h"

where ../vlc.h has:

#include <vlc_common.h>                                                                                                     
#include <vlc_input.h>                                                                                                      
#include <vlc_playlist.h>                                                                                                   
#include <vlc_meta.h>                                                                                                       
#include <vlc_meta_fetcher.h>                                                                                               
#include <vlc_url.h>                                                                                                        
#include <vlc_strings.h>                                                                                                    
#include <vlc_stream.h>                                                                                                     
#include <vlc_demux.h>                                                                                                      
                                                                                                                            
#define LUA_COMPAT_APIINTCASTS                                                                                              
#define LUA_COMPAT_MODULE                                                                                                   
#include <lua.h>        /* Low level lua C API */                                                                           
#include <lauxlib.h>    /* Higher level C API */                                                                            
#include <lualib.h>     /* Lua libs */                                                                                      
                                                                                                                            
#if LUA_VERSION_NUM >= 502                                                                                                  
# define lua_equal(L,idx1,idx2)    lua_compare(L,(idx1),(idx2),LUA_OPEQ)                                                    
# define lua_objlen(L,idx)         lua_rawlen(L,idx)                                                                        
# define lua_strlen(L,idx)         lua_rawlen(L,idx)                                                                        
#endif                                                                                                                      
                                                                                                                            
#if LUA_VERSION_NUM >= 503                                                                                                  
# undef luaL_register                                                                                                       
# define luaL_register(L, n, l) luaL_setfuncs(L, (l), 0)                                                                    
# define luaL_register_namespace(L, n, l) \                                                                                 
    lua_getglobal( L, n );      \                                                                                           
    if( lua_isnil( L, -1 ) )    \                                                                                           
    {                           \                                                                                           
        lua_pop( L, 1 );        \                                                                                           
        lua_newtable( L );      \                                                                                           
    }                           \                                                                                           
    luaL_setfuncs( L, (l), 0 ); \                                                                                           
    lua_pushvalue( L, -1 );     \                                                                                           
    lua_setglobal( L, n );                                                                                                  
#else                                                                                                                       
# define luaL_register_namespace(L, n, l) luaL_register( L, n, (l) );                                                       
#endif                                                                                                                      
                                                                                                                            

It's only in strings.c that "lua_remove" occurs at all. and only to call it.

BTW, there's another sighting of the bug here: https://aur.archlinux.org/packages/vlc- … ent-734990 and of course the next comment about flex is about something else.

Poking around my system some more:

$ more /usr/include/lua.h

/*
** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $
** Lua - A Scripting Language
** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
** See Copyright Notice at the end of this file
*/


#ifndef lua_h
#define lua_h

#include <stdarg.h>
#include <stddef.h>


#include "luaconf.h"


#define LUA_VERSION_MAJOR	"5"
#define LUA_VERSION_MINOR	"3"
#define LUA_VERSION_NUM		503
#define LUA_VERSION_RELEASE	"5"

... etc
$ ll /usr/lib/*lua*
lrwxrwxrwx 1 root root     18 Feb 20 00:56 /usr/lib/liblua5.2.so -> liblua5.2.so.5.2.4*
lrwxrwxrwx 1 root root     18 Feb 20 00:56 /usr/lib/liblua5.2.so.5.2 -> liblua5.2.so.5.2.4*
-rwxr-xr-x 1 root root 206552 Feb 20 00:56 /usr/lib/liblua5.2.so.5.2.4*
lrwxrwxrwx 1 root root     24 Feb 20 00:48 /usr/lib/liblua5.3.so -> /usr/lib/liblua.so.5.3.5*
lrwxrwxrwx 1 root root     15 Feb 20 00:48 /usr/lib/liblua.so -> liblua.so.5.3.5*
lrwxrwxrwx 1 root root     12 Feb 20 00:56 /usr/lib/liblua.so.5.2 -> liblua5.2.so*
lrwxrwxrwx 1 root root     12 Feb 20 00:56 /usr/lib/liblua.so.5.2.4 -> liblua5.2.so*
lrwxrwxrwx 1 root root     15 Feb 20 00:48 /usr/lib/liblua.so.5.3 -> liblua.so.5.3.5*
-rwxr-xr-x 1 root root 239320 Feb 20 00:48 /usr/lib/liblua.so.5.3.5*

/usr/lib/lua:
total 156
drwxr-xr-x   3 root root   4096 Sep  2  2019 ./
drwxr-xr-x 125 root root 147456 May 26 06:15 ../
drwxr-xr-x   4 root root   4096 May 24 09:42 5.2/

So I can't see how libs or headers from 5.2 could have gatecrashed this party.

Some other software complained about its deps being broken when I tried to remove 5.2.

Offline

#8 2020-05-26 06:20:53

seth
Member
Registered: 2012-09-03
Posts: 50,970

Re: undefined reference to `lua_remove'

Check the make output on whether -I/usr/include/lua5.2 (or /usr/include/lua5.2 in general) shows up somewhere?

pacman -Rdd lua52

will allow you to temporarily remove lua52 (you'll have to perform a clean rebuild of vlc). You can then  re-install it "--asdeps" afterwards.

Offline

#9 2020-05-26 06:46:29

adrianmay
Member
Registered: 2017-12-19
Posts: 64

Re: undefined reference to `lua_remove'

Removing lua52 seems to have fixed it. It was only needed by more lua52 stuff and other things I never heard of. But I don't see anything evil in the failing build output.

My life can go on but I wouldn't call it solved. Either the vlc or the lua packages are ill.

This was the bad build output:

$ makepkg -csi 2>&1 | tee out
==> Making package: vlc-nox 3.0.10-1 (Tue 26 May 2020 07:30:33 BST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found vlc-3.0.10.tar.xz
  -> Found update-vlc-plugin-cache.hook
  -> Found lua53_compat.patch
==> Validating source files with sha512sums...
    vlc-3.0.10.tar.xz ... Passed
    update-vlc-plugin-cache.hook ... Passed
    lua53_compat.patch ... Passed
==> Extracting sources...
  -> Extracting vlc-3.0.10.tar.xz with bsdtar
==> Starting prepare()...
patching file modules/lua/vlc.h
==> Removing existing $pkgdir/ directory...
==> Starting build()...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... gcc
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 gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc  supports C11... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU Objective C compiler... no
checking whether gcc accepts -g... no
checking dependency style of gcc... gcc3
checking for egrep... (cached) /usr/bin/grep -E
checking whether make sets $(MAKE)... (cached) yes
checking dependency style of gcc... gcc3
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for desktop-file-validate... desktop-file-validate
checking for c11-gcc... no
checking for c11... no
checking for c99-gcc... no
checking for c99... c99
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking whether g++ supports C++11 features by default... yes
checking whether C compiler accepts -Werror=unknown-warning-option... no
checking whether C compiler accepts -Werror=invalid-command-line-argument... no
checking whether C compiler accepts -Werror=unknown-warning-option... (cached) no
checking whether C compiler accepts -Werror=invalid-command-line-argument... (cached) no
checking for an Android system... no
checking for Tizen... no
checking for 3rd party libraries path... not found
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /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... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu 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... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux 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... no
checking for dlopen in -ldl... 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... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for windres... no
checking for bash... /usr/bin/bash
checking if dolt supports this host... yes, replacing libtool
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for buggy GNU/libc versions... not present
checking for shared objects suffix... .so
checking for accept4... yes
checking for daemon... yes
checking for fcntl... yes
checking for flock... yes
checking for fstatvfs... yes
checking for fork... yes
checking for getenv... yes
checking for getmntent_r... yes
checking for getpwuid_r... yes
checking for isatty... yes
checking for lstat... yes
checking for memalign... yes
checking for mkostemp... yes
checking for mmap... yes
checking for newlocale... yes
checking for open_memstream... yes
checking for openat... yes
checking for pipe2... yes
checking for pread... yes
checking for posix_fadvise... yes
checking for posix_madvise... yes
checking for posix_memalign... yes
checking for setlocale... yes
checking for stricmp... no
checking for strnicmp... no
checking for strptime... yes
checking for uselocale... yes
checking for aligned_alloc... yes
checking for atof... yes
checking for atoll... yes
checking for dirfd... yes
checking for fdopendir... yes
checking for ffsll... yes
checking for flockfile... yes
checking for fsync... yes
checking for getdelim... yes
checking for getpid... yes
checking for lfind... yes
checking for lldiv... yes
checking for memrchr... yes
checking for nrand48... yes
checking for poll... yes
checking for recvmsg... yes
checking for rewind... yes
checking for sendmsg... yes
checking for setenv... yes
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strdup... yes
checking for strlcpy... no
checking for strndup... yes
checking for strnlen... yes
checking for strnstr... no
checking for strsep... yes
checking for strtof... yes
checking for strtok_r... yes
checking for strtoll... yes
checking for swab... yes
checking for tdestroy... yes
checking for tfind... yes
checking for timegm... yes
checking for timespec_get... yes
checking for strverscmp... yes
checking for pathconf... yes
checking for gettimeofday... yes
checking for fdatasync... yes
checking whether realpath is declared... yes
checking whether asprintf is declared... yes
checking whether vasprintf is declared... yes
checking whether gmtime_r is declared... yes
checking whether localtime_r is declared... yes
checking for static_assert in assert.h... yes
checking for working strcoll... yes
checking for eventfd... yes
checking for vmsplice... yes
checking for sched_getaffinity... yes
checking for recvmmsg... yes
checking for struct pollfd... yes
checking for struct timespec... yes
checking for max_align_t... yes
checking for library containing connect... none required
checking for library containing inet_pton... none required
checking for struct if_nameindex... yes
checking for if_nameindex... yes
checking for socklen_t in sys/socket.h... yes
checking for struct sockaddr_storage... yes
checking for getopt_long... yes
checking for cos in -lm... yes
checking for lrintf in -lm... yes
checking for nanf in -lm... yes
checking for sincos in -lm... yes
checking _Thread_local support... ok
checking threads.h usability... yes
checking threads.h presence... yes
checking for threads.h... yes
checking for getaddrinfo_a in -lanl... yes
checking for library containing dlsym... -ldl
checking for library containing pthread_rwlock_init... -lpthread
checking for library containing clock_nanosleep... none required
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking search.h usability... yes
checking search.h presence... yes
checking for search.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for net/if.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking netinet/udplite.h usability... no
checking netinet/udplite.h presence... no
checking for netinet/udplite.h... no
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking features.h usability... yes
checking features.h presence... yes
checking for features.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking linux/dccp.h usability... yes
checking linux/dccp.h presence... yes
checking for linux/dccp.h... yes
checking linux/magic.h usability... yes
checking linux/magic.h presence... yes
checking for linux/magic.h... yes
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking xlocale.h usability... no
checking xlocale.h presence... no
checking for xlocale.h... no
checking if C++ headers define locale_t... yes
checking for ssize_t... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for MINIZIP... no
checking unzip.h usability... no
checking unzip.h presence... no
checking for unzip.h... no
checking for IDN... yes
checking for DBUS... yes
checking for SYSTEMD... yes
checking whether C compiler accepts -Wall... yes
checking whether C compiler accepts -Wextra... yes
checking whether C compiler accepts -Wsign-compare... yes
checking whether C compiler accepts -Wundef... yes
checking whether C compiler accepts -Wpointer-arith... yes
checking whether C compiler accepts -Wvolatile-register-var... yes
checking whether C compiler accepts -Wformat... yes
checking whether C compiler accepts -Wformat-security... yes
checking whether C compiler accepts -Wall... (cached) yes
checking whether C compiler accepts -Wextra... (cached) yes
checking whether C compiler accepts -Wsign-compare... (cached) yes
checking whether C compiler accepts -Wundef... (cached) yes
checking whether C compiler accepts -Wpointer-arith... (cached) yes
checking whether C compiler accepts -Wvolatile-register-var... (cached) yes
checking whether C compiler accepts -Wformat... (cached) yes
checking whether C compiler accepts -Wformat-security... (cached) yes
checking whether C compiler accepts -Wbad-function-cast... yes
checking whether C compiler accepts -Wwrite-strings... yes
checking whether C compiler accepts -Wmissing-prototypes... yes
checking whether C compiler accepts -Winit-self... yes
checking whether C compiler accepts -Wlogical-op... yes
checking whether C compiler accepts -Wshadow=local... yes
checking whether C compiler accepts -pipe... yes
checking if gcc accepts -fvisibility=hidden... yes
checking if gcc accepts -O3... yes
checking whether C compiler accepts -fno-math-errno... yes
checking whether C compiler accepts -funsafe-math-optimizations... yes
checking whether C compiler accepts -fno-rounding-math... yes
checking whether C compiler accepts -fno-signaling-nans... yes
checking whether C compiler accepts -fcx-limited-range... yes
checking whether C compiler accepts -fno-math-errno... (cached) yes
checking whether C compiler accepts -funsafe-math-optimizations... (cached) yes
checking whether C compiler accepts -fno-rounding-math... (cached) yes
checking whether C compiler accepts -fno-signaling-nans... (cached) yes
checking whether C compiler accepts -fcx-limited-range... (cached) yes
checking if gcc accepts -funroll-loops... yes
checking if gcc accepts -fomit-frame-pointer... yes
checking whether C compiler accepts -fstack-protector-strong... yes
checking whether C compiler accepts -fstack-protector-strong... (cached) yes
checking if linker supports -Bsymbolic... -Wl,-Bsymbolic
checking if linker supports -z,defs... yes
checking for __attribute__((packed))... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for backtrace... yes
checking if gcc groks MMX intrinsics... yes
checking if gcc groks MMX inline assembly... yes
checking if gcc groks MMX EXT inline assembly... yes
checking if gcc groks SSE2 intrinsics... yes
checking if gcc groks SSE inline assembly... yes
checking if gcc groks SSE2 inline assembly... yes
checking if gcc groks SSE3 inline assembly... yes
checking if gcc groks SSSE3 inline assembly... yes
checking if gcc groks SSE4.1 inline assembly... yes
checking if gcc groks SSE4.2 inline assembly... yes
checking if gcc groks SSE4A inline assembly... yes
checking if gcc groks 3D Now! inline assembly... yes
checking for LUA... yes
checking for ARCHIVE... yes
checking for LIVE555... no
configure: WARNING: Package 'live555', required by 'virtual:world', not found.
checking for live555 version 1324598400 or later... yes
checking for main in -lliveMedia_pic... no
checking for main in -lliveMedia... yes
checking for DC1394... yes
checking for DV1394... yes
checking for LINSYS_SDI... yes
checking for DVDREAD... yes
checking for DVDNAV... yes
checking for dvdnav_stream_cb in dvdnav/dvdnav.h... yes
checking for BLURAY... yes
checking for SMBCLIENT... yes
checking for DSM... no
checking for SFTP... yes
checking for NFS... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking sys/videoio.h usability... no
checking sys/videoio.h presence... no
checking for sys/videoio.h... no
checking DeckLinkAPIDispatch.cpp usability... no
checking DeckLinkAPIDispatch.cpp presence... no
checking for DeckLinkAPIDispatch.cpp... no
configure: WARNING: Blackmagic DeckLink SDI include files not found
checking for cdrom_msf0 in linux/cdrom.h... yes
checking for scsireq in sys/scsiio.h... no
checking for ioc_toc_header in sys/cdio.h... no
checking for LIBCDDB... yes
checking for Linux DVB version 5.1... yes
checking for VNC... no
configure: WARNING: Library libvncclient >= 0.9.9 needed for vnc was not found
checking for FREERDP... no
configure: WARNING: Library freerdp >= 1.0.1 needed for freerdp was not found
checking for ASDCP... no
checking for DVBPSI... yes
checking gme/gme.h usability... yes
checking gme/gme.h presence... yes
checking for gme/gme.h... yes
checking for gme_identify_header in -lgme... yes
checking for SID... no
configure: WARNING: Package 'libsidplay2', required by 'virtual:world', not found (required for sid).
checking for OGG... yes
checking for LIBVORBIS... yes
checking for OGG... yes
checking for SHOUT... yes
checking for MATROSKA... yes
checking for LIBMODPLUG... yes
checking mpc/mpcdec.h usability... yes
checking mpc/mpcdec.h presence... yes
checking for mpc/mpcdec.h... yes
checking for SHINE... no
configure: WARNING: Library shine >= 3.0.0 needed for shine was not found
checking for libcrystalhd/libcrystalhd_if.h... no
checking mad.h usability... yes
checking mad.h presence... yes
checking for mad.h... yes
checking for mad_bit_init in -lmad... yes
checking for MPG123... yes
checking for GST_APP... yes
checking for GST_VIDEO... yes
checking for libavutil variant... ffmpeg
checking for AVCODEC... yes
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking for LIBVA... yes
checking for LIBVA_DRM... yes
checking for LIBVA_X11... yes
checking for LIBVA_WL... yes
checking libavcodec/vaapi.h usability... yes
checking libavcodec/vaapi.h presence... yes
checking for libavcodec/vaapi.h... yes
configure: VA API acceleration activated
checking dxgidebug.h usability... no
checking dxgidebug.h presence... no
checking for dxgidebug.h... no
checking dxgi1_6.h usability... no
checking dxgi1_6.h presence... no
checking for dxgi1_6.h... no
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavcodec/avcodec.h... (cached) yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for POSTPROC... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
checking neaacdec.h usability... yes
checking neaacdec.h presence... yes
checking for neaacdec.h... yes
checking for NeAACDecOpen in -lfaad... yes
checking for AOM... yes
checking for DAV1D... yes
checking for VPX... yes
checking for vpx_codec_vp8_dx in -lvpx... yes
checking for vpx_codec_vp9_dx in -lvpx... yes
checking for vpx_codec_vp8_cx in -lvpx... yes
checking for vpx_codec_vp9_cx in -lvpx... yes
checking for TWOLAME... yes
checking a52dec/a52.h usability... yes
checking a52dec/a52.h presence... yes
checking for a52dec/a52.h... yes
checking for a52_free in -la52... yes
checking for DCA... yes
checking for FLAC... yes
checking for LIBMPEG2... yes
checking for VORBIS... yes
checking for SPEEX... yes
checking for SPEEXDSP... yes
checking for OPUS... yes
checking for SPATIALAUDIO... no
configure: WARNING: Library spatialaudio needed for spatialaudio was not found
checking for THEORA... yes
checking for OGGSPOTS... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_set_alpha_mode in -lpng... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking libbpg.h usability... no
checking libbpg.h presence... no
checking for libbpg.h... no
checking for X262... no
checking for X265... yes
checking for X264... yes
checking for X26410b... yes
checking for MFX... yes
checking for FLUIDSYNTH... no
configure: WARNING: Library fluidsynth >= 1.1.2 needed for fluidsynth was not found
checking for FLUIDLITE... no
configure: WARNING: Library fluidlite needed for fluidlite was not found
checking fluidlite.h usability... no
checking fluidlite.h presence... no
checking for fluidlite.h... no
checking for ZVBI... yes
checking for LIBASS... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for ARIBB24... yes
checking for ARIBB25... no
configure: WARNING: Library aribb25 >= 0.2.6 needed for aribb25 was not found
checking for KATE... yes
checking for TIGER... yes
checking for EGL... yes
checking for GL... yes
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XCB... yes
checking for XCB_SHM... yes
checking for XCB_COMPOSITE... yes
checking for XPROTO... yes
checking for XCB_XV... yes
checking for XCB_RANDR... yes
checking for XCB_KEYSYMS... yes
checking for VDPAU... yes
configure: VDPAU decoding acceleration activated
checking for SDL_IMAGE... yes
checking for FREETYPE... yes
checking for FONTCONFIG... yes
checking for FRIBIDI... yes
checking for HARFBUZZ... yes
checking for ISpObjectToken... no
configure: WARNING: sapi.h not found. Text to Speech renderer for Windows disabled
checking for SVG... yes
checking for SVGDEC... yes
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking aalib.h usability... yes
checking aalib.h presence... yes
checking for aalib.h... yes
checking for CACA... yes
checking kva.h usability... no
checking kva.h presence... no
checking for kva.h... no
checking interface/mmal/mmal.h usability... no
checking interface/mmal/mmal.h presence... no
checking for interface/mmal/mmal.h... no
configure: WARNING: Cannot find development headers for mmal...
checking for PULSE... yes
checking for ALSA... yes
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
checking audioclient.h usability... no
checking audioclient.h presence... no
checking for audioclient.h... no
checking for JACK... no
configure: WARNING: Package dependency requirement 'jack >= 1.9.7' could not be satisfied.
Package 'jack' has version '0.125.0', required version is '>= 1.9.7', trying jack1 instead
checking for JACK... yes
checking for SAMPLERATE... yes
checking for SOXR... yes
checking kai.h usability... no
checking kai.h presence... no
checking for kai.h... no
checking for CHROMAPRINT... yes
checking for protoc... protoc
checking for CHROMECAST... yes
configure: WARNING: The skins2 module depends on the Qt interface, Qt is not built so skins2 is disabled.
checking VideoToolbox/VideoToolbox.h usability... no
checking VideoToolbox/VideoToolbox.h presence... no
checking for VideoToolbox/VideoToolbox.h... no
checking AudioToolbox/AudioToolbox.h usability... no
checking AudioToolbox/AudioToolbox.h presence... no
checking for AudioToolbox/AudioToolbox.h... no
checking for NCURSES... yes
checking lirc/lirc_client.h usability... yes
checking lirc/lirc_client.h presence... yes
checking for lirc/lirc_client.h... yes
checking for lirc_init in -llirc_client... yes
checking for SRT... yes
checking for GOOM... yes
checking for PROJECTM... yes
checking for VSXU... no
configure: WARNING: Package 'libvsxu', required by 'virtual:world', not found.
checking for AVAHI... yes
checking for UDEV... yes
checking for MTP... yes
checking for UPNP... yes
checking for MICRODNS... yes
checking for LIBXML2... yes
checking for GNUTLS... yes
checking for TAGLIB... yes
checking for SECRET... yes
checking for LIBPLACEBO... yes
checking whether byte ordering is bigendian... no
./configure: line 53916: kde4-config: command not found
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating modules/Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating share/Makefile
config.status: creating compat/Makefile
config.status: creating src/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating test/Makefile
config.status: creating modules/hw/mmal/Makefile
config.status: creating share/vlc.appdata.xml.in
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile

libvlc configuration
--------------------
version               : 3.0.10
system                : linux
architecture          : x86_64 mmx sse sse2
optimizations         : yes
vlc aliases           : cvlc rvlc nvlc

To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
make  all-recursive
make[1]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10'
Making all in compat
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make  all-am
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/compat'
Making all in doc
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/doc'
Making all in po
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/po'
Making all in share
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/share'
  GEN      vlc.appdata.xml
  GEN      vlc.desktop
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/share'
Making all in src
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Makefile:3707: warning: ignoring prerequisites on suffix rule definition
Makefile:3711: warning: ignoring prerequisites on suffix rule definition
  GEN      stamp-revision
fatal: not a git repository: '../.git/'
make  all-am
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Makefile:3707: warning: ignoring prerequisites on suffix rule definition
Makefile:3711: warning: ignoring prerequisites on suffix rule definition
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/src'
Making all in modules
make[2]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make  all-recursive
make[3]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
Making all in .
make[4]: Entering directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
  CC       lua/liblua_plugin_la-extension.lo
lua/extension.c: In function ‘ScanLuaCallback’:
lua/extension.c:383:26: warning: declaration of ‘b_ok’ shadows a previous local [-Wshadow=compatible-local]
  383 |                     bool b_ok = false;
      |                          ^~~~
lua/extension.c:282:10: note: shadowed declaration is here
  282 |     bool b_ok = false;
      |          ^~~~
lua/extension.c: In function ‘Control’:
lua/extension.c:627:26: warning: declaration of ‘p_ext’ shadows a previous local [-Wshadow=compatible-local]
  627 |             extension_t *p_ext;
      |                          ^~~~~
lua/extension.c:512:18: note: shadowed declaration is here
  512 |     extension_t *p_ext = NULL;
      |                  ^~~~~
lua/extension.c:639:26: warning: declaration of ‘p_ext’ shadows a previous local [-Wshadow=compatible-local]
  639 |             extension_t *p_ext;
      |                          ^~~~~
lua/extension.c:512:18: note: shadowed declaration is here
  512 |     extension_t *p_ext = NULL;
      |                  ^~~~~
lua/extension.c: In function ‘inputItemMetaChanged’:
lua/extension.c:1153:54: warning: unused parameter ‘p_event’ [-Wunused-parameter]
 1153 | static void inputItemMetaChanged( const vlc_event_t *p_event,
      |                                   ~~~~~~~~~~~~~~~~~~~^~~~~~~
  CC       lua/liblua_plugin_la-extension_thread.lo
  CC       lua/liblua_plugin_la-intf.lo
  CC       lua/liblua_plugin_la-meta.lo
  CC       lua/liblua_plugin_la-demux.lo
  CC       lua/liblua_plugin_la-services_discovery.lo
  CC       lua/liblua_plugin_la-vlc.lo
  CC       lua/libs/liblua_plugin_la-configuration.lo
  CC       lua/libs/liblua_plugin_la-equalizer.lo
  CC       lua/libs/liblua_plugin_la-gettext.lo
  CC       lua/libs/liblua_plugin_la-dialog.lo
  CC       lua/libs/liblua_plugin_la-httpd.lo
  CC       lua/libs/liblua_plugin_la-input.lo
  CC       lua/libs/liblua_plugin_la-messages.lo
  CC       lua/libs/liblua_plugin_la-misc.lo
  CC       lua/libs/liblua_plugin_la-net.lo
  CC       lua/libs/liblua_plugin_la-objects.lo
  CC       lua/libs/liblua_plugin_la-osd.lo
  CC       lua/libs/liblua_plugin_la-playlist.lo
  CC       lua/libs/liblua_plugin_la-sd.lo
lua/libs/sd.c: In function ‘vlclua_sd_is_loaded’:
lua/libs/sd.c:449:5: warning: ‘playlist_IsServicesDiscoveryLoaded’ is deprecated [-Wdeprecated-declarations]
  449 |     lua_pushboolean( L, playlist_IsServicesDiscoveryLoaded( p_playlist, psz_sd ));
      |     ^~~~~~~~~~~~~~~
In file included from lua/libs/sd.c:40:
../include/vlc_playlist.h:357:14: note: declared here
  357 | VLC_API bool playlist_IsServicesDiscoveryLoaded( playlist_t *,const char *) VLC_DEPRECATED;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC       lua/libs/liblua_plugin_la-stream.lo
  CC       lua/libs/liblua_plugin_la-strings.lo
  CC       lua/libs/liblua_plugin_la-variables.lo
  CC       lua/libs/liblua_plugin_la-video.lo
  CC       lua/libs/liblua_plugin_la-vlm.lo
  CC       lua/libs/liblua_plugin_la-volume.lo
  CC       lua/libs/liblua_plugin_la-xml.lo
  CC       lua/libs/liblua_plugin_la-io.lo
  CC       lua/libs/liblua_plugin_la-errno.lo
  CCLD     liblua_plugin.la
/usr/bin/ld: lua/libs/.libs/liblua_plugin_la-strings.o: in function `vlclua_convert_xml_special_chars':
strings.c:(.text+0x2dc): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x348): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x38a): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x3cc): undefined reference to `lua_remove'
/usr/bin/ld: strings.c:(.text+0x417): undefined reference to `lua_remove'
/usr/bin/ld: lua/libs/.libs/liblua_plugin_la-strings.o:strings.c:(.text+0x456): more undefined references to `lua_remove' follow
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:16242: liblua_plugin.la] Error 1
make[4]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[3]: *** [Makefile:27631: all-recursive] Error 1
make[3]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[2]: *** [Makefile:12590: all] Error 2
make[2]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10/modules'
make[1]: *** [Makefile:1560: all-recursive] Error 1
make[1]: Leaving directory '/home/ad/junk/vlc-nox/src/vlc-3.0.10'
make: *** [Makefile:1445: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Offline

#10 2020-05-26 07:28:00

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: undefined reference to `lua_remove'

You need to run `make V=1` to see proper compile command lines.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#11 2020-05-26 08:32:20

adrianmay
Member
Registered: 2017-12-19
Posts: 64

Re: undefined reference to `lua_remove'

Well it's a bit late now cos I fixed my system. Evidently something goes awry when both luas are installed. Perhaps the lua maintainers want to take it from here.

Offline

Board footer

Powered by FluxBB