Bug 185848 - multimedia/vlc failed to compile with the new freerdp.
Summary: multimedia/vlc failed to compile with the new freerdp.
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-multimedia (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-17 15:10 UTC by Ferenc Gal
Modified: 2014-02-04 22:10 UTC (History)
0 users

See Also:


Attachments
freerdp-ports-185848-186452.patch (3.63 KB, patch)
2014-02-04 20:04 UTC, Juergen Lock
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ferenc Gal 2014-01-17 15:10:00 UTC
The VLC port failed to build on FreeBSD 10 Release using the newest FreeRDP. The error:

./../include/vlc_objects.h:76:38: note: 'vlc_object_alive' declared here
VLC_API VLC_USED VLC_DEPRECATED bool vlc_object_alive (vlc_object_t *);
                                     ^
rdp.c:201:27: error: no member named 'sw_gdi' in dvdnav.c:1481:47: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and 'unsigned long' [-Wsign-compare]
     || read( fd, iso_dsc, sizeof (iso_dsc) ) < sizeof (iso_dsc)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~
'struct rdp_settings'
    p_instance->settings->sw_gdi = true; /* render in buffer */
    ~~~~~~~~~~~~~~~~~~~~  ^
rdp.c:202:27: error: no member named 'fullscreen' in 'struct rdp_settings'; did you mean 'Fullscreen'?
    p_instance->settings->fullscreen = true;
                          ^~~~~~~~~~
                          Fullscreen
/usr/local/include/freerdp/settings.h:968:15: note: 'Fullscreen' declared here
        ALIGN64 BOOL Fullscreen; /* 1537 */
                     ^
rdp.c:203:27: error: no member named 'hostname' in 'struct rdp_settings'
    p_instance->settings->hostname = strdup( p_sys->psz_hostname );
    ~~~~~~~~~~~~~~~~~~~~  ^
rdp.c:204:27: error: no member named 'username' in 'struct rdp_settings'; did you mean 'Username'?
    p_instance->settings->username =
                          ^~~~~~~~
                          Username
/usr/local/include/freerdp/settings.h:759:16: note: 'Username' declared here
        ALIGN64 char* Username; /* 21 */
                      ^
rdp.c:206:27: error: no member named 'password' in 'struct rdp_settings'; did you mean 'Password'?
    p_instance->settings->password =
                          ^~~~~~~~
                          Password
/usr/local/include/freerdp/settings.h:760:16: note: 'Password' declared here
        ALIGN64 char* Password; /* 22 */
                      ^
  CC       libvcd_plugin_la-cdrom.lo
rdp.c:208:27: error: no member named 'port' in 'struct rdp_settings'
    p_instance->settings->port = p_sys->i_port;
    ~~~~~~~~~~~~~~~~~~~~  ^
rdp.c:209:27: error: no member named 'encryption' in 'struct rdp_settings'
    p_instance->settings->encryption =
    ~~~~~~~~~~~~~~~~~~~~  ^
rdp.c:220:36: error: no member named 'width' in 'struct rdp_settings'
             p_instance->settings->width,
             ~~~~~~~~~~~~~~~~~~~~  ^
./../include/vlc_messages.h:78:63: note: expanded from macro 'msg_Dbg'
    vlc_Log( VLC_OBJECT(p_this), VLC_MSG_DBG,  MODULE_STRING, __VA_ARGS__ )
                                                              ^
rdp.c:413:35: warning: incompatible pointer types assigning to 'pPreConnect' (aka 'BOOL (*)(freerdp *)') from 'bool (freerdp *)' [-Wincompatible-pointer-types]
    p_sys->p_instance->PreConnect = preConnectHandler;
                                  ^ ~~~~~~~~~~~~~~~~~
rdp.c:414:36: warning: incompatible pointer types assigning to 'pPostConnect' (aka 'BOOL (*)(freerdp *)') from 'bool (freerdp *)' [-Wincompatible-pointer-types]
    p_sys->p_instance->PostConnect = postConnectHandler;
                                   ^ ~~~~~~~~~~~~~~~~~~
rdp.c:415:37: warning: incompatible pointer types assigning to 'pAuthenticate' (aka 'BOOL (*)(freerdp *, char **, char **, char **)') from 'bool (freerdp *, char **, char **, char **)' [-Wincompatible-pointer-types]
    p_sys->p_instance->Authenticate = authenticateHandler;
                                    ^ ~~~~~~~~~~~~~~~~~~~
rdp.c:418:24: error: no member named 'context_size' in 'struct rdp_freerdp'; did you mean 'ContextSize'?
    p_sys->p_instance->context_size = sizeof( vlcrdp_context_t );
                       ^~~~~~~~~~~~
                       ContextSize
/usr/local/include/freerdp/freerdp.h:157:17: note: 'ContextSize' declared here
        ALIGN64 size_t ContextSize; /* (offset 32)
                       ^
5 warnings and 9 errors generated.
2 warnings generated.
gmake[7]: *** [librdp_plugin_la-rdp.lo] Error 1
gmake[7]: *** Waiting for unfinished jobs....
1 warning generated.
gmake[7]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2/modules/access'
gmake[6]: *** [all-recursive] Error 1
gmake[6]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2/modules/access'
gmake[5]: *** [all] Error 2
gmake[5]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2/modules/access'
gmake[4]: *** [all-recursive] Error 1
gmake[4]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2/modules'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/ports/multimedia/vlc/work/vlc-2.1.2'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

------------------------------

my make.conf (it has been built before):
CPUTYPE?=bdver1
WITH_PKGNG=yes
QT4_OPTIONS=CUPS QGTKSTYLE
KDE4_PREFIX=/usr/local
WITHOUT_NOUVEAU=yes
WITH_BDB_VER=5

Fix: 

Not known yet.
How-To-Repeat: Try to build to port again.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-17 18:07:25 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-multimedia

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Ferenc Gal 2014-01-19 10:37:09 UTC
Hi,

i have made a patch for this problem:

patch-modules-access-rdp.c:

--- modules/access/rdp.c.orig
+++ modules/access/rdp.c
@@ -198,17 +198,17 @@
     demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;

     /* Configure connexion */
-    p_instance->settings->sw_gdi = true; /* render in buffer */
-    p_instance->settings->fullscreen = true;
-    p_instance->settings->hostname = strdup( p_sys->psz_hostname );
-    p_instance->settings->username =
+    p_instance->settings->SoftwareGdi = true; /* render in buffer */
+    p_instance->settings->Fullscreen = true;
+    p_instance->settings->ServerHostname = strdup( p_sys->psz_hostname );
+    p_instance->settings->Username =
             var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
-    p_instance->settings->password =
+    p_instance->settings->Password =
             var_InheritString( p_vlccontext->p_demux, CFG_PREFIX
"password" );
-    p_instance->settings->port = p_sys->i_port;
-    p_instance->settings->encryption =
+    p_instance->settings->ServerPort = p_sys->i_port;
+    p_instance->settings->EncryptionMethods =
             var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
-
+
     return true;
 }

@@ -217,9 +217,9 @@
     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *)
p_instance->context;

     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
-             p_instance->settings->width,
-             p_instance->settings->height,
-             p_instance->settings->color_depth );
+             p_instance->settings->DesktopWidth,
+             p_instance->settings->DesktopHeight,
+             p_instance->settings->ColorDepth );

     p_instance->update->DesktopResize = desktopResizeHandler;
     p_instance->update->BeginPaint = beginPaintHandler;
@@ -415,7 +415,7 @@
     p_sys->p_instance->Authenticate = authenticateHandler;

     /* Set up context handlers and let it be allocated */
-    p_sys->p_instance->context_size = sizeof( vlcrdp_context_t );
+    p_sys->p_instance->ContextSize = sizeof( vlcrdp_context_t );
     freerdp_context_new( p_sys->p_instance );

     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *)
p_sys->p_instance->context;
Comment 3 Juergen Lock 2014-02-04 20:04:20 UTC
[Cc'ing submitters of all 3 PRs: ports/185848, ports/186413, ports/186452]

Can you verify I extracted the patch out of ports/185848 correctly
and that my merged version of it with the patch out of ports/186452
(attched) works properly?

Thanx!
	Juergen
Comment 4 Christoph Moench-Tegeder freebsd_committer freebsd_triage 2014-02-04 20:24:52 UTC
Hi,

compiles with and without freerdp enabled, basic function tested ok
after compiling with freerdp support (I did not test the freerdp support
itself).

Regards,
Christoph

-- 
Spare Space
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2014-02-04 21:29:10 UTC
On 02/04/14 21:04, Juergen Lock wrote:
> [Cc'ing submitters of all 3 PRs: ports/185848, ports/186413, ports/186452]
>
> Can you verify I extracted the patch out of ports/185848 correctly
> and that my merged version of it with the patch out of ports/186452
> (attched) works properly?

Yes, this patch works correctly, both with and without FreeRDP support.

Thanks!

-- 
Guido Falsi <madpilot@FreeBSD.org>
Comment 6 dfilter service freebsd_committer freebsd_triage 2014-02-04 22:07:54 UTC
Author: nox
Date: Tue Feb  4 22:07:41 2014
New Revision: 342613
URL: http://svnweb.freebsd.org/changeset/ports/342613
QAT: https://qat.redports.org/buildarchive/r342613/

Log:
  Add FREERDP knob (default off) [1] and add patch to fix build with it. [2]
  
  PR:		ports/186452 [1]
  PR:		ports/185848 [2]
  PR:		ports/186413 [3]
  Submitted by:	madpilot [1]
  Submitted by:	Ferenc Gal <gferenc88@gmail.com> [2]
  Submitted by:	Christoph Moench-Tegeder <cmt@burggraben.net> [3]

Added:
  head/multimedia/vlc/files/patch-modules-access-rdp.c   (contents, props changed)
Modified:
  head/multimedia/vlc/Makefile

Modified: head/multimedia/vlc/Makefile
==============================================================================
--- head/multimedia/vlc/Makefile	Tue Feb  4 22:02:31 2014	(r342612)
+++ head/multimedia/vlc/Makefile	Tue Feb  4 22:07:41 2014	(r342613)
@@ -22,7 +22,7 @@ BUILD_DEPENDS=	ffmpeg>=2.0:${PORTSDIR}/m
 RUN_DEPENDS=	ffmpeg>=2.0:${PORTSDIR}/multimedia/ffmpeg
 
 OPTIONS_DEFINE=	A52 AALIB ASS AVAHI CACA DBUS DIRAC DOCS DTS DVDREAD \
-		DVDNAV FAAD FLAC FLUID FRIBIDI GNOMEVFS GNUTLS GOOM \
+		DVDNAV FAAD FLAC FLUID FREERDP FRIBIDI GNOMEVFS GNUTLS GOOM \
 		HTTPD JACK LIBSSH2 LIRC LIVEMEDIA LUA MAD MATROSKA MODPLUG \
 		MPEG2 MTP MUSEPACK NCURSES NLS NOTIFY OPTIMIZED_CFLAGS OGG \
 		OPUS PNG PULSEAUDIO QT4 REALAUDIO RUNROOT \
@@ -39,6 +39,7 @@ DTS_DESC=	DTS DVD audio decoder
 DVDREAD_DESC=	DVD Playback support
 DVDNAV_DESC=	DVD menu navigation
 FLUID_DESC=	Fluidsynth MIDI support
+FREERDP_DESC=	RDP support
 GME_DESC=	Game_Music_Emu (libgme) support
 GNOMEVFS_DESC=	Gnome VFS support
 GOOM_DESC=	the Goom visual effect library
@@ -103,6 +104,9 @@ FLAC_CONFIGURE_ENABLE=	flac
 FLUID_LIB_DEPENDS=	libfluidsynth.so:${PORTSDIR}/audio/fluidsynth
 FLUID_CONFIGURE_ENABLE=	fluidsynth
 
+FREERDP_LIB_DEPENDS=	libfreerdp-core.so:${PORTSDIR}/net/freerdp
+FREERDP_CONFIGURE_ENABLE=	libfreerdp
+
 FRIBIDI_LIB_DEPENDS=	libfribidi.so:${PORTSDIR}/converters/fribidi
 FRIBIDI_CONFIGURE_ENABLE=	fribidi
 

Added: head/multimedia/vlc/files/patch-modules-access-rdp.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vlc/files/patch-modules-access-rdp.c	Tue Feb  4 22:07:41 2014	(r342613)
@@ -0,0 +1,50 @@
+--- modules/access/rdp.c.orig
++++ modules/access/rdp.c
+@@ -198,17 +198,17 @@
+     demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+
+     /* Configure connexion */
+-    p_instance->settings->sw_gdi = true; /* render in buffer */
+-    p_instance->settings->fullscreen = true;
+-    p_instance->settings->hostname = strdup( p_sys->psz_hostname );
+-    p_instance->settings->username =
++    p_instance->settings->SoftwareGdi = true; /* render in buffer */
++    p_instance->settings->Fullscreen = true;
++    p_instance->settings->ServerHostname = strdup( p_sys->psz_hostname );
++    p_instance->settings->Username =
+             var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
+-    p_instance->settings->password =
++    p_instance->settings->Password =
+             var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" );
+-    p_instance->settings->port = p_sys->i_port;
+-    p_instance->settings->encryption =
++    p_instance->settings->ServerPort = p_sys->i_port;
++    p_instance->settings->EncryptionMethods =
+             var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
+-
++
+     return true;
+ }
+
+@@ -217,9 +217,9 @@
+     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+
+     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
+-             p_instance->settings->width,
+-             p_instance->settings->height,
+-             p_instance->settings->color_depth );
++             p_instance->settings->DesktopWidth,
++             p_instance->settings->DesktopHeight,
++             p_instance->settings->ColorDepth );
+
+     p_instance->update->DesktopResize = desktopResizeHandler;
+     p_instance->update->BeginPaint = beginPaintHandler;
+@@ -415,7 +415,7 @@
+     p_sys->p_instance->Authenticate = authenticateHandler;
+
+     /* Set up context handlers and let it be allocated */
+-    p_sys->p_instance->context_size = sizeof( vlcrdp_context_t );
++    p_sys->p_instance->ContextSize = sizeof( vlcrdp_context_t );
+     freerdp_context_new( p_sys->p_instance );
+
+     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_sys->p_instance->context;
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 7 Juergen Lock freebsd_committer freebsd_triage 2014-02-04 22:08:36 UTC
State Changed
From-To: open->closed

Committed. Thanks!