ports/145457: VBoxManage doesn't work

Stacy Millions stacy at millions.ca
Wed Apr 7 14:20:04 UTC 2010


>Number:         145457
>Category:       ports
>Synopsis:       VBoxManage doesn't work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 07 14:20:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Stacy Millions
>Release:        8.0-Release-p2
>Organization:
>Environment:
FreeBSD ent.millions.ca 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan  5 16:02:27 UTC 2010     root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
virtualbox-ose-3.1.6_1

There is a conflict between the bundled version of libpng (libpng-1.2.8) and the current version in ports (png-1.4.1_1).

VBoxManage exits with the following error (if you built the debug version)

Executable: /usr/local/lib/virtualbox/VBoxSVC
pr_LoadLibraryByPathname(): Failed to load '/usr/local/lib/virtualbox/components/VBoxC.so'
nsNativeComponentLoader: GetFactory(VBoxC.so) Load FAILED with error: /usr/local/lib/virtualbox/components/VBoxC.so: Undefined symbol "png_set_longjmp_fn"
ERROR: failed to create a session object!
ERROR: code NS_ERROR_FACTORY_NOT_REGISTERED (0x80040154) - Class not registered (extended info not available)
ERROR: code NS_ERROR_FACTORY_NOT_REGISTERED (0x80040154) - Class not registered (extended info not available)
Most likely, the VirtualBox COM server is not running or failed to start.

>How-To-Repeat:
Highly repeatable; just install the port and run VBoxManage.
>Fix:
The attached patch for the port's files/patch-configure will cause the port to be built without the bundled libpng.

Patch attached with submission follows:

--- patch-configure.orig	2010-04-06 13:29:53.000000000 -0600
+++ patch-configure	2010-04-06 11:42:38.000000000 -0600
@@ -1,5 +1,5 @@
---- configure.orig	2010-01-28 16:34:50.000000000 +0100
-+++ configure	2010-01-28 22:16:50.000000000 +0100
+--- configure.orig	2010-04-06 11:41:21.000000000 -0600
++++ configure	2010-04-06 11:41:37.000000000 -0600
 @@ -107,7 +107,7 @@
  GENISOIMAGE="genisoimage"
  MKISOFS="mkisofs"
@@ -9,16 +9,18 @@
  LIBPTHREAD="-lpthread"
  LIBCAP="-lcap"
  GSOAP=""
-@@ -125,6 +125,8 @@
+@@ -125,6 +125,10 @@
  if [ "$OS" = "freebsd" ]; then
    INCCURL="-I/usr/local/include"
    LIBCURL="-L/usr/local/lib -lcurl"
 +  INCPULSE="-I/usr/local/include"
 +  LIBPULSE="-L/usr/local/lib"
++  INCPNG="-I/usr/local/include"
++  LIBPNG="-L/usr/local/lib -lpng"
  else
    INCCURL=""
    LIBCURL="-lcurl"
-@@ -1181,7 +1183,7 @@
+@@ -1181,7 +1185,7 @@
  #endif
  }
  EOF
@@ -27,7 +29,25 @@
      test_execute
    fi
  }
-@@ -1773,7 +1775,7 @@
+@@ -1630,7 +1634,7 @@
+     fi
+     echo "export PATH" >> $ENV
+     echo "unset path_kbuild_bin path_dev_bin" >> $ENV
+-    KBUILD_SED="$KBUILDDIR_BIN/kmk_sed"
++    KBUILD_SED="/usr/local/bin/kmk_sed"
+   elif [ "$OS.$BUILD_MACHINE" = "darwin.amd64" ]; then
+     # Currently there are no amd64 kBuild bins. So use the x86 variant in any case.
+     KBUILDDIR_BIN="$KBUILDDIR/bin/$OS.x86"
+@@ -1643,7 +1647,7 @@
+     echo "echo \"\$PATH\" | grep -q \"\$path_dev_bin\" || PATH=\"\$path_dev_bin:\$PATH\"" >> $ENV
+     echo "export PATH" >> $ENV
+     echo "unset path_kbuild_bin path_dev_bin" >> $ENV
+-    KBUILD_SED="$KBUILDDIR_BIN/kmk_sed"
++    KBUILD_SED="/usr/local/bin/kmk_sed"
+   elif check_avail "kmk" KBUILDDIR really; then
+     # check for installed kBuild
+     KBUILD_SED="`which_wrapper kmk_sed`"
+@@ -1773,7 +1777,7 @@
          cat $ODIR.tmp_src.cc >> $LOG
          echo "using the following command line:" >> $LOG
          echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
@@ -36,7 +56,16 @@
          if [ $? -eq 0 ]; then
            found=1
            break
-@@ -2318,6 +2320,15 @@
+@@ -2306,7 +2310,7 @@
+ check_ssl
+ check_curl
+ [ "$OS" != "darwin"  ] && check_z
+-[ "$OS" != "darwin" -a "$OS" != "freebsd" ] && check_png
++[ "$OS" != "darwin" ] && check_png
+ [ $OSE -eq 0 -a "$OS" = "linux" ] && check_pam
+ [ $WITH_SDL -eq 1 ]    && check_sdl
+ [ $WITH_SDL_TTF -eq 1 -a $OSE -eq 0 ] && check_sdl_ttf
+@@ -2318,6 +2322,15 @@
  [ $WITH_QT4    -eq 1 ] && check_qt4
  [ $WITH_PYTHON -eq 1 ] && check_python
  
@@ -52,7 +81,7 @@
  # Linux-specific
  if [ "$OS" = "linux" ]; then
    # don't check for the static libstdc++ in the PUEL version as we build the
-@@ -2335,11 +2346,6 @@
+@@ -2335,11 +2348,6 @@
    else
      cnf_append "VBOX_WITH_ALSA" ""
    fi


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list