From owner-freebsd-ports@FreeBSD.ORG Sat Jan 11 21:09:45 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE0199B5 for ; Sat, 11 Jan 2014 21:09:45 +0000 (UTC) Received: from mail-ob0-x22b.google.com (mail-ob0-x22b.google.com [IPv6:2607:f8b0:4003:c01::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AA6ED150D for ; Sat, 11 Jan 2014 21:09:45 +0000 (UTC) Received: by mail-ob0-f171.google.com with SMTP id wo20so4309447obc.30 for ; Sat, 11 Jan 2014 13:09:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bluelife.at; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=gUP8x9GqQKgwya0t9081NdIAn06oim5AEpzXv0ONs0E=; b=bvAbqZGFiWLmOD0Gie1JmGN9opLGdkHl7bfQqOK+qBwpuHapZyRU7LMP7+IPPFaHDF Y2gJx/j/BFw6BlM87kT69xImLy9Rccl7sZLF6jsDwcoY2hc4jm4pxQhkcvOrEtTF9kk7 tVBcKfdbEip9uMp7bwnjhiQEGy4boslJnW/GA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=gUP8x9GqQKgwya0t9081NdIAn06oim5AEpzXv0ONs0E=; b=P7dKUwlCiZqTgosaHap+Fdf756CIHP7J5hhL20zxdx9vYgzD5Jv0ZzFHIJ7uEwo/LD /RUuY6JeIVBbsFJQB/LIoZHdsYhSsGGUY0Y/r5ZyLtynz3zxCElYer1hUp4NXs6bZ8Bh Ic8bjqEihFk8QHxjqJVNZ8KNAHTzyIq8cbTp3s/u9RZqPVtKBSaiBlGBk0IplvalWnfr yPFxgTiWbvz1jcrixxzbeC896rKPFS8k5VQqsz1wZo+S5e66Upjd5DHXSPBgxERNC42g 1A8HGvRcOa2mK2ynOxvXuR1d9z/QkqLMiLJu4ad2O/MVyrkPeBRJP2zAtmqTJSjcCyMY g6Zw== X-Gm-Message-State: ALoCoQkCGwtOJh+gk9XI8DGVoTZosOVN9IZU6k6Z2o3Un//7yBJRXzllH6/XOHgKtX6bnUS7zQTT MIME-Version: 1.0 X-Received: by 10.60.67.105 with SMTP id m9mr892933oet.58.1389474584989; Sat, 11 Jan 2014 13:09:44 -0800 (PST) Received: by 10.76.154.2 with HTTP; Sat, 11 Jan 2014 13:09:44 -0800 (PST) X-Originating-IP: [46.207.8.156] Received: by 10.76.154.2 with HTTP; Sat, 11 Jan 2014 13:09:44 -0800 (PST) In-Reply-To: References: Date: Sat, 11 Jan 2014 22:09:44 +0100 Message-ID: Subject: Re: VirtualBox 4.3.6 + FreeBSD 10 + clang, [SUCCESS] From: =?ISO-8859-1?Q?Bernhard_Fr=F6hlich?= To: Craig Rodrigues Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: freebsd-emulation@freebsd.org, ports , Jung-uk Kim X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jan 2014 21:09:46 -0000 Am 11.01.2014 03:49 schrieb "Craig Rodrigues" : > > Hi, > > I had problems with the virtualbox-ose-4.22 port > under FreeBSD 10.0-RC5, where VirtualBox would occasionally > crash. > It looks like the mix of QT C++ libraries compiled with clang, > vs. the virtualbox-ose port compiled with g++46 was not a good mix I still think that this is a problem that needs to be fixed in Qt or even better in our ports tree. The decision to compile parts of the portstree with the base compiler and other parts with various compilers from ports is what causes all this issues. Hacking virtualbox cures the symptoms but does not fix the cause. > After reading this post: > http://lists.freebsd.org/pipermail/freebsd-emulation/2013-December/011171.html > > I obtained Jung-uk Kim's port Makefiles for VirtualBox and > I managed to compile a build of VirtualBox 4.3.6 on my system which is not > crashing. > > This is what I did: > > (1) Delete the virtualbox-ose port from my system: > > pkg delete virtualbox-ose > pkg delete virtualbox-ose-kmod > > (2) Delete the gsoap port from my system > > pkg delete gsoap > > (3) Make sure that a valid FreeBSD src tree exists under /usr/src, otherwise > the build will fail. > > (4) Check out jkim's tree from redports: > > mkdir -p /tmp/xy > cd /tmp/xy > svn co https://svn.redports.org/jkim > > (5) Build and install gsoap from jkim's port (you need to do this because the version of gsoap in the ports tree will result in failed compilation): > > cd /tmp/xy/jkim/devel/gsoap > make > make install Really? From what I was told the current gsoap should work fine with the patch that he included for the new gsoap in his tree. > (6) Build and install virtualbox-ose and virtualbox-ose-kmod ports. > > cd /tmp/xy/jkim/emulators/virtualbox-ose > make > make install > cd /tmp/xy/jkim/emulators/virtualbox-ose-kmod > make > make install That is the wrong order. You need to install kmod first or virtualbox will pull in kmod from the portstree in /usr/ports. > After doing this, I got a build of VirtualBox that: > -> built against clang, does not depend on g++ libraries > -> no need to unset QT_PLUGIN_PATH > -> works and doesn't crash :) > > Thank you for doing this Jung-uk, it was quite a lot of work > to port VirtualBox to clang! I still think this is the wrong approach and I won't maintain all those clang patches in the official port. The problem that I see is that we are diverging from upstream vbox too much and end up maintaining a very special usecase and a few dozen patches on our own. We would be the only one to build with clang so with every release we need to update our patches and add more to keep it building with clang. This will need someone that want's to do it for the next few years. Since the beginning of vbox on FreeBSD we tried to stay close to upstream sources and push patches to upstream first. This has worked good for us and has created a good relationship to them. So we have 3 options: - I step down and wish you all the best. There are a few smart people working on vbox now so it should not be an issue for the project. - Someone clones the vbox ports and maintains the clang version in the portstree. - We try to push as many patches upstream and nag them until they accept them. This might also interest some Mac OS X people. I will talk to the vbox developers to find out what they think of clang and if someone is working on updating the recompiler from qemu which would make a full clang build possible.