Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 590164 - media-video/vlc-2.2.4[rdp] fails to build against net-misc/freerdp-2.0.0_pre20160722
Summary: media-video/vlc-2.2.4[rdp] fails to build against net-misc/freerdp-2.0.0_pre2...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords: NeedPatch, UPSTREAM
Depends on: 640398
Blocks:
  Show dependency tree
 
Reported: 2016-07-31 23:09 UTC by Mike Gilbert
Modified: 2018-02-27 23:02 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (media-video:vlc-2.2.4:20160731-225626.log,24.31 KB, text/plain)
2016-07-31 23:09 UTC, Mike Gilbert
Details
configure log (config.log,247.47 KB, text/plain)
2016-07-31 23:16 UTC, Mike Gilbert
Details
vlc-2.2.8-freerdp-2.patch (vlc-2.2.8-freerdp-2.patch,4.38 KB, patch)
2017-12-25 17:07 UTC, Andreas Sturmlechner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Gilbert gentoo-dev 2016-07-31 23:09:05 UTC
Created attachment 442124 [details]
build log

configure: error: Library freerdp >= 1.0.1 needed for freerdp was not found
Comment 1 Mike Gilbert gentoo-dev 2016-07-31 23:16:54 UTC
Created attachment 442130 [details]
configure log

configure:33727: checking for FREERDP
configure:33734: $PKG_CONFIG --exists --print-errors "freerdp >= 1.0.1"
Package freerdp was not found in the pkg-config search path.
Perhaps you should add the directory containing `freerdp.pc'
to the PKG_CONFIG_PATH environment variable
Package 'freerdp', required by 'world', not found
configure:33737: $? = 1
configure:33751: $PKG_CONFIG --exists --print-errors "freerdp >= 1.0.1"
Package freerdp was not found in the pkg-config search path.
Perhaps you should add the directory containing `freerdp.pc'
to the PKG_CONFIG_PATH environment variable
Package 'freerdp', required by 'world', not found
configure:33754: $? = 1
configure:33768: result: no
Package freerdp was not found in the pkg-config search path.
Perhaps you should add the directory containing `freerdp.pc'
to the PKG_CONFIG_PATH environment variable
Package 'freerdp', required by 'world', not found
configure:33785: error: Library freerdp >= 1.0.1 needed for freerdp was not found
Comment 2 Mike Gilbert gentoo-dev 2016-08-01 00:13:09 UTC
commit 06f9e10256dcf9e62e6ca04eda9cfeb6fcc8a908
Author: Mike Gilbert <floppym@gentoo.org>
Date:   Sun Jul 31 20:10:06 2016 -0400

    media-video/vlc: depend on <net-misc/freerdp-2
    
    Bug: https://bugs.gentoo.org/590164
    Package-Manager: portage-2.3.0_p16

 media-video/vlc/vlc-2.2.1-r1.ebuild | 2 +-
 media-video/vlc/vlc-2.2.4.ebuild    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Comment 3 Pacho Ramos gentoo-dev 2016-12-09 10:46:39 UTC
I couldn't fix this for freerdp2, even tweaking configure it later fails with:
libtool: link: ( cd ".libs" && rm -f "libxcb_screen_plugin.la" && ln -s "../libxcb_screen_plugin.la" "libxcb_screen_plugin.la" )
../doltlibtool  --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -DMODULE_STRING=\"$(p="access/librdp_plugin_la-rdp.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p="${p%.lo}"; echo "$p")\" -D__PLUGIN__  -I./access -I./codec -I../include -I../include   -I/usr/include/freerdp2/ -I/usr/include/winpr2 -O2 -pipe -march=native -fno-stack-protector -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -Werror-implicit-function-declaration -pipe -fvisibility=hidden -c -o access/librdp_plugin_la-rdp.lo `test -f 'access/rdp.c' || echo './'`access/rdp.c
access/rdp.c: In function 'preConnectHandler':
access/rdp.c:217:25: error: 'rdpSettings' has no member named 'sw_gdi'
     p_instance->settings->SoftwareGdi = true; /* render in buffer */
                         ^
access/rdp.c:218:25: error: 'rdpSettings' has no member named 'fullscreen'
     p_instance->settings->Fullscreen = true;
                         ^
access/rdp.c:219:25: error: 'rdpSettings' has no member named 'hostname'
     p_instance->settings->ServerHostname = strdup( p_sys->psz_hostname );
                         ^
access/rdp.c:220:25: error: 'rdpSettings' has no member named 'username'
     p_instance->settings->Username =
                         ^
access/rdp.c:222:25: error: 'rdpSettings' has no member named 'password'
     p_instance->settings->Password =
                         ^
access/rdp.c:224:25: error: 'rdpSettings' has no member named 'port'
     p_instance->settings->ServerPort = p_sys->i_port;
                         ^
access/rdp.c:225:25: error: 'rdpSettings' has no member named 'encryption'
     p_instance->settings->EncryptionMethods =
                         ^
access/rdp.c: In function 'postConnectHandler':
access/rdp.c:235:243: error: 'rdpSettings' has no member named 'width'
     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
                                                                                                                                                                                                                                                   ^
access/rdp.c:235:272: error: 'rdpSettings' has no member named 'height'
     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
                                                                                                                                                                                                                                                                                ^
access/rdp.c:235:302: error: 'rdpSettings' has no member named 'color_depth'
     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
                                                                                                                                                                                                                                                                                                              ^
access/rdp.c:247:39: warning: assignment from incompatible pointer type
     p_instance->update->DesktopResize = desktopResizeHandler;
                                       ^
access/rdp.c:248:36: warning: assignment from incompatible pointer type
     p_instance->update->BeginPaint = beginPaintHandler;
                                    ^
access/rdp.c:249:34: warning: assignment from incompatible pointer type
     p_instance->update->EndPaint = endPaintHandler;
                                  ^
access/rdp.c: In function 'Open':
access/rdp.c:449:22: error: 'freerdp' has no member named 'context_size'
     p_sys->p_instance->ContextSize = sizeof( vlcrdp_context_t );
                      ^
Makefile:8681: recipe for target 'access/librdp_plugin_la-rdp.lo' failed
make[4]: *** [access/librdp_plugin_la-rdp.lo] Error 1
make[4]: Leaving directory '/var/tmp/portage/media-video/vlc-2.2.4/work/vlc-2.2.4/modules'
Makefile:9656: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-video/vlc-2.2.4/work/vlc-2.2.4/modules'
Makefile:4530: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/var/tmp/portage/media-video/vlc-2.2.4/work/vlc-2.2.4/modules'
Makefile:2265: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-video/vlc-2.2.4/work/vlc-2.2.4'
Makefile:2150: recipe for target 'all' failed
make: *** [all] Error 2


This needs to be reported to upstream as it seems vlc-3 is still incompatible and also many other distributions are simply disabling rdp support... hence, it will be difficult that they notice the problem
Comment 5 Mike Gilbert gentoo-dev 2017-12-25 16:42:41 UTC
I would suggest dropping rdp support until upstream accepts a patch for it.
Comment 6 Andreas Sturmlechner gentoo-dev 2017-12-25 17:07:59 UTC
Created attachment 511598 [details, diff]
vlc-2.2.8-freerdp-2.patch

The patch is breaking freerdp-1 compatibility anyway, so I've come up with a version that additionally gets rid of the ifdefs in the code.
Comment 7 Larry the Git Cow gentoo-dev 2017-12-25 17:42:35 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93bcdbc0191072b2a7b981aa4a40e56e8da32502

commit 93bcdbc0191072b2a7b981aa4a40e56e8da32502
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-25 17:41:38 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-25 17:42:08 +0000

    media-video/vlc: Drop USE=rdp from 2.2.8
    
    Bug: https://bugs.gentoo.org/590164
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 media-video/vlc/vlc-2.2.8.ebuild | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e8a96e9d650485f3323e689edfe371cc11688f6

commit 0e8a96e9d650485f3323e689edfe371cc11688f6
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-25 17:06:29 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-25 17:42:07 +0000

    media-video/vlc: Fix build with >=net-misc/freerdp-2.0.0
    
    Bug: https://bugs.gentoo.org/590164
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 media-video/vlc/files/vlc-2.2.8-freerdp-2.patch | 131 +++++++
 media-video/vlc/vlc-2.2.8-r1.ebuild             | 469 ++++++++++++++++++++++++
 media-video/vlc/vlc-2.2.9999.ebuild             |   5 +-
 media-video/vlc/vlc-3.0.9999.ebuild             |  10 +-
 media-video/vlc/vlc-9999.ebuild                 |  10 +-
 5 files changed, 612 insertions(+), 13 deletions(-)}