顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2015年7月10日 星期五

VMware Workstation 9.0.4 Installation on Ubuntu 14.04.1 LTS

After installation and configuration completed, vmware would compile its modules and the following error occurred:


Using 2.6.x kernel build system.
make: Entering directory `/tmp/modconfig-GQ2cZR/vmnet-only'
/usr/bin/make -C /lib/modules/3.13.0-39-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
          MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-39-generic'
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/netif.o
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/hub.c:43:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/driver.c:51:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/hub.c:43:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/driver.c:51:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
/tmp/modconfig-GQ2cZR/vmnet-only/hub.c: In function ‘VNetHubFindHubByID’:
/tmp/modconfig-GQ2cZR/vmnet-only/hub.c:132:49: warning: argument to ‘sizeof’ in ‘__builtin_memcmp’ call is the same expression as the first source; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
         memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {
                                                 ^
In file included from /usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/string.h:2:0,
                 from include/linux/string.h:17,
                 from /usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/page_32.h:38,
                 from /usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/page.h:13,
                 from /usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/thread_info.h:11,
                 from include/linux/thread_info.h:54,
                 from /usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from include/uapi/linux/timex.h:56,
                 from include/linux/timex.h:56,
                 from include/linux/sched.h:17,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/hub.c:25:
/tmp/modconfig-GQ2cZR/vmnet-only/hub.c: In function ‘VNetHubAlloc’:
/tmp/modconfig-GQ2cZR/vmnet-only/hub.c:315:36: warning: argument to ‘sizeof’ in ‘__builtin_memcpy’ call is the same pointer type ‘uint8 *’ as the destination; expected ‘uint8’ or an explicit length [-Wsizeof-pointer-memaccess]
   memcpy(hub->id.pvnID, id, sizeof id);
                                    ^
/usr/src/linux-headers-3.13.0-39-generic/arch/x86/include/asm/string_32.h:182:48: note: in definition of macro ‘memcpy’
 #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
                                                ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/userif.c:45:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/userif.c:45:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
/tmp/modconfig-GQ2cZR/vmnet-only/userif.c: In function ‘VNetUserIfIoctl’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/userif.c:809:7: note: in expansion of macro ‘ASSERT_ON_COMPILE’
       ASSERT_ON_COMPILE(VNET_NOTIFY_VERSION == 5);
       ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/userif.c:810:7: note: in expansion of macro ‘ASSERT_ON_COMPILE’
       ASSERT_ON_COMPILE(ACTION_EXPORTED_VERSION == 2);
       ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/netif.c:42:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/netif.c:42:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/filter.o
  CC [M]  /tmp/modconfig-GQ2cZR/vmnet-only/smac_compat.o
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/filter.c:48:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/filter.c:48:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
/tmp/modconfig-GQ2cZR/vmnet-only/filter.c: At top level:
/tmp/modconfig-GQ2cZR/vmnet-only/filter.c:206:1: error: conflicting types for ‘VNetFilterHookFn’
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/filter.c:64:18: note: previous declaration of ‘VNetFilterHookFn’ was here
 static nf_hookfn VNetFilterHookFn;
                  ^

In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/procfs.c:43:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/procfs.c:43:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
/tmp/modconfig-GQ2cZR/vmnet-only/filter.c:64:18: warning: ‘VNetFilterHookFn’ used but never defined [enabled by default]
/tmp/modconfig-GQ2cZR/vmnet-only/filter.c:206:1: warning: ‘VNetFilterHookFn’ defined but not used [-Wunused-function]
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/bridge.c:52:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/bridge.c:52:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
▽ake[2]: *** [/tmp/modconfig-GQ2cZR/vmnet-only/filter.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:28:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/smac_compat.c:53:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2560:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:31:0,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnet.h:29,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/vnetInt.h:24,
                 from /tmp/modconfig-GQ2cZR/vmnet-only/smac_compat.c:53:
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:
/tmp/modconfig-GQ2cZR/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/modconfig-GQ2cZR/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);
    ^
make[1]: *** [_module_/tmp/modconfig-GQ2cZR/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-39-generic'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/modconfig-GQ2cZR/vmnet-only'
Failed to build vmnet.  Failed to execute the build command.
Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done

Root Cause:

After kernel version 3.13.x, the definition of netfilter hook function (nf_hookfn) has been changed.

 40 /* Largest hook number + 1 */
 41 #define NF_MAX_HOOKS 8
 42 
 43 struct sk_buff;
 44 
 45 struct nf_hook_ops;
 46 typedef unsigned int nf_hookfn(const struct nf_hook_ops *ops,
 47                                struct sk_buff *skb,
 48                                const struct net_device *in,
 49                                const struct net_device *out,
 50                                int (*okfn)(struct sk_buff *));
 51 
 52 struct nf_hook_ops {
 53         struct list_head list;
 54 
 55         /* User fills in from here down. */
 56         nf_hookfn       *hook;
 57         struct module   *owner;
 58         void            *priv;
 59         u_int8_t        pf;
 60         unsigned int    hooknum;
 61         /* Hooks are ordered in ascending priority. */
 62         int             priority;
 63 };
 64 

Solution:

 Use the following patch to correct this error:
--- /usr/lib/vmware/modules/source/vmnet-only/filter.c 2013-10-18 23:11:55.000000000 +0400
+++ /usr/lib/vmware/modules/source/vmnet-only/filter.c 2013-12-03 04:16:31.751352170 +0400
@@ -27,6 +27,7 @@
 #include "compat_module.h"
 #include <linux/mutex.h>
 #include <linux/netdevice.h>
+#include <linux/version.h>
 #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
 #   include <linux/module.h>
 #else
@@ -203,7 +204,11 @@
 #endif

 static unsigned int
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
+#else
+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
+#endif
 #ifdef VMW_NFHOOK_USES_SKB
                  struct sk_buff *skb,                  // IN:
 #else
@@ -252,7 +257,12 @@

    /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
-   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+#else
+    transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
+#endif

    packetHeader = compat_skb_network_header(skb);
    ip = (struct iphdr*)packetHeader;

 Reference:

http://lxr.free-electrons.com/source/include/linux/netfilter.h?v=3.13
http://pastebin.com/p3bkbAMu
http://davejingtian.org/2014/03/04/hack-make-vmware-player-6-0-1-start-on-linux-kernel-3-13-x/

2015年4月23日 星期四

Ubuntu: Install FirefoxNewVersion/MozillaBuilds

Ubuntuzilla repository

An easy way of installing a Mozilla build is to use the Ubuntuzilla project repository. Ubuntuzilla is for ordinary users that want to use the latest Mozilla build as their default browser.
The Ubuntuzilla project's repository contains .deb repacks of the unmodified official Mozilla builds of Firefox, Thunderbird, and SeaMonkey. Just add the repository to your sources, and you'll be kept up to date on the latest Mozilla releases through the package manager. 
See the Ubuntuzilla website for details and usage instructions.

Installation

Old ubuntuzilla installer script users note: before installing these packages, run "ubuntuzilla.py -a remove -p packagename". Otherwise installation may fail due to the existence of a local diversion of /usr/bin/ links, placed there by the old ubuntuzilla script.
  • It is strongly recommended to make a backup of your Firefox/Thunderbird/Seamonkey user profile, just in case. This is stored in your home directory. Firefox and Seamonkey profiles are stored in the .mozilla directory, Thunderbird profile is stored in .thunderbird or.mozilla-thunderbird directory.
  • Add the ubuntuzilla repository to your /etc/apt/sources.list, either using your favorite editor, or by running the provided one-line command (copy and paste the entire line into a terminal, then press enter).
The repository to add, if you're adding it manually to your sources.list, is
deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main
If you wish, verify that the repository has been added, by looking at /etc/apt/sources.list in your favorite text editor, or running "tail /etc/apt/sources.list" in the terminal.
  • Then add the package signing key to your keyring, by running the following command:
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29
  • Update your package database:
    sudo apt-get update
  • Install your desired package, with one of the following commands:
    sudo apt-get install firefox-mozilla-build
    sudo apt-get install thunderbird-mozilla-build
    sudo apt-get install seamonkey-mozilla-build
All of this can also be done through the GUI with the Synaptic Package Manager, if you so desire. See this step-by-step visual tutorialif you would like to try the GUI approach.
From here on, any updates will be offered to you through the usual channels in the Update Manager.

Localizations

The packages in the repos are 'en-US' (US English) versions. To install any other translations:
  • Download the appropriate language pack add-on .xpi file,
  • Install it from within Firefox/Thunderbird/Seamonkey (as you would with any other add-on).
  • Enable it by setting the config general.useragent.locale to the name of the locale that you want to use. The name of the locale is the same as the name of the language pack that you installed.
    • To edit the config, go to Edit -> Preferences -> Advanced -> General -> Config Editor.
  • Restart the application for the setting to take effect.
Firefox language packs are at
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&lt;version&gt;/linux-i686/xpi/
Thunderbird language packs are at
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/&lt;version&gt;/linux-i686/xpi/
Seamonkey language packs are at
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/&lt;version&gt;/langpack/
For more info about installing language packs, see this Mozilla knowledgebase article.

Removal

To uninstall the packages, uninstall the *-mozilla-build packages, using your favorite package manager. E.g., using apt-get:
sudo apt-get remove firefox-mozilla-build
sudo apt-get remove thunderbird-mozilla-build
sudo apt-get remove seamonkey-mozilla-build
If you no longer wish to have the Ubuntuzilla repository in your sources, you can edit it out of your /etc/apt/sources.list.

Reference:

Ubuntu: Modify the Dependency of a package (*CAUTION* THIS MAY BREAK THE SYSTEM UNINTENTIONALLY)

*CAUTION* THIS MAY BREAK THE SYSTEM UNINTENTIONALLY


Search packages on:
http://packages.ubuntu.com/
http://www.ubuntuupdates.org/
http://www.debian.org/distrib/packages

1. Extracts the filesystem tree:
  $ dpkg -x original.deb data
2. Extracts the control information (default to DEBIAN/):
  $ dpkg -e original.deb
3. Edit the dependency of the packages:
  $ vi DEBIAN/control
  $ mv DEBIAN data/
4. Create a new debian archive:
  $ dpkg -b data new.deb
5. Install the new package:
  $ sudo dpkg -i new.deb


If some dependency issues still occurred, dpkg may suggest you to use "--auto-deconfigure" to solve those issue. *CAUTION* THIS MAY ALSO BREAK THE DEPENDENCY OF OTHER INSTALLED PACKAGES.
If the dependency is broken after using the "--auto-deconfigure" option, try the following commands to fix it:
Reinstall the original version of some packages which break the dependency:
  $ sudo apt-get install package=x.y.z-m.n
Use "-f / --fix-broken" option in apt-get:
  $ sudo apt-get -f install package
    OR (if still unable to correct the problem, but may be a LOT of works to do.)
  $ sudo apt-get -f install