Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Apr 2014 22:40:01 GMT
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        vbox@FreeBSD.org
Subject:   Re: ports/188053: emulators/virtualbox-ose 4.3.10 doesn't build on 9.2
Message-ID:  <201404022240.s32Me1Nb008955@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/188053; it has been noted by GNATS.

From: Jung-uk Kim <jkim@FreeBSD.org>
To: bug-followup@FreeBSD.org, shuriku@shurik.kiev.ua
Cc:  
Subject: Re: ports/188053: emulators/virtualbox-ose 4.3.10 doesn't build on
 9.2
Date: Wed, 02 Apr 2014 18:38:18 -0400

 This is a multi-part message in MIME format.
 --------------060303080803020901060502
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 7bit
 
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 It seems '--build-headless' is horribly broken by WDDM.  Here is my
 attempt to fix the build (not run-time tested).  This patch is also
 available from here:
 
 http://people.freebsd.org/~jkim/vbox-headless.diff
 
 Cheers,
 
 Jung-uk Kim
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (FreeBSD)
 
 iQEbBAEBAgAGBQJTPJFaAAoJEHyflib82/FGzHUH+I77weYJW+5gDySU+qlnZ7BF
 YqHDLeCTUCPn1z6UqF9XJFmG/iVmMmDxGZsWGeFeLti2vowZ59P8W++D+7YHgcy+
 gPYgwF/M6CLP0qKLAa3Fkp1/Zt5KtUXXamSdLWRGv2Q8xaTtoZI6EQKzut6Ce7NG
 Ey3BH/9IG/hWyFu1MBlTdmlQwtM28KHXWI5cT2gbhf2u1TdaxqepwJqXTIJUGgqk
 z+HLn3oDzntglfnj+dzPG0QUTFksNC0sJJNoJ/F2lkwwMr2kkcPPOe2tvr9cFSP7
 vdPEKcKQwzsJnRLLD9oRq37nFqDC6kWJRkeSQ+Tur6l+v/qT4cg06dlZJ7m+0Q==
 =sUS0
 -----END PGP SIGNATURE-----
 
 --------------060303080803020901060502
 Content-Type: text/x-patch;
  name="vbox-headless.diff"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="vbox-headless.diff"
 
 Index: emulators/virtualbox-ose/Makefile
 ===================================================================
 --- emulators/virtualbox-ose/Makefile	(revision 349861)
 +++ emulators/virtualbox-ose/Makefile	(working copy)
 @@ -191,21 +191,18 @@ post-patch:
  	@${ECHO} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_VBOXDRV = ' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_VIDEOHWACCEL = 1' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_NETADP = ' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_TESTCASES=' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'SDK_VBOX_LIBPNG_INCS = ${PREFIX}/include/libpng' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_ADDITIONS=' >> ${WRKSRC}/LocalConfig.kmk
 -	@${ECHO} 'VBOX_WITH_X11_ADDITIONS=' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
 +.if ${PORT_OPTIONS:MUDPTUNNEL}
 +	@${ECHO} 'VBOX_WITH_UDPTUNNEL = 1' >> ${WRKSRC}/LocalConfig.kmk
 +.endif
  .if ${PORT_OPTIONS:MVNC}
  	@${ECHO} 'VBOX_WITH_EXTPACK_VNC = 1' >> ${WRKSRC}/LocalConfig.kmk
  .endif
 -.if ${PORT_OPTIONS:MUDPTUNNEL}
 -	@${ECHO} 'VBOX_WITH_UDPTUNNEL = 1' >> ${WRKSRC}/LocalConfig.kmk
 -.endif
  .if ${PORT_OPTIONS:MWEBSERVICE}
  	@${ECHO} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'VBOX_GSOAP_INSTALLED = 1' >> ${WRKSRC}/LocalConfig.kmk
 @@ -214,6 +211,11 @@ post-patch:
  	@${ECHO} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> ${WRKSRC}/LocalConfig.kmk
  	@${ECHO} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $(VBOX_GCC_WARN) -Wno-long-long' >> ${WRKSRC}/LocalConfig.kmk
  .endif
 +.if empty(PORT_OPTIONS:MX11)
 +	@${ECHO} 'VBOX_WITH_VDMA =' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_WDDM =' >> ${WRKSRC}/LocalConfig.kmk
 +	@${ECHO} 'VBOX_WITH_WDDM_W8 =' >> ${WRKSRC}/LocalConfig.kmk
 +.endif
  .if ${COMPILER_TYPE} == clang
  	@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
  	    -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
 Index: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp
 ===================================================================
 --- emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp	(revision 0)
 +++ emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp	(working copy)
 @@ -0,0 +1,86 @@
 +--- src/VBox/Devices/Graphics/DevVGA.cpp.orig	2014-03-26 15:17:10.000000000 -0400
 ++++ src/VBox/Devices/Graphics/DevVGA.cpp	2014-04-02 16:41:47.000000000 -0400
 +@@ -5196,10 +5196,12 @@
 +     PVGASTATE pThis = (PVGASTATE)pvUser;
 +     NOREF(pDevIns);
 + 
 ++#ifdef VBOX_WITH_WDDM
 +     if (pThis->fScanLineCfg & VBVASCANLINECFG_ENABLE_VSYNC_IRQ)
 +     {
 +         VBVARaiseIrq(pThis, HGSMIHOSTFLAGS_VSYNC);
 +     }
 ++#endif
 + 
 +     if (pThis->pDrv)
 +         pThis->pDrv->pfnRefresh(pThis->pDrv);
 +@@ -5211,7 +5213,9 @@
 +     vbvaTimerCb(pThis);
 + #endif
 + 
 ++#ifdef VBOX_WITH_VDMA
 +     vboxCmdVBVACmdTimer(pThis);
 ++#endif
 + }
 + 
 + #ifdef VBOX_WITH_VMSVGA
 +@@ -5365,26 +5369,30 @@
 + static DECLCALLBACK(int) vgaR3SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
 + {
 +     PVGASTATE pThis = PDMINS_2_DATA(pDevIns, PVGASTATE);
 ++
 + #ifdef VBOX_WITH_VDMA
 +     vboxVDMASaveStateExecPrep(pThis->pVdma, pSSM);
 + #endif
 ++
 +     vgaR3SaveConfig(pThis, pSSM);
 +     vga_save(pSSM, PDMINS_2_DATA(pDevIns, PVGASTATE));
 ++
 + #ifdef VBOX_WITH_HGSMI
 +     SSMR3PutBool(pSSM, true);
 +     int rc = vboxVBVASaveStateExec(pDevIns, pSSM);
 + # ifdef VBOX_WITH_VDMA
 +     vboxVDMASaveStateExecDone(pThis->pVdma, pSSM);
 + # endif
 +-    return rc;
 + #else
 +-    SSMR3PutBool(pSSM, false);
 ++    int rc = SSMR3PutBool(pSSM, false);
 + #endif
 ++
 + #ifdef VBOX_WITH_VMSVGA
 +     if (    rc == VINF_SUCCESS
 +         &&  pThis->fVMSVGAEnabled)
 +         rc = vmsvgaSaveExec(pDevIns, pSSM);
 + #endif
 ++
 +     return rc;
 + }
 + 
 +@@ -5476,8 +5484,10 @@
 +     char           *pchEnd;
 +     LogFlow(("vgaReset\n"));
 + 
 ++#ifdef VBOX_WITH_VDMA
 +     if (pThis->pVdma)
 +         vboxVDMAReset(pThis->pVdma);
 ++#endif
 + 
 + #ifdef VBOX_WITH_HGSMI
 +     VBVAReset(pThis);
 +@@ -5924,12 +5934,14 @@
 + # if defined(VBOX_WITH_VIDEOHWACCEL)
 +     pThis->IVBVACallbacks.pfnVHWACommandCompleteAsynch = vbvaVHWACommandCompleteAsynch;
 + # endif
 +-#if defined(VBOX_WITH_CRHGSMI)
 ++# if defined(VBOX_WITH_CRHGSMI)
 +     pThis->IVBVACallbacks.pfnCrHgsmiCommandCompleteAsync = vboxVDMACrHgsmiCommandCompleteAsync;
 +     pThis->IVBVACallbacks.pfnCrHgsmiControlCompleteAsync = vboxVDMACrHgsmiControlCompleteAsync;
 + # endif
 +-#endif
 ++# if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_WITH_CRHGSMI)
 +     pThis->IVBVACallbacks.pfnCrCtlSubmit = vboxCmdVBVACmdHostCtl;
 ++# endif
 ++#endif
 + 
 +     /*
 +      * We use our own critical section to avoid unncessary pointer indirections
 
 Property changes on: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp
 ___________________________________________________________________
 Added: svn:mime-type
 ## -0,0 +1 ##
 +text/plain
 \ No newline at end of property
 Added: fbsd:nokeywords
 ## -0,0 +1 ##
 +yes
 \ No newline at end of property
 Added: svn:eol-style
 ## -0,0 +1 ##
 +native
 \ No newline at end of property
 Index: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp
 ===================================================================
 --- emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp	(revision 0)
 +++ emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp	(working copy)
 @@ -0,0 +1,18 @@
 +--- src/VBox/Devices/Graphics/DevVGA_VBVA.cpp.orig	2014-03-26 15:17:10.000000000 -0400
 ++++ src/VBox/Devices/Graphics/DevVGA_VBVA.cpp	2014-04-02 16:31:55.000000000 -0400
 +@@ -2277,7 +2277,6 @@
 +             pVGAState->fGuestCaps = pCaps->fCaps;
 +             pCaps->rc = VINF_SUCCESS;
 +         } break;
 +-#endif
 +         case VBVA_SCANLINE_CFG:
 +         {
 +             if (cbBuffer < sizeof (VBVASCANLINECFG))
 +@@ -2290,6 +2289,7 @@
 +             pVGAState->fScanLineCfg = pCfg->fFlags;
 +             pCfg->rc = VINF_SUCCESS;
 +         } break;
 ++#endif
 +         default:
 +             Log(("Unsupported VBVA guest command %d!!!\n",
 +                  u16ChannelInfo));
 
 Property changes on: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp
 ___________________________________________________________________
 Added: fbsd:nokeywords
 ## -0,0 +1 ##
 +yes
 \ No newline at end of property
 Added: svn:eol-style
 ## -0,0 +1 ##
 +native
 \ No newline at end of property
 Added: svn:mime-type
 ## -0,0 +1 ##
 +text/plain
 \ No newline at end of property
 Index: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp
 ===================================================================
 --- emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp	(revision 0)
 +++ emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp	(working copy)
 @@ -0,0 +1,38 @@
 +--- src/VBox/Devices/Graphics/HGSMI/HGSMIHost.cpp.orig	2014-03-26 15:17:10.000000000 -0400
 ++++ src/VBox/Devices/Graphics/HGSMI/HGSMIHost.cpp	2014-04-02 16:26:50.000000000 -0400
 +@@ -1185,6 +1185,8 @@
 +     return rc;
 + }
 + 
 ++#ifdef VBOX_WITH_WDDM
 ++
 + static int hgsmiHostSaveGuestCmdCompletedFifoEntryLocked (HGSMIGUESTCOMPLENTRY *pEntry, PSSMHANDLE pSSM)
 + {
 +     return SSMR3PutU32 (pSSM, pEntry->offBuffer);
 +@@ -1211,6 +1213,8 @@
 +     return rc;
 + }
 + 
 ++#endif
 ++
 + static int hgsmiHostLoadFifoEntryLocked (PHGSMIINSTANCE pIns, HGSMIHOSTFIFOENTRY **ppEntry, PSSMHANDLE pSSM)
 + {
 +     HGSMIHOSTFIFOENTRY *pEntry;
 +@@ -1253,6 +1257,8 @@
 +     return rc;
 + }
 + 
 ++#ifdef VBOX_WITH_WDDM
 ++
 + static int hgsmiHostLoadGuestCmdCompletedFifoEntryLocked (PHGSMIINSTANCE pIns, HGSMIGUESTCOMPLENTRY **ppEntry, PSSMHANDLE pSSM)
 + {
 +     HGSMIGUESTCOMPLENTRY *pEntry;
 +@@ -1306,6 +1312,8 @@
 +     return rc;
 + }
 + 
 ++#endif
 ++
 + int HGSMIHostSaveStateExec (PHGSMIINSTANCE pIns, PSSMHANDLE pSSM)
 + {
 +     VBOXHGSMI_SAVE_START(pSSM);
 
 Property changes on: emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp
 ___________________________________________________________________
 Added: fbsd:nokeywords
 ## -0,0 +1 ##
 +yes
 \ No newline at end of property
 Added: svn:eol-style
 ## -0,0 +1 ##
 +native
 \ No newline at end of property
 Added: svn:mime-type
 ## -0,0 +1 ##
 +text/plain
 \ No newline at end of property
 Index: emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp
 ===================================================================
 --- emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp	(revision 0)
 +++ emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp	(working copy)
 @@ -0,0 +1,28 @@
 +--- src/VBox/Main/src-client/DisplayImpl.cpp.orig	2014-03-26 15:19:05.000000000 -0400
 ++++ src/VBox/Main/src-client/DisplayImpl.cpp	2014-04-02 17:42:48.000000000 -0400
 +@@ -4382,6 +4382,7 @@
 + }
 + #endif
 + 
 ++#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
 + DECLCALLBACK(void)  Display::displayCrHgcmCtlSubmitCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext)
 + {
 +     VBOXCRCMDCTL *pCmd = (VBOXCRCMDCTL*)pParam->u.pointer.addr;
 +@@ -4424,7 +4425,6 @@
 +     return pThis->handleCrHgcmCtlSubmit(pCmd, cbCmd, pfnCompletion, pvCompletion);
 + }
 + 
 +-#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
 + DECLCALLBACK(void)  Display::displayCrAsyncCmdCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext)
 + {
 +     Display *pDisplay = (Display *)pvContext;
 +@@ -5050,7 +5050,9 @@
 +     pThis->IConnector.pfnCrHgsmiCommandProcess = Display::displayCrHgsmiCommandProcess;
 +     pThis->IConnector.pfnCrHgsmiControlProcess = Display::displayCrHgsmiControlProcess;
 + #endif
 ++#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
 +     pThis->IConnector.pfnCrHgcmCtlSubmit       = Display::displayCrHgcmCtlSubmit;
 ++#endif
 + #ifdef VBOX_WITH_HGSMI
 +     pThis->IConnector.pfnVBVAEnable            = Display::displayVBVAEnable;
 +     pThis->IConnector.pfnVBVADisable           = Display::displayVBVADisable;
 
 Property changes on: emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp
 ___________________________________________________________________
 Added: svn:mime-type
 ## -0,0 +1 ##
 +text/plain
 \ No newline at end of property
 Added: fbsd:nokeywords
 ## -0,0 +1 ##
 +yes
 \ No newline at end of property
 Added: svn:eol-style
 ## -0,0 +1 ##
 +native
 \ No newline at end of property
 
 --------------060303080803020901060502--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404022240.s32Me1Nb008955>