View previous topic :: View next topic |
Author |
Message |
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Sun Apr 20, 2014 3:29 pm Post subject: app-emulation/vmware-modules-279.2::gentoo failed [solved] |
|
|
Code: | CC [M] /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/stubs.o
In file included from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/stubs.c:34:0:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
#define DEPRECATED(_fix) do {} while (0)
^
In file included from /usr/src/linux-3.14.0-gentoo/include/linux/kernel.h:13:0,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/percpu.h:44,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/preempt.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/preempt.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/spinlock.h:50,
from /usr/src/linux-3.14.0-gentoo/include/linux/wait.h:8,
from /usr/src/linux-3.14.0-gentoo/include/linux/completion.h:11,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/os.h:31,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/stubs.c:33:
/usr/src/linux-3.14.0-gentoo/include/linux/printk.h:96:0: note: this is the location of the previous definition
#define DEPRECATED "[Deprecated]: "
^
CC [M] /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/block.o
In file included from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/vmblockInt.h:41:0,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/filesystem.c:36:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
#define DEPRECATED(_fix) do {} while (0)
^
In file included from /usr/src/linux-3.14.0-gentoo/include/linux/kernel.h:13:0,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/filesystem.c:27:
/usr/src/linux-3.14.0-gentoo/include/linux/printk.h:96:0: note: this is the location of the previous definition
#define DEPRECATED "[Deprecated]: "
^
In file included from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/vmblockInt.h:41:0,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.c:32:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
#define DEPRECATED(_fix) do {} while (0)
^
In file included from /usr/src/linux-3.14.0-gentoo/include/linux/kernel.h:13:0,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/percpu.h:44,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/preempt.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/preempt.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/spinlock.h:50,
from /usr/src/linux-3.14.0-gentoo/include/linux/seqlock.h:35,
from /usr/src/linux-3.14.0-gentoo/include/linux/time.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/stat.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/module.h:10,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.c:27:
/usr/src/linux-3.14.0-gentoo/include/linux/printk.h:96:0: note: this is the location of the previous definition
#define DEPRECATED "[Deprecated]: "
^
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.c:240:4: error: unknown field ‘readdir’ specified in initializer
.readdir = FileOpReaddir,
^
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.c:240:4: warning: initialization from incompatible pointer type [enabled by default]
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.c:240:4: warning: (near initialization for ‘RootFileOps.owner’) [enabled by default]
CC [M] /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/module.o
make[3]: *** [/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/file.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/vmblockInt.h:41:0,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/block.c:30:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
#define DEPRECATED(_fix) do {} while (0)
^
In file included from /usr/src/linux-3.14.0-gentoo/include/linux/kernel.h:13:0,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/percpu.h:44,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/preempt.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/preempt.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/spinlock.h:50,
from /usr/src/linux-3.14.0-gentoo/include/linux/wait.h:8,
from /usr/src/linux-3.14.0-gentoo/include/linux/completion.h:11,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/os.h:31,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/block.c:26:
/usr/src/linux-3.14.0-gentoo/include/linux/printk.h:96:0: note: this is the location of the previous definition
#define DEPRECATED "[Deprecated]: "
^
In file included from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/vmblockInt.h:41:0,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/module.c:32:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
#define DEPRECATED(_fix) do {} while (0)
^
In file included from /usr/src/linux-3.14.0-gentoo/include/linux/kernel.h:13:0,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/percpu.h:44,
from /usr/src/linux-3.14.0-gentoo/arch/x86/include/asm/preempt.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/preempt.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/spinlock.h:50,
from /usr/src/linux-3.14.0-gentoo/include/linux/seqlock.h:35,
from /usr/src/linux-3.14.0-gentoo/include/linux/time.h:5,
from /usr/src/linux-3.14.0-gentoo/include/linux/stat.h:18,
from /usr/src/linux-3.14.0-gentoo/include/linux/module.h:10,
from /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/module.c:28:
/usr/src/linux-3.14.0-gentoo/include/linux/printk.h:96:0: note: this is the location of the previous definition
#define DEPRECATED "[Deprecated]: "
^
make[2]: *** [_module_/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-3.14.0-gentoo'
make: *** [vmblock.ko] Error 2
* ERROR: app-emulation/vmware-modules-279.2::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=app-emulation/vmware-modules-279.2::gentoo'`,
* the complete build log and the output of `emerge -pqv '=app-emulation/vmware-modules-279.2::gentoo'`.
* The complete build log is located at '/var/tmp/portage/app-emulation/vmware-modules-279.2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-emulation/vmware-modules-279.2/temp/environment'.
* Working directory: '/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only'
* S: '/var/tmp/portage/app-emulation/vmware-modules-279.2/work'
|
patches and ebuild are required . _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name)
Last edited by padoor on Mon Apr 28, 2014 2:04 am; edited 1 time in total |
|
Back to top |
|
|
TomWij Retired Dev
Joined: 04 Jul 2012 Posts: 1553
|
Posted: Sun Apr 20, 2014 7:33 pm Post subject: |
|
|
Can you file this bug at Gentoo Bugzilla? Read here how to write a bug report, for more in-depth details and troubleshooting steps you can read our Bugzilla HOWTO. Make sure to attach the complete build log and comment with the output of the `emerge --info` command. |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Mon Apr 21, 2014 3:47 am Post subject: |
|
|
already bugs are reported by others
i have never posted a bug before.
i would rather wait till some solution found there.
Bug 508204 - app-emulation/vmware-modules-279.2
https://bugs.gentoo.org/show_bug.cgi?id=508204 _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Sat Apr 26, 2014 2:52 pm Post subject: |
|
|
i got the patches and diff ebuild and edited the ebuild and digested .
it merged fine. _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
cfgauss l33t
Joined: 18 May 2005 Posts: 688 Location: USA
|
Posted: Sat Apr 26, 2014 5:30 pm Post subject: |
|
|
padoor wrote: | i got the patches and diff ebuild and edited the ebuild and digested .
it merged fine. |
I can confirm that merely placing 279-vmblock-3.11.patch and 279-vmblock-3.12.patch available here into /etc/portage/patches/app-emulation/vmware-modules-279.2 produced a clean emerge under kernel 3.12.13. No patching of the ebuild was necessary.
[UPDATE] To emerge vmware-modules-279.2 under kernel 3.12.21-r1, I had to remove the patches. [/UPDATE]
[UPDATE2] To emerge vmware-modules-279.2 under kernel 3.15.0-r1, I needed the 279-linux-3.14.patch available here and the 279-kernel-3.15.patch available here. [UPDATE2]
Last edited by cfgauss on Wed Jun 18, 2014 2:55 am; edited 3 times in total |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Tue Apr 29, 2014 1:40 pm Post subject: |
|
|
Code: | strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
lib/modules/3.14.2-gentoo/misc/vmblock.ko
lib/modules/3.14.2-gentoo/misc/vmmon.ko
lib/modules/3.14.2-gentoo/misc/vmnet.ko
lib/modules/3.14.2-gentoo/misc/vmci.ko
lib/modules/3.14.2-gentoo/misc/vsock.ko
>>> Installing (1 of 1) app-emulation/vmware-modules-279.2
* Removing app-emulation/vmware-modules-279.2 from moduledb.
* Updating module dependencies for 3.14.2-gentoo ...
depmod: WARNING: //lib/modules/3.14.2-gentoo/misc/vmblock.ko needs unknown symbol getname [ ok ]
* Adding module to moduledb.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
|
for kernel 3.14.2 get a warning for vmblock.
though it merged it seems may not work.
i will experiment more and report back _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
Xamien Tux's lil' helper
Joined: 08 Jun 2005 Posts: 88
|
Posted: Thu May 08, 2014 7:05 pm Post subject: |
|
|
I can confirm that placing all patches from Bug 508204 resolved the emerge problem for me. gentoo-sources-3.14.3 and vmware-modules-279.2.
Caveats:
1. Working on testing whether it functions correctly.
2. There are related bugs that suggest using the 279-getname.patch. This did not work for me. Whether this is because the ebuild needed editing, I have not explored.
I'll report back later if testing goes well.
EDIT: It works! Now if I can get Workstation 9 working... (since that's what I actually have the key for.) |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Mon May 12, 2014 1:53 pm Post subject: |
|
|
Code: | tux ramaswamy # modprobe vmmon
tux ramaswamy # modprobe vmnet
tux ramaswamy # modprobe vmci
tux ramaswamy # modprobe vmblock
modprobe: ERROR: could not insert 'vmblock': Unknown symbol in module, or unknown parameter (see dmesg)
tux ramaswamy # modprobe vsock
tux ramaswamy #
|
this is after i merged vmware-modules-279.2 for kernel 3.14.3-gentoo. _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
F1r31c3r Tux's lil' helper
Joined: 31 Aug 2007 Posts: 107 Location: UK
|
Posted: Fri May 23, 2014 1:23 am Post subject: 279.2 & 3.11. & 3.12.13 & 3.14. |
|
|
Just to post an update for those running into the inode build problem.
Here is the code fail snipet
Quote: | /var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/inode.c: In function ‘InodeOpLookup’:
/var/tmp/portage/app-emulation/vmware-modules-279.2/work/vmblock-only/linux/inode.c:138:32: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’
inode->i_uid = inode->i_gid = 0;
|
To fix, do all the normal create patches:
Kernel stage point for 3.11.xx "279-vmblock-3.11.patch"
https://bugs.gentoo.org/attachment.cgi?id=375338
Code: | --- a/vmblock-only/linux/file.c
+++ b/vmblock-only/linux/file.c
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
typedef ino_t inode_num_t;
#endif
-/* Specifically for our filldir_t callback */
-typedef struct FilldirInfo {
- filldir_t filldir;
- void *dirent;
-} FilldirInfo;
-
-
-/*
- *----------------------------------------------------------------------------
- *
- * Filldir --
- *
- * Callback function for readdir that we use in place of the one provided.
- * This allows us to specify that each dentry is a symlink, but pass through
- * everything else to the original filldir function.
- *
- * Results:
- * Original filldir's return value.
- *
- * Side effects:
- * Directory information gets copied to user's buffer.
- *
- *----------------------------------------------------------------------------
- */
-
-static int
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
- const char *name, // IN: Dirent name
- int namelen, // IN: len of dirent's name
- loff_t offset, // IN: Offset
- inode_num_t ino, // IN: Inode number of dirent
- unsigned int d_type) // IN: Type of file
-{
- FilldirInfo *info = buf;
-
- /* Specify DT_LNK regardless */
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
-}
-
-
/* File operations */
/*
@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN
static int
FileOpReaddir(struct file *file, // IN
- void *dirent, // IN
- filldir_t filldir) // IN
+ struct dir_context *ctx) // IN
{
int ret;
- FilldirInfo info;
+
struct file *actualFile;
if (!file) {
@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN
return -EINVAL;
}
- info.filldir = filldir;
- info.dirent = dirent;
-
- actualFile->f_pos = file->f_pos;
- ret = vfs_readdir(actualFile, Filldir, &info);
- file->f_pos = actualFile->f_pos;
+ /* Ricky Wong Yung Fei:
+ * Manipulation of pos is now handled internally by iterate_dir().
+ */
+ ret = iterate_dir(actualFile, ctx);
return ret;
}
@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN
struct file_operations RootFileOps = {
- .readdir = FileOpReaddir,
+ .iterate = FileOpReaddir,
.open = FileOpOpen,
.release = FileOpRelease,
};
|
Kernel stage patch 3.12.xx "279-vmblock-3.12.patch"
https://bugs.gentoo.org/attachment.cgi?id=375340
Code: | --- a/vmblock-only/linux/control.c 2013-10-03 04:29:47.471339204 -0400
+++ b/vmblock-only/linux/control.c 2013-10-03 04:31:56.607334636 -0400
@@ -283,7 +283,7 @@
int i;
int retval;
- name = getname(buf);
+ name = __getname();
if (IS_ERR(name)) {
return PTR_ERR(name);
}
+ i = strncpy_from_user(name, buf, PATH_MAX);
+ if (i < 0 || i == PATH_MAX) {
+ __putname(name);
+ return -EINVAL;
+ }
+
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
name[i] = '\0';
}
--- a/vmblock-only/linux/dentry.c 2013-10-03 04:29:47.471339204 -0400
+++ b/vmblock-only/linux/dentry.c 2013-10-03 04:31:56.607334636 -0400
@@ -32,7 +32,7 @@
#include "block.h"
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
struct dentry_operations LinkDentryOps = {
.d_revalidate = DentryOpRevalidate,
@@ -60,7 +60,7 @@
static int
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
- struct nameidata *nd) // IN: lookup flags & intent
+ unsigned int flags) // IN: lookup flags & intent
{
VMBlockInodeInfo *iinfo;
struct nameidata actualNd;
@@ -101,7 +101,7 @@
if (actualDentry &&
actualDentry->d_op &&
actualDentry->d_op->d_revalidate) {
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
}
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
--- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400
+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400
@@ -36,7 +36,7 @@
/* Inode operations */
static struct dentry *InodeOpLookup(struct inode *dir,
- struct dentry *dentry, struct nameidata *nd);
+ struct dentry *dentry, unsigned int flags);
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
@@ -75,7 +75,7 @@
static struct dentry *
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
struct dentry *dentry, // IN: dentry to lookup
- struct nameidata *nd) // IN: lookup intent and information
+ unsigned int flags) // IN: lookup intent and information
{
char *filename;
struct inode *inode;
@@ -221,7 +221,7 @@
goto out;
}
- ret = vfs_follow_link(nd, iinfo->name);
+ nd_set_link(nd, iinfo->name);
out:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
Kernel stage userns patch 3.14.xx "279-userns.patch"
https://bugs.gentoo.org/attachment.cgi?id=375336
Code: | diff -rupN a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c
--- a/vmblock-only/linux/inode.c 2014-03-31 18:49:14.843009422 +0100
+++ b/vmblock-only/linux/inode.c 2014-03-31 18:50:52.617009677 +0100
@@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, //
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
inode->i_version = 1;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
- inode->i_uid = inode->i_gid = 0;
+ inode->i_uid = GLOBAL_ROOT_UID;
+ inode->i_gid = GLOBAL_ROOT_GID;
inode->i_op = &LinkInodeOps;
d_add(dentry, inode);
diff -rupN a/vmblock-only/shared/vm_assert.h b/vmblock-only/shared/vm_assert.h
--- a/vmblock-only/shared/vm_assert.h 2014-03-31 18:49:14.843009422 +0100
+++ b/vmblock-only/shared/vm_assert.h 2014-03-31 18:49:21.388009439 +0100
@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
--- a/vmci-only/linux/driver.c 2014-03-31 18:49:14.840009422 +0100
+++ b/vmci-only/linux/driver.c 2014-03-31 18:49:21.385009439 +0100
@@ -737,7 +737,7 @@ LinuxDriver_Ioctl(struct inode *inode,
goto init_release;
}
- user = current_uid();
+ user = from_kuid(current_user_ns(), current_uid());
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
0 /* Unused */, vmciLinux->userVersion,
&user, &vmciLinux->context);
diff -rupN a/vmci-only/shared/vm_assert.h b/vmci-only/shared/vm_assert.h
--- a/vmci-only/shared/vm_assert.h 2014-03-31 18:49:14.841009422 +0100
+++ b/vmci-only/shared/vm_assert.h 2014-03-31 18:49:21.385009439 +0100
@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN a/vmmon-only/include/vm_assert.h b/vmmon-only/include/vm_assert.h
--- a/vmmon-only/include/vm_assert.h 2014-03-31 18:49:14.835009422 +0100
+++ b/vmmon-only/include/vm_assert.h 2014-03-31 18:49:21.380009439 +0100
@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
--- a/vmmon-only/linux/driver.c 2014-03-31 18:49:14.834009422 +0100
+++ b/vmmon-only/linux/driver.c 2014-03-31 18:49:21.379009439 +0100
@@ -1338,7 +1338,9 @@ LinuxDriverReadTSC(void *data, // OUT:
*-----------------------------------------------------------------------------
*/
-__attribute__((always_inline)) static Bool
+#include <linux/compiler-gcc.h>
+
+__always_inline static Bool
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
{
TSCDelta tscDelta;
diff -rupN a/vmnet-only/vm_assert.h b/vmnet-only/vm_assert.h
--- a/vmnet-only/vm_assert.h 2014-03-31 18:49:14.845009422 +0100
+++ b/vmnet-only/vm_assert.h 2014-03-31 18:49:21.390009439 +0100
@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN a/vsock-only/linux/af_vsock.c b/vsock-only/linux/af_vsock.c
--- a/vsock-only/linux/af_vsock.c 2014-03-31 18:49:14.837009422 +0100
+++ b/vsock-only/linux/af_vsock.c 2014-03-31 18:49:21.381009439 +0100
@@ -2869,7 +2869,7 @@ __VSockVmciCreate(struct net *net,
vsk->connectTimeout = psk->connectTimeout;
} else {
vsk->trusted = capable(CAP_NET_ADMIN);
- vsk->owner = current_uid();
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
diff -rupN a/vsock-only/shared/vm_assert.h b/vsock-only/shared/vm_assert.h
--- a/vsock-only/shared/vm_assert.h 2014-03-31 18:49:14.839009422 +0100
+++ b/vsock-only/shared/vm_assert.h 2014-03-31 18:49:21.382009439 +0100
@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
#define DEPRECATED(_fix) do {} while (0)
#endif
|
then you need to pull the patch to mod the small change in inode.c file. "279-inode.patch"
https://bugs.gentoo.org/attachment.cgi?id=375780
Code: | diff -Nurp work.orig/vmblock-only/linux/inode.c work/vmblock-only/linux/inode.c
--- work.orig/vmblock-only/linux/inode.c 2013-10-18 17:56:11.000000000 +0000
+++ work/vmblock-only/linux/inode.c 2013-11-14 16:44:41.079398115 +0000
@@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, //
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
inode->i_version = 1;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
- inode->i_uid = inode->i_gid = 0;
+ inode->i_uid = KUIDT_INIT(0);
+ inode->i_gid = KGIDT_INIT(0);
inode->i_op = &LinkInodeOps;
d_add(dentry, inode);
|
You can now either modify your 279.2 ebuild to include these patches or if you created them in the user patch folder then the userpatch will pick them up automatically. Note if you put in the 3.14.xx patch you need mod the ebuild so that emerge knows to only use that patch against the 3.14.xx version kernel.
Here is the ebuilds src_prepare section for convenience. Note i named the patches as according to the names listed bellow.
Code: | src_prepare() {
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
use pax_kernel && epatch "${FILESDIR}/279-hardened.patch"
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch"
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.11.patch"
kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.12.patch"
kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-inode.patch"
kernel_is ge 3 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-userns.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user
} |
And the result after digesting the newly molded ebuild is:
Quote: | >>> Emerging (1 of 1) app-emulation/vmware-modules-279.2
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found sources for kernel version:
* 3.12.13-gentoo-f1r31c3r-NV
* Checking for suitable kernel configuration options... [ ok ]
* Checking for suitable kernel configuration options... [ ok ]
>>> Unpacking source...
>>> Source unpacked in /var/tmp/portage/app-emulation/vmware-modules-279.2/work
>>> Preparing source in /var/tmp/portage/app-emulation/vmware-modules-279.2/work ...
* Applying 279-makefile-kernel-dir.patch ... [ ok ]
* Applying 279-makefile-include.patch ... [ ok ]
* Applying 279-netdevice.patch ... [ ok ]
* Applying 279-apic.patch ... [ ok ]
* Applying 279-putname.patch ... [ ok ]
* Applying 279-vmblock.patch ... [ ok ]
* Applying 279-vmblock-3.11.patch ... [ ok ]
* Applying 279-vmblock-3.12.patch ... [ ok ]
* Applying 279-inode.patch ... [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/vmware-modules-279.2/work . |
Quote: | * Updating module dependencies for 3.12.13-gentoo-f1r31c3r-NV ... [ ok ]
* Adding module to moduledb.
>>> app-emulation/vmware-modules-279.2 merged.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
|
_________________ A WikI, A collection of mass misinformation based on opinion and manipulation by a deception of freedom.
If we know the truth, then we should be free from deception (John 8:42-47 )
Last edited by F1r31c3r on Fri May 23, 2014 1:39 am; edited 1 time in total |
|
Back to top |
|
|
F1r31c3r Tux's lil' helper
Joined: 31 Aug 2007 Posts: 107 Location: UK
|
Posted: Fri May 23, 2014 1:29 am Post subject: |
|
|
padoor wrote: | Code: | tux ramaswamy # modprobe vmmon
tux ramaswamy # modprobe vmnet
tux ramaswamy # modprobe vmci
tux ramaswamy # modprobe vmblock
modprobe: ERROR: could not insert 'vmblock': Unknown symbol in module, or unknown parameter (see dmesg)
tux ramaswamy # modprobe vsock
tux ramaswamy #
|
this is after i merged vmware-modules-279.2 for kernel 3.14.3-gentoo. |
You might be interested in this bug post here.
https://bugs.gentoo.org/show_bug.cgi?id=462666
Hope it helps or at least points you in the right direction to fix it. _________________ A WikI, A collection of mass misinformation based on opinion and manipulation by a deception of freedom.
If we know the truth, then we should be free from deception (John 8:42-47 ) |
|
Back to top |
|
|
vhristev n00b
Joined: 08 Jan 2014 Posts: 22
|
Posted: Thu Jun 26, 2014 9:47 pm Post subject: |
|
|
Hello ,
I can confirm there is a problem with Kernel 3.14.4
Here is how I fix it:
1. I put 2 patches in /etc/portage/patches/app-emulation/vmware-modules-279.2/
2. Patches names:
2.1 "279-linux-3.14.patch" > https://bugs.gentoo.org/show_bug.cgi?id=508204
2.2 "279-vmblock.patch" ( name from BUG "patch to get vmblock to modprobe" ) > [url]https://bugs.gentoo.org/show_bug.cgi?id=462666 [/url]
3. emerge -v vmware-modules
4. Load modules by hand ( modprobe vmmon , vmnet , vmblock ...etc )
5. Start vmware services ( i still got error )
Code: | [00:47]vhristev@hristev:~$sudo /etc/init.d/vmware start
* Starting VMware USB Arbitrator ... [ !! ]
* Starting VMware services ...
modprobe: ERROR: could not insert 'vsock': Required key not available [ !! ]
Failed to start Bridged networking on vmnet0
Subnet on vmnet1 is no longer available for usage, please run the network editor to reconfigure different subnet
Subnet on vmnet8 is no longer available for usage, please run the network editor to reconfigure different subnet
Failed to start some/all services [ !! ]
* ERROR: vmware failed to start
|
6. emerge -av vmware-workstation
7. Start vmware services
Code: | [00:62]vhristev@hristev:~$sudo /etc/init.d/vmware start
* Caching service dependencies ... [ ok ]
* Starting VMware USB Arbitrator ... [ !! ]
* Starting VMware services ... [ ok ]
Started Bridge networking on vmnet0
Enabled hostonly virtual adapter on vmnet1
Started DHCP service on vmnet1
Started NAT service on vmnet8
Enabled hostonly virtual adapter on vmnet8
Started DHCP service on vmnet8
Started all configured services on all networks [ ok ]
|
If you mess something with your ebuild you can:
1. rm -r /usr/portage/app-emulation/vmware-modules/
2. emerge --sync ( to get clean vmware-modules ) _________________ Being lazy means being smart |
|
Back to top |
|
|
archenroot Apprentice
Joined: 13 Dec 2011 Posts: 218 Location: Lake Macha, Czech republic
|
Posted: Mon Aug 04, 2014 6:31 pm Post subject: Kernel 3.15.6 working with vmware-modules279.2-r1 |
|
|
This is working with my kernel 3.15.6 from gentoo sources.
Code: |
layman -a jtriley
echo "=app-emulation/vmware-modules-279.2-r1 ~amd64" >> /etc/portage/package.accept_keywords
layman -S
emerge vmware-modules
|
_________________ Emperor wants to control outer space Yoda wants to explore inner space that's the fundamental difference between good and bad sides of the Force |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|