[vlc-devel] vlc3 : cannot link with libaccess_srt_plugin

Justin Kim justin.kim at collabora.com
Fri Dec 8 10:14:18 CET 2017


Hello,

I think it's a bug of SRT .pc file.
In the file, a list of packages are defined in wrong field.

Although I sent a patch to SRT, I don't know when the next version is 
released. Can I send a local patch in contrib?

BR
Justin

On 08/12/2017 3:08 AM, David Fuhrmann wrote:
> Hello all,
> 
> I saw as well that the srt plugin does to link on macOS, for instance 
> see here:
> https://jenkins.videolan.org/job/vlc-nightly/job/vlc-nightly-macOS-contrib/537/console
> 
> Issue seems to be pkgconfig file creation: srt.pc contains the following 
> libs line (the latter part, starting with gnutls, is merged from 
> Libs.private by vlc):
> 
> Libs:  -L${libdir} -lsrt      gnutls iconv gmp nettle hogweed gmp nettle 
> /usr/lib/libpthread.dylib
> 
> 
> This is not a valid linking line of course, and it contains internal 
> libs like hogweed. Is someone already checking how this can be fixed?
> 
> BR. David
> 
>> Am 04.12.2017 um 02:58 schrieb Justin Kim <justin.kim at collabora.com 
>> <mailto:justin.kim at collabora.com>>:
>>
>> Hello,
>>
>> Let me try to check this problem more.
>> I tested the following sequences;
>>
>>  $ cd <vlc>/contrib
>>  $ mkdir native
>>  $ cd native
>>  $ ../bootstrap --enable-srt
>>  $ make fetch-all
>>  $ export PKG_CONFIG_LIBDIR=<somewhere>/pkgconfig
>>  $ make
>>
>> Then, although this 'make' reported some linking errors, I fixed them 
>> locally. After that, I could get 'contrib' stuffs.
>>
>>  $ cd <vlc>
>>  $ ./bootstrap
>>  $ ./configure --enable-srt
>>  $ make
>>
>> Then, I could get vlc executable. The different thing is that I did 
>> this build on archlinux and ubuntu.
>>
>> Can you tell me what is different from you did?
>>
>> BR,
>> Justin
>>
>> On 04/12/2017 10:28 AM, Gilles Sabourin wrote:
>>> Hello Justin,
>>> I am using provided vlc toolchain. Vlc devloppers should have a 
>>> closer look at Makefiles.
>>> I can tell myself, and I have no time to investigate now.
>>> Best,
>>> Gilles
>>> Le 4 déc. 2017, à 02:01, Justin Kim <justin.kim 
>>> <mailto:<a>@collabora.com target=_blank>justin.kim <http://justin.kim 
>>> <http://justin.kim/>>@collabora.com> a écrit:
>>>    Hello,
>>>    The linking error is pretty strange for me.
>>>    Did you set PKG_CONFIG_LIBDIR to a proper pkgconfig directory?
>>>    Maybe, in your case,
>>>    /usr/lib/pkgages/BUILD/vlc-3.0.0/contrib/x86_64-suse-linux/lib/pkgconfig 
>>> ?
>>>    SRT plugin has dependencies on gnutls, nettle
>>>    On 04/12/2017 2:11 AM, Gilles Sabourin wrote:
>>>        Le dimanche 3 décembre 2017, 17:58:23 CET Gilles Sabourin a 
>>> écrit :
>>>            Le dimanche 3 décembre 2017, 11:22:32 CET Jean-Baptiste
>>>            Kempf a écrit :
>>>                Hello Gilles,
>>>                What happens if you force -lstdc++ ?
>>>                Best,
>>>            Hello Jean-Baptitste,
>>>            I have modified "Makefile.am <http://Makefile.am 
>>> <http://makefile.am/>>" in
>>>            ~/modules/access" this line :
>>>            libaccess_srt_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath
>>>            '$(accessdir)'
>>>            to :
>>>            libaccess_srt_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lstdc++ 
>>> -rpath
>>>            '$(accessdir)'
>>>            and after a make, I've got fewer link errors, about nettle
>>>            library entries
>>>            missing (but nettle 3.3 is installed on my system) :
>>>        [...]
>>>        So long, so far, I've manually forced -lnettle into Makefile.am
>>>        <http://Makefile.am <http://makefile.am/>>, and after a
>>>        make, it is still complaining about gnutls :
>>>        make[4]: Entering directory
>>>        '/usr/src/packages/BUILD/vlc-3.0.0/modules'
>>>        CCLDlibaccess_srt_plugin.la 
>>> <http://libaccess_srt_plugin.la/><http://plugin.la <http://plugin.la/>>
>>>        /usr/src/packages/BUILD/vlc-3.0.0/contrib/x86_64-suse-linux/lib/
>>>        libsrt.a(hcrypt_ctx_tx.c.o): In function `hcryptCtx_Tx_Rekey':
>>>        /usr/src/packages/BUILD/vlc-3.0.0/contrib/native/srt/haicrypt/hcrypt_ctx_tx.c:
>>>        63: undefined reference to `gnutls_rnd'
>>>        /usr/src/packages/BUILD/vlc-3.0.0/contrib/native/srt/haicrypt/hcrypt_ctx_tx.c:
>>>        70: undefined reference to `gnutls_rnd'
>>>        /usr/src/packages/BUILD/vlc-3.0.0/contrib/x86_64-suse-linux/lib/
>>>        libsrt.a(hcrypt_ctx_tx.c.o): In function `hcryptCtx_Tx_Refresh':
>>>        /usr/src/packages/BUILD/vlc-3.0.0/contrib/native/srt/haicrypt/hcrypt_ctx_tx.c:
>>>        140: undefined reference to `gnutls_rnd'
>>>        collect2: error: ld returned 1 exit status
>>>        I've tried to add -lgnutls, but eh, one cannot win each time :
>>>        this does not
>>>        help...
>>>        So this srt plugin has pretty much dependencies on stdc++ and
>>>        nettle at
>>>        least, and maybe gnutls...
>>>        Best,
>>>        Gilles SABOURIN
>>>        ------------------------------------------------------------------------
>>>        vlc-devel mailing list
>>>        To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>>>    ------------------------------------------------------------------------
>>>    vlc-devel mailing list
>>>    To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> 
> 
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 


More information about the vlc-devel mailing list