ports/188053: emulators/virtualbox-ose 4.3.10 doesn't build on 9.2

Jung-uk Kim jkim at FreeBSD.org
Thu Apr 3 19:50:01 UTC 2014


The following reply was made to PR ports/188053; it has been noted by GNATS.

From: Jung-uk Kim <jkim at FreeBSD.org>
To: Alexandr Krivulya <shuriku at shurik.kiev.ua>, bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/188053: emulators/virtualbox-ose 4.3.10 doesn't build on
 9.2
Date: Thu, 03 Apr 2014 15:49:05 -0400

 This is a multi-part message in MIME format.
 --------------020901090801000307000200
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
 On 2014-04-03 02:42:23 -0400, Alexandr Krivulya wrote:
 > 03.04.2014 01:38, Jung-uk Kim пишет:
 >> 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
 >> 
 > 
 > Port build succeeded, but now I cannot start VM with error
 > 
 > Unable to load R3 module /usr/local/lib/virtualbox/VBoxDD.so 
 > (VBoxDD): /usr/local/lib/virtualbox/VBoxDD.so: Undefined symbol 
 > "_Z17vboxCmdVBVACmdCtlP8VGAStateP15VBOXCMDVBVA_CTLj" 
 > (VERR_FILE_NOT_FOUND)
 
 Please revert the patch and try the new one (attached and uploaded again).
 
 Thanks,
 
 Jung-uk Kim
 
 --------------020901090801000307000200
 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 350042)
 +++ 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: 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-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,34 @@
 +--- 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-03 14:58:41.000000000 -0400
 +@@ -1939,6 +1939,7 @@
 + 
 +     switch (u16ChannelInfo)
 +     {
 ++#ifdef VBOX_WITH_VDMA
 +         case VBVA_CMDVBVA_SUBMIT:
 +         {
 +             rc = vboxCmdVBVACmdSubmit(pVGAState);
 +@@ -1965,7 +1966,6 @@
 +             rc = vboxCmdVBVACmdCtl(pVGAState, pCtl, cbBuffer - VBoxSHGSMIBufferHeaderSize());
 +             break;
 +         }
 +-#ifdef VBOX_WITH_VDMA
 +         case VBVA_VDMA_CMD:
 +         {
 +             if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof (VBOXVDMACBUF_DR))
 +@@ -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: 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-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
 
 --------------020901090801000307000200--


More information about the freebsd-emulation mailing list