intel / iotg_tsn_ref_sw

IOTG Time-Sensitive Networking Reference Software
BSD 3-Clause "New" or "Revised" License
141 stars 68 forks source link

./txrx-tsn: error while loading shared libraries: libbpf.so.0: cannot open shar #25

Open assistof opened 3 years ago

assistof commented 3 years ago

Hello how are you?

I would like to know if someone can help me with a problem I have been having to run the last two IOTG applications (AF_PACKET & AF_XDP socket-based application and OPCUA-SERVER - AF_PACKET & AF_XDP OPCUA-based application. Specifically, both use the binary . /txrx-tsn, which is causing the problem.

First of all, I would like to indicate that I have installed and resolved all dependencies indicated by you in the README.

Custom linux kernel headers Custom linux-libc-headers Custom libopen62541-iotg Custom libbpf libelf libjson-c For run-time:

Custom linux kernel shell tools including awk/sed iproute2-ss200127 linuxptp v3.0 Python 3.8.2 gnuplot 5.2 IceWM - Any GUI/window manager can be used, required to display graphs.

All are up and running.

The problem log. root@net1:/home/mirc/iotg_tsn_ref_sw# ./run.sh i225 enp2s0 vs1a run Run.sh selected: vs1a './afpkt-txtstamps.txt' -> '/tmp/afpkt-txtstamps.txt' './afxdp-txtstamps.txt' -> '/tmp/afxdp-txtstamps.txt' PHASE 1: AF_PACKET transmit (1010 seconds) CMD: ./txrx-tsn -i enp2s0 -PtTq 1 -n 500000 -l 64 -y 2000000 -e 700000 -o 20000 ./txrx-tsn: error while loading shared libraries: libbpf.so.0: cannot open shar

As you can see above, the txrx-tsn binary cannot find libbpf.so.0. The strange thing that I performed the iotg build, like the ./build command and everything flows fine. Also, the libbpf flgas seem to be correctly indicated (Figure).

image

I did an analysis of the files, MakeFile-->configure-->trxr.c and txrx.h --> in addition to the related sources and found no directory specification.

As the problem seems to be directly related to the libbpf Installation location, in the Figure you can see that the installation location of the necessary files are in the directory converging with the MakeFile.

image

Can anybody help me?

assistof commented 3 years ago

I solved this problems... Note that you have the directory (where libbpf libs were installed) listed in /etc/ld.so.conf. In my case, when I performed the make install in libbpf, it installed in /usr/lib64/, so I added the line file in the lidconfig settings. In other words, briefly, the steps are: 1- add the line /usr/lib64 to the /etc/ld.so.conf file, 2- run the ldconfig command.