This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

talpa not compiling on opensuse 13.1

I updated opensuse 13.1 (64bit) and run the command to recompile talpa and got an error message saying it could not compile talpa. This worked after I updated sophos anti-virus for linux  (the first time) but will not work now (will not compile them). There was a kernel update among the updates, I had a look and the post in the following link

https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/4/t/11261

And my log file looks exactlly the same. How do I fix this??



This thread was automatically locked due to age.
Parents
  • Unfortunately OpenSuSE isn't a supported platform, so talpa has to compile locally, it's possible SuSE have updated their kernel in a way which talpa doesn't understand.

    The first step is that you can try autodeploy.sh from https://gist.github.com/paperclip/7892031 to use the development version of talpa to see if that works.

    If that fails, you could post the failed configure log from talpa_select.log so we can see which kernel it is compiling against.

    Thanks.

  • I have copy & pasted the output of talpa_select.log below for you;

    [Talpa-select]

    Copyright (c) 1989-2016 Sophos Limited. All rights reserved.

    2016-03-27 00:26:55 ACDT /opt/sophos-av/engine/_/talpa_select load --hook talpa_vfshook --wait 10

    Linux distribution: [suse]

    Product: [openSUSE 13.1 (Bottle) (x86_64)]

    Kernel: [3.12.53-40-desktop]

    Multiprocessor support enabled.

    Searching for source pack...

    Verifying source pack contents...

    Searching for suitable binary pack...

    No suitable binary pack available.

    Preparing for build...

    Extracting sources...

    Configuring build of version 1.20.2...

    configuring checking for a BSD-compatible install... /usr/bin/install -c

    checking whether build environment is sane... yes

    checking for gawk... gawk

    checking whether make sets $(MAKE)... yes

    checking how to create a ustar tar archive... gnutar

    checking whether to enable maintainer-specific portions of Makefiles... no

    checking for gcc... gcc

    checking for C compiler default output file name... a.out

    checking whether the C compiler works... yes

    checking whether we are cross compiling... no

    checking for suffix of executables...

    checking for suffix of object files... o

    checking whether we are using the GNU C compiler... yes

    checking whether gcc accepts -g... yes

    checking for gcc option to accept ANSI C... none needed

    checking for style of include used by make... GNU

    checking dependency style of gcc... none

    checking whether gcc and cc understand -c and -o together... yes

    checking for ld... ld

    checking for egrep... grep -E

    checking whether ln -s works... yes

    checking for cat... /usr/bin/cat

    checking for cut... /usr/bin/cut

    checking for sed... /usr/bin/sed

    checking for uname... /usr/bin/uname

    checking for rm... /usr/bin/rm

    checking for xargs... /usr/bin/xargs

    checking for Talpa version... 1.20.2

    checking for operating system... Linux

    checking for kernel headers layout... /lib/modules/3.12.53-40-desktop/build/include:/lib/modules/3.12.53-40-desktop/build/arch/x86/include/generated:/lib/modules/3.12.53-40-desktop/source/include:/lib/modules/3.12.53-40-desktop/source/arch/x86/include:/lib/modules/3.12.53-40-desktop/build/include/generated/uapi

    checking for linux/version.h... yes

    checking for linux/magic.h... no - /lib/modules/3.12.53-40-desktop/build/include/generated/uapi

    checking for uapi/linux/magic.h... yes - /lib/modules/3.12.53-40-desktop/source/include

    checking for linux/uidgid.h... for uidgid strict type checking header

    checking for linux/compiler.h... yes - /lib/modules/3.12.53-40-desktop/source/include

    checking for uapi/asm/unistd.h... yes - /lib/modules/3.12.53-40-desktop/source/arch/x86/include

    checking for asm/unistd_64_x32.h... yes - /lib/modules/3.12.53-40-desktop/build/arch/x86/include/generated

    checking for kernel configuration... done

    checking for compilation environment... ok

    checking for kernel architecture... x86_64

    checking for kernel version code... 199733

    checking for kernel version string... 3.12.53-40-desktop

    checking for linux/sched.h... yes

    checking for unused task flag... 0x1

    checking for System.map... /boot/System.map-3.12.53-40-desktop

    checking for printk address... 0xffffffff815e3742

    checking for do_truncate address... 0xffffffff81199a50

    checking for linux/fs.h... yes

    checking for do_truncate type... configure: error: unknown

    Traceback (most recent call last):

    File "talpa_select.py", line 2324, in _action

    File "talpa_select.py", line 1217, in load

    File "talpa_select.py", line 987, in select

    File "talpa_select.py", line 1842, in select

    File "talpa_select.py", line 1935, in build

    File "talpa_select.py", line 2065, in __try_build

    File "talpa_select.py", line 1928, in checkConfigureErrors

    SelectException: exc-configure-failed-freeversion

  • Yes, that sounds like SuSE have changed do_truncate in a way Talpa 1.20.2 doesn't understand.

    I'd suggest trying autodeploy.sh so see if latest Talpa handles it any better.

  • I ran the autodeploy.sh script and got the following error message:

    ./autodeploy.sh: line 45: git: command not found
    Unable to clone git repository

Reply Children
  • You need to install: git autoconf automake gcc make and kernel headers, so that you can try and compile Talpa locally for the source checkout.

    You should already have gcc make and kernel headers, otherwise the previous compilation would have failed earlier.

  • I have installed git, but now I get the following error;

    fatal: destination path '.' already exists and is not an empty directory.
    Unable to clone git repository

    Do I need to put a path to a empty folder?? If so, how do I specify that to autodeploy.sh??

  • Yes it needs a non-existent or empty directory.

    Either run autodeploy.sh in an empty directory, or give it an empty or non-existent directory as the first argument on the command-line when running autodeploy.sh

  • I run it in a empty directory but it has still failed. It looks like the same error as before,  have pasted the output of the log below;

    [Talpa-select]
    Copyright (c) 1989-2016 Sophos Limited. All rights reserved.
    2016-05-04 22:53:58 ACST /opt/sophos-av/engine/_/talpa_select select
    Linux distribution: [suse]
    Product: [openSUSE 13.1 (Bottle) (x86_64)]
    Kernel: [3.12.57-44-desktop]
    Multiprocessor support enabled.
    Searching for source pack...
    Verifying source pack contents...
    Searching for suitable binary pack...
    No suitable binary pack available.
    Preparing for build...
    Extracting sources...
    Configuring build of version 0.9.95...
    configuring configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    /opt/sophos-av/talpa/build/talpa-0.9.95/config/missing: Unknown `--is-lightweight' option
    Try `/opt/sophos-av/talpa/build/talpa-0.9.95/config/missing --help' for more information
    configure: WARNING: 'missing' script is too old or missing
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether UID '0' is supported by ustar format... yes
    checking whether GID '0' is supported by ustar format... yes
    checking how to create a ustar tar archive... gnutar
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... none
    checking whether gcc and cc understand -c and -o together... yes
    checking for ld... ld
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking whether ln -s works... yes
    checking for cat... /usr/bin/cat
    checking for cut... /usr/bin/cut
    checking for sed... /usr/bin/sed
    checking for uname... /usr/bin/uname
    checking for rm... /usr/bin/rm
    checking for xargs... /usr/bin/xargs
    checking for Talpa version... 0.9.95
    checking for operating system... Linux
    checking for kernel headers layout... /lib/modules/3.12.57-44-desktop/build/include:/lib/modules/3.12.57-44-desktop/build/arch/x86/include/generated:/lib/modules/3.12.57-44-desktop/source/include:/lib/modules/3.12.57-44-desktop/source/arch/x86/include:/lib/modules/3.12.57-44-desktop/build/include/generated/uapi
    checking for linux/version.h... yes
    checking for linux/magic.h... no - /lib/modules/3.12.57-44-desktop/build/include/generated/uapi
    checking for uapi/linux/magic.h... yes - /lib/modules/3.12.57-44-desktop/source/include
    checking for linux/uidgid.h... for uidgid strict type checking header
    checking for linux/compiler.h... yes - /lib/modules/3.12.57-44-desktop/source/include
    checking for uapi/asm/unistd.h... yes - /lib/modules/3.12.57-44-desktop/source/arch/x86/include
    checking for asm/unistd_64_x32.h... yes - /lib/modules/3.12.57-44-desktop/build/arch/x86/include/generated
    checking for kernel configuration... done
    checking for compilation environment... ok
    checking for kernel architecture... x86_64
    checking for kernel version code... 199737
    checking for kernel version string... 3.12.57-44-desktop
    checking for linux/sched.h... yes
    checking for unused task flag... 0x1
    checking for System.map... /boot/System.map-3.12.57-44-desktop
    checking for printk address... 0xffffffff815e7cc8
    checking for do_truncate address... 0xffffffff8119b320
    checking for linux/fs.h... yes
    checking for do_truncate type... configure: error: unknown

    Traceback (most recent call last):
      File "talpa_select.py", line 2324, in _action
      File "talpa_select.py", line 987, in select
      File "talpa_select.py", line 1842, in select
      File "talpa_select.py", line 1935, in build
      File "talpa_select.py", line 2065, in __try_build
      File "talpa_select.py", line 1928, in checkConfigureErrors
    SelectException: exc-configure-failed-freeversion

  • I'm afraid that means that Talpa won't support your kernel without code changes. You'll have to use fanotify in order to get on-access scanning.