Bounty and timeline on vmware 5.x on FreeBSD 6.x

Per Hedeland per at hedeland.org
Thu Apr 5 07:12:48 UTC 2007


Eric Anderson <anderson at freebsd.org> wrote:
>
>On 04/04/07 17:17, Per Hedeland wrote:
>> Christian Laursen <xi at borderworlds.dk> wrote:
>>> "Rick C. Petty" <rick-freebsd at kiwi-computer.com> writes:
>>>
>>>> On Wed, Apr 04, 2007 at 01:44:01PM -0500, Eric Anderson wrote:
>>>>>         libglibmm-2.4.so.1 => not found
>>>>>         libglibmm_generate_extra_defs-2.4.so.1 => not found
>>>>>         libatkmm-1.6.so.1 => not found
>>>>>         libpangomm-1.4.so.1 => not found
>>>>>         libgdkmm-2.4.so.1 => not found
>>>>>         libgtkmm-2.4.so.1 => not found
>>>>>         libgnomecanvasmm-2.6.so.1 => not found
>>>>>         libsexymm.so.1 => not found
>>>> I suspect most of these come from their GNOME C++ counterparts, such as
>>>> glibmm, gtkmm, gnomemm, libgnomecanvasmm, libsexymm, et al.  Not sure if
>>>> this would work but you could try installing the freebsd ports for these
>>>> and adding some /etc/libmap.conf entries??
>>> That will not work. Linux binaries need linux libraries, so the right thing
>>> to do would be to make linux-* ports of the neccesary linux libraries.
>> 
>> I don't want to dissuade anyone from trying, but unless things have
>> changed drastically from vmware 3/4, the hard part of getting it to work
>> on FreeBSD isn't finding Linux libraries for the binary, nor even
>> fiddling with the Linuxolator to provide additional support for it (if
>> that is even needed), but to port the Linux versions of the vmmon and
>> (assuming you want networking) vmnet kernel modules.
>> 
>> Source for these used to be, and probably still is, available in the
>> vmware distribution, but it's a significant amount of work for someone
>> with good kernel knowledge, and the requirements seem to be more or less
>> different for each combination of vmware version and FreeBSD version
>> (i.e. you need to produce vmware-version-specific ports with lots of
>> FreeBSD #ifdefs). The diffs for vmware-3-vmmon are over 7000 lines.
>> 
>> Orlando had "almost finished" the vmmon port for vmware 4, but there
>> were still some problems left (e.g. it couldn't run on SMP FreeBSD
>> IIRC), and he hadn't even started on vmnet (I believe that's the simpler
>> of the two though, you basically replace it completely with an interface
>> to if_tap which has/had most of the functionality needed). I had vmware
>> 4 running briefly with his preliminary vmmon port, but without
>> networking it was useless to me.
>> 
>> Note that this isn't optional optimization stuff like kqemu, vmware will
>> not run without vmmon, and will not have networking without vmnet.
>> Again, this is the case with vmware 3/4, I haven't even looked at
>> current versions.
>
>Thanks for the info - all good points.  We'll never know unless someone 
>at least *tries* to make it work, which is all I'm doing.  I just want 
>to know what the barriers are, so someone who just wants to code can 
>jump right in and start hacking away without all this other stuff in the 
>way.

That's great of course, I just wanted to spare some/anyone the
disappointment of thinking the lib dependencies were the major obstacle,
only to find out that this isn't the case after a lot of boring work.:-)
And the huge list of GUI libs needed does seem to be a post-version-3
(or even -4) thing (which is probably not surprising for those that have
seen the respective versions running) - ldd on vmware-3 has only this to
report:

/usr/local/lib/vmware/bin/vmware:
        /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x28133000)
        libm.so.6 => /lib/libm.so.6 (0x28139000)
        libdl.so.2 => /lib/libdl.so.2 (0x2815a000)
        libc.so.6 => /lib/libc.so.6 (0x2815d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x28120000)

/usr/local/lib/vmware/bin/vmware-ui:
        /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x281d5000)
        libm.so.6 => /lib/libm.so.6 (0x281db000)
        libdl.so.2 => /lib/libdl.so.2 (0x281fc000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x281ff000)
        libXtst.so.6 => /usr/X11R6/lib/libXtst.so.6 (0x282fb000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x28301000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x28310000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x28319000)
        libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x2836c000)
        libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x28374000)
        libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x28384000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x2839a000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x283b2000)
        libc.so.6 => /lib/libc.so.6 (0x283bc000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x281c2000)

(I believe it's statically linked with some Motif(-ish) libs for the
GUI).

>Maybe the real question is, what is QEMU missing, that VMWare has?  I 
>can think of three things right off:
>
>- Good video card support
>- Real PXE enabled network card
>- VM extension use (huge in my opinion)

Personally (a relatively happy qemu user since a year or so) I don't
care at all about the first two - and don't know if I care about the
last one - what is it?:-)

--Per Hedeland


More information about the freebsd-emulation mailing list