First install - Parallels Version 15.1.2 Install Parallels Tools to RHEL 8.1-1 fails

Discussion in 'Linux Virtual Machine' started by SeanO4, Jan 20, 2020.

Tags:
  1. SeanO4

    SeanO4 Bit poster

    Messages:
    2
    Parallels Version 15.1.2 (47123) Install Parallels Tools to RHEL 8.1-1 fails

    Have also:
    dnf install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) make
    dnf install checkpolicy selinux-policy-devel make

    And recommended RHEL updates with reboot as of Jan 20.

    Critical error seems to be:
    CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c: In function 'prlfs_mapping_update':
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:46:43: error: implicit declaration of function 'radix_tree_exceptional_entry'; did you mean 'radix_tree_exception'? [-Werror=implicit-function-declaration]
    #define prlfs_page_cache_invalid_entry(x) radix_tree_exceptional_entry(x)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:66:7: note: in expansion of macro 'prlfs_page_cache_invalid_entry'
    if (prlfs_page_cache_invalid_entry(cur_page))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    Jan 20 entry in parallels-tools-install.log

    Mon Jan 20 12:54:25 EST 2020
    Start installation or upgrade of Guest Tools
    installer:%10.000000
    installer:%20.000000
    new version of parallels tools
    Installed Guest Tools were not found
    Register service to install new Guest Tools
    installer:%30.000000
    Perform installation into the /usr/lib/parallels-tools directory
    installer:%40.000000
    make: Entering directory '/usr/lib/parallels-tools/kmods'
    Will use compiler CC="cc".
    Compiler version "cc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4)"
    cd prl_eth/pvmnet && make CC=cc
    make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
    make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
    make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    CC [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
    LD [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.mod.o
    LD [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.ko
    make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
    cd prl_tg/Toolgate/Guest/Linux/prl_tg && make CC=cc
    make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
    1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
    2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
    3: 20200120
    4: 1.6.0
    Start compile prl_tg...
    make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg SRCROOT=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg CC=cc modules
    make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
    2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
    3: 20200120
    4: 1.6.0
    CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
    CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.o
    LD [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.o
    Building modules, stage 2.
    1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
    2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
    3: 20200120
    4: 1.6.0
    MODPOST 1 modules
    CC /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.mod.o
    LD [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko
    make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
    cp -f prl_tg/Toolgate/Guest/Linux/prl_tg/*.symvers prl_fs/SharedFolders/Guest/Linux/prl_fs ||:
    cd prl_fs/SharedFolders/Guest/Linux/prl_fs && make CC=cc
    make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
    make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs CC=cc
    make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.o
    CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o
    CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c: In function 'prlfs_mapping_update':
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:46:43: error: implicit declaration of function 'radix_tree_exceptional_entry'; did you mean 'radix_tree_exception'? [-Werror=implicit-function-declaration]
    #define prlfs_page_cache_invalid_entry(x) radix_tree_exceptional_entry(x)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:66:7: note: in expansion of macro 'prlfs_page_cache_invalid_entry'
    if (prlfs_page_cache_invalid_entry(cur_page))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors
    make[3]: *** [scripts/Makefile.build:313: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o] Error 1
    make[2]: *** [Makefile:1547: _module_/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
    make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
    make[1]: *** [Makefile:36: all] Error 2
    make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
    make: *** [Makefile.kmods:31: compile] Error 2
    make: Leaving directory '/usr/lib/parallels-tools/kmods'
    Error: could not build kernel modules
    Error during report about failed installation of parallels tools.
    Error: failed to install Parallels Guest Tools!
    Trying to restore previous Parallels Guest Tools installation...
    [linuxadmin@localhost log]$
     
  2. RickW5

    RickW5

    Messages:
    2
    I have exactly the same problem under Centos 8 with kernel 4.18.0-147.5.1.el8_1.x86_64

    if anyone has a solution, please let me know, thanks !
     
  3. SeanO4

    SeanO4 Bit poster

    Messages:
    2
    Briefly:
    Update two files in prl_mod.tar.gz, see Parallels forum post

    "Parallels Tools 15.1.2.47123 Failed to Install on RHEL 8.1"
    https://forum.parallels.com/threads...ed-to-install-on-rhel-8-1.348760/#post-861686



    Details:

    Also see the two Parallels forum articles:
    How to update kernel-devel to install Parallels Tools
    How to install Parallels Tools in Linux virtual machine

    Be sure to update everything in the above second and third articles before proceeding.

    The second one explains how to leave the install ISO mounted at:/media/cdrom/

    I used a combination of CLI and the GUI Files application where I have (using Files).


    You have to copy the installation directory tree some place to edit two files.I called mine ParallelesFixed in my Home drive.

    mkdir ParallelsFixed


    Then copy the tree, keeping attributes.

    cp -a -r /media/cdrom/* ParallelsFixed


    Under ParallelsFixed, change permission on directory ParallelsFixed/kmods so that the Owner ("Me") can "create and delete files" (using Files). Navigate to the kmods folder and open the prl_mod.tar.gz file through a right click and Other Application selecting Archive Manager (using Files).

    Archive Manager opens it's own navigation window where, navigate into directory prl_fs/SharedFolders/Guest/Linux/prl_fs


    Right click on file.c and open into the editor. As the first article describes,

    Replace line 42 in <....>/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)

    with

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) || defined(PRLFS_RHEL_8_1_GE)


    Save the file and exit.

    Right click on prlfs.h and open into the editor. Again, as the first article describes,

    The following three lines need to [be] inserted right after the line #47:

    #if RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8, 1)
    #define PRLFS_RHEL_8_1_GE
    #endif


    Save the file and exit.

    Exit Archive Manager, which should also save the changed files into prl_mod.tar.gz

    From the third article, with ParallelesFixed as the current directory, use
    su
    ./install


    The installation should now succeed, but won't be running until
    reboot
     

Share This Page