Parallels Tools build fails under new kernel 4.11.3

Discussion in 'Linux Guest OS Discussion' started by Mark Fine, Jun 1, 2017.

  1. Mark Fine

    Mark Fine Bit Poster

    Messages:
    68
    Culprit is a prlfs_getattr in prl_fs/inode.c on lines 762, 783, and 800:

    CC [M] /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:762:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
    .getattr = prlfs_getattr,
    ^~~~~~~~~~~~~
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:762:20: note: (near initialization for 'prlfs_file_iops.getattr')
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:783:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
    .getattr = prlfs_getattr,
    ^~~~~~~~~~~~~
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:783:20: note: (near initialization for 'prlfs_dir_iops.getattr')
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:800:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
    .getattr = prlfs_getattr,
    ^~~~~~~~~~~~~
    /var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:800:14: note: (near initialization for 'prlfs_symlink_iops.getattr')
    cc1: some warnings being treated as errors
    scripts/Makefile.build:294: recipe for target '/var/lib/dkms/parallels-tools/12.2.0.41591/build/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o' failed

    prlfs_getattr in Tools is declared as:
    static int prlfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
    getattr in 4.10.17 was declared as:
    int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
    (an exact match)

    new getattr in 4.11.3 is declared as:
    int (*getattr) (const struct path *, struct kstat *, u32, unsigned int);
    so, doesn't seem like this is a simple fix.

    Happy Thursday.
     
    Last edited: Jun 1, 2017
  2. rkulikov

    rkulikov Parallels Developers

    Messages:
    265
    Yep. Unfortunately 12.2.0 version supports Linux guest kernels up to 4.10.
     
  3. Christian_V_R_Lopes

    Christian_V_R_Lopes Bit Poster

    Messages:
    4
    Hi, I am a use of version 12.2.0 pro . I am also affected by this problem , please solve it as soon as possbile , I only use Parallels because I believe you guys are quick on this support .
     
  4. AlbertoP2

    AlbertoP2 Bit Poster

    Messages:
    7
    It's anoying this too-frequent problems with Fedora updates. I know Fedora and Linux evolves too quickly, but I think this is something a virtual platform should be aware and collaborate more deeply with OS providers. Also for me, it takes long time for solving this issues. Any clue about how long Parallels will take to release a patched version?
     
  5. Mark Fine

    Mark Fine Bit Poster

    Messages:
    68
    Works now with Desktop 12.2.1 update.
    Removed the kernel exclude from dnf.cnf and even upgraded to 4.11.7... that works too. Looks like we're back in business.

    Thanks guys!
     
    Last edited: Jul 1, 2017
  6. rkulikov

    rkulikov Parallels Developers

    Messages:
    265
    Here we are. In Parallels Desktop 12.2.1 we support Linux kernels up to brand new 4.12.
     
    Christian_V_R_Lopes likes this.
  7. Mark Fine

    Mark Fine Bit Poster

    Messages:
    68
    Thanks, @rkulikov
    (I'm not ready for F26, lol...)
     
  8. ChristianL3

    ChristianL3 Bit Poster

    Messages:
    1
    It seems to still fail for me. I have parallels 12.2.1 and a vm with debian linux which I just upgraded to kernel 4.12, and I get this when I try to install the tools:

    CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
    In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:38:0:
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h: In function 'wait_for_completion_interruptible':
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:137:8: error: implicit declaration of function 'signal_pending' [-Werror=implicit-function-declaration]
    if (signal_pending(current)) {
    ^~~~~~~~~~~~~~
    cc1: some warnings being treated as errors
    /usr/src/linux-headers-4.12.0-1-common/scripts/Makefile.build:307: recipe for target '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o' failed
    make[5]: *** [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o] Error 1
    /usr/src/linux-headers-4.12.0-1-common/Makefile:1532: recipe for target '_module_/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg' failed
    make[4]: *** [_module_/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
     

    Attached Files:

  9. Mark Fine

    Mark Fine Bit Poster

    Messages:
    68
    Interesting. Builds under Fedora 26 with kernel 4.12.9 just fine. How can so many different distributions be so... different.
     
  10. rkulikov

    rkulikov Parallels Developers

    Messages:
    265

Share This Page