Page 1 of 1

Building portable binary

Posted: 11 Jan 2021 23:59
by llamafilm
I'd like to build VLC from source in a portable way so I can easily try different versions on the same system. I tried `--enable-static --disable-shared` and it says error: VLC is based on plugins. Shared libraries cannot be disabled. From online research it sounds like flag was never actually implemented. So does anyone have advice for how to make the package as self-contained as possible? I want to share it with colleagues and they are not going to remember how to set environment variables for plugins and libraries, etc.

Is there any benefit to using --enable-static or is that just ignored when you omit --disable-shared ?
Should I use --disable-rpath or other options?

Re: Building portable binary

Posted: 12 Jan 2021 02:33
by llamafilm
I started trying to compile this but it fails with these errors. Can anyone help with this? I'm using the source code from `apt-get source vlc` on Raspbian Buster.

Code: Select all

/usr/bin/ld: /home/pi/source/vlc-buster/vlc-3.0.11/src/.libs/libvlccore.a(libvlc-module.o):(.rodata+0x204): multiple definition of `vlc_module_name'; ../lib/.libs/libvlc.a(core.o):(.rodata+0x18): first defined here /usr/bin/ld: /home/pi/source/vlc-buster/vlc-3.0.11/src/.libs/libvlccore.a(subtitles.o): in function `strcpy_strip_ext': /home/pi/source/vlc-buster/vlc-3.0.11/src/input/subtitles.c:89: undefined reference to `strlcpy' /usr/bin/ld: /home/pi/source/vlc-buster/vlc-3.0.11/src/input/subtitles.c:89: undefined reference to `strlcpy'
The configure script checks for strlcpy and it knows I don't have it:

Code: Select all

checking for strlcpy... no
I don't know what to do about the multiple definition.