Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

630
Views
No se puede compilar el programa bpf de muestra, falta bpf/bpf.h

Estoy tratando de compilar el programa bpf de muestra en el código fuente de Linux. Así que descargué el código fuente actual del kernel e ingresé a la carpeta samples/bpf

 apt source linux cd linux-*/samples/bpf

Luego traté de compilar un programa de muestra con gcc:

 # gcc sock_example.c sock_example.c:29:10: fatal error: bpf/bpf.h: No such file or directory 29 | #include <bpf/bpf.h> | ^~~~~~~~~~~ compilation terminated.

Y no puedo encontrar bpf/bpf.h con apt-file

 # apt-file find bpf/bpf.h (no output)

¿Que está mal?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Necesitas instalar libbpf :

 git clone --depth 1 https://github.com/libbpf/libbpf cd src sudo make install
over 4 years ago · Santiago Trujillo Report

0

Las muestras de Linux eBPF vienen con un Makefile bastante largo. Maneja muchos casos y se integra bien con el flujo de trabajo de construcción del kernel, pero hace que sea más complicado construir las muestras fuera del árbol del kernel.

Por ejemplo, este Makefile agrega una serie de directorios incluidos, como TPROGS_CFLAGS += -I$(srctree)/tools/lib/ , lo que significa que bpf/bpf.h no se obtendrá de las bibliotecas de su sistema operativo sino de tools/lib/ bajo su repositorio de kernel.

Aquí hay algunas opciones que puede considerar para compilar su programa:

  • Ajuste el Makefile existente para usarlo para crear sus propios programas, por ejemplo, agregando su código de kernel al objetivo tprogs-y .
  • Instale libbpf desde el repositorio del kernel ( sudo make -C tools/lib/bpf install ) o desde su espejo GitHub . Esto debería instalar los encabezados, y gcc debería poder encontrarlos.
  • Ajuste su opción de compilación para decirle a gcc dónde buscar el encabezado ( gcc -I <path/to/linux>/tools/lib ).
  • (Ajuste la ruta de inclusión en #include <bpf/bpf.h> para que apunte a su biblioteca).
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!