Re: Linking issue with VLC 3

2019-02-27 Thread Brad Smith

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

2019-02-21 Thread Stuart Henderson
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

2019-02-09 Thread Brad Smith
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)