Results 1 to 10 of 10

Thread: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

  1. #1
    Junior Member
    Join Date
    Feb 2017
    Posts
    1

    Question Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    I am a little new to Linux and not completely up to speed. Ive tried googling this to no avail. So far it seems that the only answer seems to be to reinstall my system and keep the kernel at 4.4.
    If anyone has any suggestions or would like to view the output of the make or config logs let me know and I'll be happy to upload the requested info.
    I'm running Yakkety with kernel 4.8.0-37 on an older Intel NUC with an i5 and I'd rather not reinstall right now.
    TIA.

  2. #2
    Junior Member
    Join Date
    Mar 2017
    Posts
    1

    AW: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Did you find a solution? I have the same problem. UFSD 9.4Pro does not install with new "virgin" Ubuntu 16.04.2LTS installation

  3. #3
    Senior Member
    Join Date
    Jun 2016
    Posts
    142

    Re: AW: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Hi guys! Please create a support ticket via MyParagon account (https://my.paragon-software.com/#/login) with your issue and ask for a new build with 4.8 support. Cheers!

  4. #4
    Junior Member
    Join Date
    Apr 2017
    Posts
    2

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    I can not login on my.paragon-software.com - here is the error I get:
    Code:
    Paragon-147-FRE_NTFS_Linux_9.4_Express$ make driver
    make -C "/lib/modules/4.4.0-72-generic/build" SUBDIRS="/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express" O="/lib/modules/4.4.0-72-generic/build" V=1 modules 2>&1
    make[1]: Verzeichnis „/usr/src/linux-headers-4.4.0-72-generic“ wird betreten
    make -C /usr/src/linux-headers-4.4.0-72-generic KBUILD_SRC=/usr/src/linux-headers-4.4.0-72-generic \
    -f /usr/src/linux-headers-4.4.0-72-generic/Makefile modules
    make[2]: Verzeichnis „/usr/src/linux-headers-4.4.0-72-generic“ wird betreten
    test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
    echo >&2;                                                       \
    echo >&2 "  ERROR: Kernel configuration is invalid.";           \
    echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
    echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
    echo >&2 ;                                                      \
    /bin/false)
    mkdir -p /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/.tmp_versions ; rm -f /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/.tmp_versions/*
    make -f /usr/src/linux-headers-4.4.0-72-generic/scripts/Makefile.build obj=/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express
      gcc -Wp,-MD,/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/.ufsdjnl.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/5/include -I/usr/src/linux-headers-lbm- -I/usr/src/linux-headers-4.4.0-72-generic/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated  -I/usr/src/linux-headers-4.4.0-72-generic/include -Iinclude -I/usr/src/linux-headers-4.4.0-72-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-4.4.0-72-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-4.4.0-72-generic/include/linux/kconfig.h -Iubuntu/include -I/usr/src/linux-headers-4.4.0-72-generic/ubuntu/include   -I/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express -D__KERNEL__ -fno-pie -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-pie -no-pie -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -include /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/fs_conf.h -DUFSD_DEVICE=ufsd -DUFSD_USE_ASM_DIV64 -DNDEBUG -g0 -include drv_config.h -DUFSD_BUILD_HOST=\"`hostname`\" -Wall -Werror -Wno-unknown-pragmas -Wno-date-time  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ufsdjnl)"  -D"KBUILD_MODNAME=KBUILD_STR(jnl)" -c -o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/.tmp_ufsdjnl.o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdjnl.c
      if [ "-pg" = "-pg" ]; then if [ /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/ufsdjnl.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/ufsdjnl.o"; fi; fi;
      ld -m elf_x86_64 -s -O2 -d -X   -r -o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/jnl.o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/ufsdjnl.o 
      gcc -Wp,-MD,/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/.ufsdvfs.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/5/include -I/usr/src/linux-headers-lbm- -I/usr/src/linux-headers-4.4.0-72-generic/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated  -I/usr/src/linux-headers-4.4.0-72-generic/include -Iinclude -I/usr/src/linux-headers-4.4.0-72-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-4.4.0-72-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-4.4.0-72-generic/include/linux/kconfig.h -Iubuntu/include -I/usr/src/linux-headers-4.4.0-72-generic/ubuntu/include   -I/Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express -D__KERNEL__ -fno-pie -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-pie -no-pie -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -include /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/fs_conf.h -DUFSD_DEVICE=ufsd -DUFSD_USE_ASM_DIV64 -DNDEBUG -g0 -include drv_config.h -DUFSD_BUILD_HOST=\"`hostname`\" -Wall -Werror -Wno-unknown-pragmas -Wno-date-time  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ufsdvfs)"  -D"KBUILD_MODNAME=KBUILD_STR(ufsd)" -c -o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express/ifslinux/.tmp_ufsdvfs.o /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c
    /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c:118:9: note: #pragma message: PAGE_SHIFT=12
     #pragma message "PAGE_SHIFT=" __stringify(PAGE_SHIFT)
             ^
    /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c: In function ‘ufsd_xattr_set_acl’:
    /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c:5451:30: error: passing argument 1 of ‘posix_acl_valid’ from incompatible pointer type [-Werror=incompatible-pointer-types]
           err = posix_acl_valid( acl );
                                  ^
    In file included from /usr/src/linux-headers-4.4.0-72-generic/include/linux/posix_acl_xattr.h:12:0,
                     from /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c:143:
    /usr/src/linux-headers-4.4.0-72-generic/include/linux/posix_acl.h:84:12: note: expected ‘struct user_namespace *’ but argument is of type ‘struct posix_acl *’
     extern int posix_acl_valid(struct user_namespace *, const struct posix_acl *);
                ^
    /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c:5451:13: error: too few arguments to function ‘posix_acl_valid’
           err = posix_acl_valid( acl );
                 ^
    In file included from /usr/src/linux-headers-4.4.0-72-generic/include/linux/posix_acl_xattr.h:12:0,
                     from /Daten/Bernd/ntfs/Paragon-147-FRE_NTFS_Linux_9.4_Express//ifslinux/ufsdvfs.c:143:
    /usr/src/linux-headers-4.4.0-72-generic/include/linux/posix_acl.h:84:12: note: declared here
     extern int posix_acl_valid(struct user_namespace *, const struct posix_acl *);
                ^
    cc1: all warnings being treated as errors

    It is here that someone suggests that there have been a posix function change in
    Code:
    posix_acl_valid
    which seems to lead to the error as far as I can understand.

  5. #5
    Member
    Join Date
    Jul 2016
    Posts
    83

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Kernel 4.8
    and
    linux-headers-4.4.0-72-generic
    ? Just a guess.

  6. #6
    Junior Member
    Join Date
    Apr 2017
    Posts
    2

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Ups, I tried to be clever not to open another thread, but actually I am not on kernel 4.8 as stated in the topic of this thread:
    Code:
    uname -r 
    4.4.0-72-generic

  7. #7
    Senior Member
    Join Date
    Jun 2016
    Posts
    142

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Hi,
    The problem is that you are trying to install on kernel 4.8. a version of the Paragon driver, which supports kernels only up to 4.4. That`s not a good idea.
    Here are possible solutions:
    1) To purchase the Paragon driver Pro version and get for free a driver, supporting up to 4.10. kernel. That`s because the Express version being free does not suppose any upgrade, while the Pro version supposes a free upgrade within a year after the purchase.
    2) To downgrade Ubuntu to kernel 4.4

  8. #8
    Junior Member
    Join Date
    Feb 2017
    Posts
    4

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Hi Folks,

    Same here. Running Linux MINT 18.1 and ran the command; uname -r and get 4.4.0-53-generic. I purchased the Professional Version of this product, so I do not understand when I ran the install.sh script as root...it sort of did nothing I could see. Perhaps it is working, but how would I tell? Where should I look to see the driver and where does one enter the licensing codes I received in my email? Do I need those codes?

    Want to enter a support ticket, but the site is down due to maintenance.

    Chris

  9. #9
    Junior Member
    Join Date
    Aug 2017
    Posts
    2

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Hi

    There was a change in function posix_acl_valid() where the new implementation required additional argument to be supplied
    old:

  10. #10
    Junior Member
    Join Date
    Aug 2017
    Posts
    2

    Re: Can't compile UFSD 9.4 Pro with Ubuntu Kernel 4.8. Suggestions welcome.

    Hi

    There was a change in function posix_acl_valid() where the new implementation required additional argument to be supplied
    old:
    Code:
     posix_acl_valid( posix_acl )
    new:
    Code:
    posix_acl_valid( user_namespace, posix_acl )
    so in order to fix the problem the file ifslinux/ufsdvfs.c needs some changes in function ufsd_xattr_set_acl() starting at line line: 5421
    The first argument is not supplied in line 5451
    Code:
    err = posix_acl_valid( acl );
    In order to fix that I "borrowed" user_namespace definition from another place in the file (line 4692).

    File should contain this updated function.
    Code:
    ///////////////////////////////////////////////////////////
    // ufsd_xattr_set_acl
    //
    // Helper function for ufsd_xattr_acl_access_set/ufsd_xattr_acl_default_set
    ///////////////////////////////////////////////////////////
    static int
    ufsd_xattr_set_acl(
        IN struct inode *i,
        IN int          type,
        IN const void   *value,
        IN size_t       size
        )
    {
      #include <linux/user_namespace.h>
        // wait for 'init_user_ns' to be non G.P.L.
        struct user_namespace user_ns = {
          .uid_map    = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
          .gid_map    = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
          .projid_map = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
      #if defined HAVE_STRUCT_USER_NAMESPACE_COUNT && HAVE_STRUCT_USER_NAMESPACE_COUNT
          .count = ATOMIC_INIT(3),
      #else
          .kref = { .refcount = ATOMIC_INIT(3), },
      #endif
          .owner = GLOBAL_ROOT_UID,
          .group = GLOBAL_ROOT_GID,
      #if defined HAVE_STRUCT_USER_NAMESPACE_PROC_INUM && HAVE_STRUCT_USER_NAMESPACE_PROC_INUM
          .proc_inum = PROC_USER_INIT_INO,
      #endif
        };
      struct posix_acl *acl;
      int err;
    
      if ( !UFSD_SB( i->i_sb )->options.acl )
        return -EOPNOTSUPP;
    
      if ( !inode_owner_or_capable( i ) )
        return -EPERM;
    
      if ( NULL == value )
        acl = NULL;
      else {
        acl = Posix_acl_from_xattr( value, size );
        if ( IS_ERR( acl ) )
          return PTR_ERR(acl);
    
        if ( NULL != acl ) {
          err = posix_acl_valid( &user_ns, acl );
          if ( err )
            goto release_and_out;
        }
      }
    
      err = ufsd_set_acl( i, acl, type );
    
    release_and_out:
      if ( NULL != acl )
        ufsd_posix_acl_release( acl );
      return err;
    }
    Main changes are:
    1. Added user_ns structure:
    Code:
      #include <linux/user_namespace.h>
        // wait for 'init_user_ns' to be non G.P.L.
        struct user_namespace user_ns = {
          .uid_map    = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
          .gid_map    = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
          .projid_map = { .nr_extents = 1, .extent[0] = { .count = ~0u, }, },
      #if defined HAVE_STRUCT_USER_NAMESPACE_COUNT && HAVE_STRUCT_USER_NAMESPACE_COUNT
          .count = ATOMIC_INIT(3),
      #else
          .kref = { .refcount = ATOMIC_INIT(3), },
      #endif
          .owner = GLOBAL_ROOT_UID,
          .group = GLOBAL_ROOT_GID,
      #if defined HAVE_STRUCT_USER_NAMESPACE_PROC_INUM && HAVE_STRUCT_USER_NAMESPACE_PROC_INUM
          .proc_inum = PROC_USER_INIT_INO,
      #endif
        };
    and changed err = posix_acl_valid( acl ); to err = posix_acl_valid( &user_ns, acl );

    Hope that helps.

    p4xel.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •