• Kirill Smelkov's avatar
    X Fix mlock2 build on Debian 8 · c2423296
    Kirill Smelkov authored
    @rporchetto reports build failure on Debian 8 / Linux 3.16
    
        [2021-07-30 15:40:35,677] INFO     gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/srv/slapgrid/slappart19/srv/runner/shared/python2.7/3b7a074d1ded44046871b13502341482/include/python2.7 -c wcfs/internal/mm.c -o build/temp.linux-x86_64-2.7/wcfs/internal/mm.o
        [2021-07-30 15:40:35,677] INFO     wcfs/internal/mm.c: In function 'mlock2':
        [2021-07-30 15:40:35,677] INFO     wcfs/internal/mm.c:618:28: error: 'SYS_mlock2' undeclared (first use in this function); did you mean 'SYS_mlock'?
        [2021-07-30 15:40:35,677] INFO              long err = syscall(SYS_mlock2, addr, len, flags);
        [2021-07-30 15:40:35,677] INFO                                 ^~~~~~~~~~
        [2021-07-30 15:40:35,677] INFO                                 SYS_mlock
    
    Fix the build.
    
    NOTE mlock2 was added in Linux 4.3.
    
    Similarly MCL_ONFAULT is not provided on that old glibc 2.19:
    
        [2021-07-30 15:40:35,677] INFO     wcfs/internal/mm.c:986:55: error: 'MCL_ONFAULT' undeclared here (not in a function); did you mean 'MLOCK_ONFAULT'?
        [2021-07-30 15:40:35,677] INFO        __pyx_e_8wendelin_4wcfs_8internal_2mm_MCL_ONFAULT = MCL_ONFAULT,
        [2021-07-30 15:40:35,678] INFO                                                            ^~~~~~~~~~~
        [2021-07-30 15:40:35,678] INFO                                                            MLOCK_ONFAULT
    
    -> Comment MCL_ONFAULT for now since we do not actually use it anywhere yet.
    c2423296
mm.pyx 6.9 KB