Re: membarrier selftest issue

From: Pranith Kumar
Date: Wed Jun 17 2015 - 00:57:04 EST


Hi Mathieu,

On Mon, Jun 15, 2015 at 11:31 AM, Mathieu Desnoyers
<mathieu.desnoyers@xxxxxxxxxxxx> wrote:
> Hi,
>
> The updated membarrier tree:
> https://github.com/compudj/linux-dev
> branch: sys-membarrier-volatile
>
> has an issue building selftests (make -C tools/testing/selftests)
>
> It appears that including linux/membarrier.h from those userspace
> tests now fails (as of 4.1-rc8). Of course, my system does not have
> the updated userspace headers installed. What is the right course
> of action there ?
>

This somehow is working for me. Did you install the kernel? I am on
debian and I had to install kernel+headers+libc for this to work. pmu
tests did not work due to missing headers but membarrier and memfd did
work.

pranith@macmini:~/linux$ make -C tools/testing/selftests
make: Entering directory '/home/pranith/linux/tools/testing/selftests'
for TARGET in breakpoints cpu-hotplug efivarfs exec firmware ftrace
kcmp membarrier memfd memory-hotplug mount mqueue net powerpc ptrace
size sysctl timers user vm x86; do \
make -C $TARGET; \
done;
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/breakpoints'
echo "Not an x86 target, can't build breakpoints selftests"
Not an x86 target, can't build breakpoints selftests
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/breakpoints'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/cpu-hotplug'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/cpu-hotplug'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/efivarfs'
gcc -Wall open-unlink.c -o open-unlink
gcc -Wall create-read.c -o create-read
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/efivarfs'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/exec'
gcc -Wall -o execveat execveat.c
ln -s -f execveat execveat.symlink
cp execveat execveat.denatured
chmod -x execveat.denatured
echo '#!/bin/sh' > script
echo 'exit $*' >> script
chmod +x script
mkdir -p subdir
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/exec'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/firmware'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/firmware'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/ftrace'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/ftrace'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/kcmp'
gcc -I../../../../usr/include/ kcmp_test.c -o kcmp_test
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/kcmp'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/membarrier'
gcc -g -I../../../../usr/include/ membarrier_test.c -o membarrier_test
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/membarrier'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/memfd'
gcc -D_FILE_OFFSET_BITS=64 -I../../../../include/uapi/
-I../../../../include/ -I../../../../usr/include/ memfd_test.c -o
memfd_test
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/memfd'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/memory-hotplug'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/home/pranith/linux/tools/testing/selftests/memory-hotplug'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/mount'
gcc -Wall -O2 unprivileged-remount-test.c -o unprivileged-remount-test
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/mount'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/mqueue'
gcc -O2 mq_open_tests.c -o mq_open_tests -lrt
gcc -O2 -o mq_perf_tests mq_perf_tests.c -lrt -lpthread -lpopt
mq_perf_tests.c:39:18: fatal error: popt.h: No such file or directory
#include <popt.h>
^
compilation terminated.
Makefile:4: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/mqueue'
make[1]: Entering directory '/home/pranith/linux/tools/testing/selftests/net'
gcc -Wall -O2 -g -I../../../../usr/include/ -o socket socket.c
gcc -Wall -O2 -g -I../../../../usr/include/ -o psock_fanout psock_fanout.c
gcc -Wall -O2 -g -I../../../../usr/include/ -o psock_tpacket psock_tpacket.c
make[1]: Leaving directory '/home/pranith/linux/tools/testing/selftests/net'
make[1]: Entering directory
'/home/pranith/linux/tools/testing/selftests/powerpc'
make -k -C pmu all
make[2]: Entering directory
'/home/pranith/linux/tools/testing/selftests/powerpc/pmu'
gcc -Wall -O2 -flto -Wall -Werror
-DGIT_VERSION='"v4.1-rc8-3-g9ab055c-dirty"'
-I/home/pranith/linux/tools/testing/selftests/powerpc -m64 -o
count_instructions loop.S count_instructions.c ../harness.c event.c
lib.c
In file included from /usr/include/stdio.h:27:0,

--
Pranith
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/