Re: Linking issue with VLC 3
On 2/9/2019 11:40 AM, Brad Smith wrote: I have been looking at updating VLC to version 3, but as I am looking into = it I have run into a linking issue. I am looking for any help to resolve the iss= ue. The issue is with VLC building a libtool convenience library called libcomp= at to provide various substitute functions which don't exist on OpenBSD, e.g. ffs= ll(), strnstr() and tdestroy(). Here is a start at an update plus FFmpeg 4.1 which is required for VLC 3. https://comstyle.com/ffmpeg/ffmpeg.diff https://comstyle.com/ffmpeg/vlc.diff Now that the FFmpeg update has gone in and their is a new snap for amd64 it makes it much easier to test this. I have updated the VLC diff if anyone is able to look at this. https://comstyle.com/ffmpeg/vlc.diff
Re: Linking issue with VLC 3
On 2019/02/09 11:40, Brad Smith wrote: > I have been looking at updating VLC to version 3, but as I am looking into = > it I > have run into a linking issue. I am looking for any help to resolve the iss= > ue. > > The issue is with VLC building a libtool convenience library called libcomp= > at to > provide various substitute functions which don't exist on OpenBSD, e.g. ffs= > ll(), > strnstr() and tdestroy(). > > Here is a start at an update plus FFmpeg 4.1 which is required for VLC 3. > > https://comstyle.com/ffmpeg/ffmpeg.diff > https://comstyle.com/ffmpeg/vlc.diff This doesn't help, but I just wanted to add that it's no different if you use ld.bfd instead of LLD. > libtool: link: cc -shared -fPIC -DPIC -o .libs/libhttps_plugin.so access/= > http/.libs/access.o .libs/libhttps_plugin.lax/libcompat.a/dummy.o .libs/l= > ibhttps_plugin.lax/libcompat.a/ffsll.o .libs/libhttps_plugin.lax/libcompat.= > a/strnstr.o .libs/libhttps_plugin.lax/libcompat.a/strverscmp.o .libs/libhtt= > ps_plugin.lax/libcompat.a/tdestroy.o .libs/libhttps_plugin.lax/libvlc_http= > =2Ea/dummy.o > =2Elibs/libhttps_plugin.lax/libvlc_http.a/ffsll.o .libs/libhttps_plugin.lax= > /libvlc_http.a/libvlc_http_la-chunked.o .libs/libhttps_plugin.lax/libvlc_ht= > tp.a/libvlc_http_la-connmgr.o .libs/libhttps_plugin.lax/libvlc_http.a/libvl= > c_http_la-file.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h1c= > onn.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h2conn.o .libs= > /libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h2frame.o .libs/libhttps_= > plugin.lax/libvlc_http.a/libvlc_http_la-h2output.o .libs/libhttps_plugin.la= > x/libvlc_http.a/libvlc_http_la-hpack.o .libs/libhttps_plugin.lax/libvlc_htt= > p.a/libvlc_http_la-hpackenc.o .libs/libhttps_plugin.lax/libvlc_http.a/libvl= > c_http_la-live.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-mes= > sage.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-resource.o .l= > ibs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-tunnel.o .libs/libhttp= > s_plugin.lax/libvlc_http.a/strnstr.o .libs/libhttps_plugin.lax/libvlc_http.= > a/strverscmp.o .libs/libhttps_plugin.lax/libvlc_http.a/tdestroy.o -L/home= > /ports/pobj/vlc-3.0.6/vlc-3.0.6/src/.libs -L/usr/X11R6/lib -L/usr/local/lib= > -L../src/.libs -lvlccore -lidn -lintl -liconv -lc -ldbus-1 -lm -lpthread = > -O2 -Wl,-z -Wl,defs -Wl,-retain-symbols-file,.libs/libhttps_plugin.exp > ld: error: duplicate symbol: ffsll > >>> defined at ffsll.c > >>>.libs/libhttps_plugin.lax/libcompat.a/ffsll.o:(ffsll) > >>> defined at ffsll.c > >>>.libs/libhttps_plugin.lax/libvlc_http.a/ffsll.o:(.text+0x0) > > ld: error: duplicate symbol: strnstr > >>> defined at strnstr.c > >>>.libs/libhttps_plugin.lax/libcompat.a/strnstr.o:(strnstr) > >>> defined at strnstr.c > >>>.libs/libhttps_plugin.lax/libvlc_http.a/strnstr.o:(.text+0x0) > > ld: error: duplicate symbol: strverscmp > >>> defined at strverscmp.c > >>>.libs/libhttps_plugin.lax/libcompat.a/strverscmp.o:(strversc= > mp) > >>> defined at strverscmp.c > >>>.libs/libhttps_plugin.lax/libvlc_http.a/strverscmp.o:(.text+= > 0x0) > > ld: error: duplicate symbol: tdestroy > >>> defined at tdestroy.c > >>>.libs/libhttps_plugin.lax/libcompat.a/tdestroy.o:(tdestroy) > >>> defined at tdestroy.c > >>>.libs/libhttps_plugin.lax/libvlc_http.a/tdestroy.o:(.text+0x= > 0) >
Linking issue with VLC 3
I have been looking at updating VLC to version 3, but as I am looking into = it I have run into a linking issue. I am looking for any help to resolve the iss= ue. The issue is with VLC building a libtool convenience library called libcomp= at to provide various substitute functions which don't exist on OpenBSD, e.g. ffs= ll(), strnstr() and tdestroy(). Here is a start at an update plus FFmpeg 4.1 which is required for VLC 3. https://comstyle.com/ffmpeg/ffmpeg.diff https://comstyle.com/ffmpeg/vlc.diff libtool: link: cc -shared -fPIC -DPIC -o .libs/libhttps_plugin.so access/= http/.libs/access.o .libs/libhttps_plugin.lax/libcompat.a/dummy.o .libs/l= ibhttps_plugin.lax/libcompat.a/ffsll.o .libs/libhttps_plugin.lax/libcompat.= a/strnstr.o .libs/libhttps_plugin.lax/libcompat.a/strverscmp.o .libs/libhtt= ps_plugin.lax/libcompat.a/tdestroy.o .libs/libhttps_plugin.lax/libvlc_http= =2Ea/dummy.o =2Elibs/libhttps_plugin.lax/libvlc_http.a/ffsll.o .libs/libhttps_plugin.lax= /libvlc_http.a/libvlc_http_la-chunked.o .libs/libhttps_plugin.lax/libvlc_ht= tp.a/libvlc_http_la-connmgr.o .libs/libhttps_plugin.lax/libvlc_http.a/libvl= c_http_la-file.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h1c= onn.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h2conn.o .libs= /libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-h2frame.o .libs/libhttps_= plugin.lax/libvlc_http.a/libvlc_http_la-h2output.o .libs/libhttps_plugin.la= x/libvlc_http.a/libvlc_http_la-hpack.o .libs/libhttps_plugin.lax/libvlc_htt= p.a/libvlc_http_la-hpackenc.o .libs/libhttps_plugin.lax/libvlc_http.a/libvl= c_http_la-live.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-mes= sage.o .libs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-resource.o .l= ibs/libhttps_plugin.lax/libvlc_http.a/libvlc_http_la-tunnel.o .libs/libhttp= s_plugin.lax/libvlc_http.a/strnstr.o .libs/libhttps_plugin.lax/libvlc_http.= a/strverscmp.o .libs/libhttps_plugin.lax/libvlc_http.a/tdestroy.o -L/home= /ports/pobj/vlc-3.0.6/vlc-3.0.6/src/.libs -L/usr/X11R6/lib -L/usr/local/lib= -L../src/.libs -lvlccore -lidn -lintl -liconv -lc -ldbus-1 -lm -lpthread = -O2 -Wl,-z -Wl,defs -Wl,-retain-symbols-file,.libs/libhttps_plugin.exp ld: error: duplicate symbol: ffsll >>> defined at ffsll.c >>>.libs/libhttps_plugin.lax/libcompat.a/ffsll.o:(ffsll) >>> defined at ffsll.c >>>.libs/libhttps_plugin.lax/libvlc_http.a/ffsll.o:(.text+0x0) ld: error: duplicate symbol: strnstr >>> defined at strnstr.c >>>.libs/libhttps_plugin.lax/libcompat.a/strnstr.o:(strnstr) >>> defined at strnstr.c >>>.libs/libhttps_plugin.lax/libvlc_http.a/strnstr.o:(.text+0x0) ld: error: duplicate symbol: strverscmp >>> defined at strverscmp.c >>>.libs/libhttps_plugin.lax/libcompat.a/strverscmp.o:(strversc= mp) >>> defined at strverscmp.c >>>.libs/libhttps_plugin.lax/libvlc_http.a/strverscmp.o:(.text+= 0x0) ld: error: duplicate symbol: tdestroy >>> defined at tdestroy.c >>>.libs/libhttps_plugin.lax/libcompat.a/tdestroy.o:(tdestroy) >>> defined at tdestroy.c >>>.libs/libhttps_plugin.lax/libvlc_http.a/tdestroy.o:(.text+0x= 0)