Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
app-emulation/vmware-modules-279.2::gentoo failed [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
padoor
Advocate
Advocate


Joined: 30 Dec 2005
Posts: 4185
Location: india

PostPosted: Sun Apr 20, 2014 3:29 pm    Post subject: app-emulation/vmware-modules-279.2::gentoo failed [solved] Reply with quote

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
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Sun Apr 20, 2014 7:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
padoor
Advocate
Advocate


Joined: 30 Dec 2005
Posts: 4185
Location: india

PostPosted: Mon Apr 21, 2014 3:47 am    Post subject: Reply with quote

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
View user's profile Send private message
padoor
Advocate
Advocate


Joined: 30 Dec 2005
Posts: 4185
Location: india

PostPosted: Sat Apr 26, 2014 2:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
cfgauss
l33t
l33t


Joined: 18 May 2005
Posts: 688
Location: USA

PostPosted: Sat Apr 26, 2014 5:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
padoor
Advocate
Advocate


Joined: 30 Dec 2005
Posts: 4185
Location: india

PostPosted: Tue Apr 29, 2014 1:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
Xamien
Tux's lil' helper
Tux's lil' helper


Joined: 08 Jun 2005
Posts: 88

PostPosted: Thu May 08, 2014 7:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
padoor
Advocate
Advocate


Joined: 30 Dec 2005
Posts: 4185
Location: india

PostPosted: Mon May 12, 2014 1:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
F1r31c3r
Tux's lil' helper
Tux's lil' helper


Joined: 31 Aug 2007
Posts: 107
Location: UK

PostPosted: Fri May 23, 2014 1:23 am    Post subject: 279.2 & 3.11. & 3.12.13 & 3.14. Reply with quote

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
View user's profile Send private message
F1r31c3r
Tux's lil' helper
Tux's lil' helper


Joined: 31 Aug 2007
Posts: 107
Location: UK

PostPosted: Fri May 23, 2014 1:29 am    Post subject: Reply with quote

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
View user's profile Send private message
vhristev
n00b
n00b


Joined: 08 Jan 2014
Posts: 22

PostPosted: Thu Jun 26, 2014 9:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
archenroot
Apprentice
Apprentice


Joined: 13 Dec 2011
Posts: 218
Location: Lake Macha, Czech republic

PostPosted: Mon Aug 04, 2014 6:31 pm    Post subject: Kernel 3.15.6 working with vmware-modules279.2-r1 Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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