Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
littleBu
OpenXG-RAN
Commits
81c8ea7a
Commit
81c8ea7a
authored
Sep 12, 2023
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc(oran-integration): adding another pkg-config trick.
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
ed039a0d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
4 deletions
+52
-4
doc/ORAN_FHI7.2_Tutorial.md
doc/ORAN_FHI7.2_Tutorial.md
+52
-4
No files found.
doc/ORAN_FHI7.2_Tutorial.md
View file @
81c8ea7a
...
...
@@ -215,7 +215,7 @@ cd
wget http://fast.dpdk.org/rel/dpdk-20.11.7.tar.xz
```
DPDK Compi
lation
### DPDK Compilation and Instal
lation
```
bash
# Installing meson : it should pull ninja-build and compiler packages
...
...
@@ -228,7 +228,25 @@ tar xvf dpdk-20.11.7.tar.xz && cd dpdk-stable-20.11.7
meson build
ninja
-C
build
sudo
ninja
install
-C
build
sudo
ldconfig
-v
|
grep
rte
## this way you will see the dpdk libraries
```
### Verify the installation is complete
Check if the LD cache contains the DPDK Shared Objects after update:
```
bash
sudo
ldconfig
-v
|
grep
rte_
librte_fib.so.0.200.2 -> librte_fib.so.0.200.2
librte_telemetry.so.0.200.2 -> librte_telemetry.so.0.200.2
librte_compressdev.so.0.200.2 -> librte_compressdev.so.0.200.2
librte_gro.so.20.0 -> librte_gro.so.20.0.2
librte_mempool_dpaa.so.20.0 -> librte_mempool_dpaa.so.20.0.2
librte_distributor.so.20.0 -> librte_distributor.so.20.0.2
librte_rawdev_dpaa2_cmdif.so.20.0 -> librte_rawdev_dpaa2_cmdif.so.20.0.2
librte_mempool.so.20.0 -> librte_mempool.so.20.0.2
librte_pmd_octeontx2_crypto.so.20.0 -> librte_pmd_octeontx2_crypto.so.20.0.2
librte_common_cpt.so.20.0 -> librte_common_cpt.so.20.0.2
....
```
On Fedora-based OS, you may not have the
`/usr/local/lib`
or
`/usr/local/lib64`
paths in the LD_LIBRARY_PATH:
...
...
@@ -236,7 +254,21 @@ On Fedora-based OS, you may not have the `/usr/local/lib` or `/usr/local/lib64`
```
bash
sudo echo
"/usr/local/lib"
>
/etc/ld.so.conf.d/local-lib.conf
sudo echo
"/usr/local/lib64"
>>
/etc/ld.so.conf.d/local-lib.conf
sudo
ldconfig
-v
|
grep
rte
## this way you will see the dpdk libraries
sudo
ldconfig
-v
|
grep
rte_
```
Check if the PDK-CONFIG tool discovers the libraries:
```
bash
pkg-config
--libs
libdpdk
--static
-lrte_node
-lrte_graph
-lrte_bpf
-lrte_flow_classify
-lrte_pipeline
-lrte_table
-lrte_port
-lrte_fib
-lrte_ipsec
-lrte_vhost
-lrte_stack
-lrte_security
-lrte_sched
-lrte_reorder
-lrte_rib
-lrte_rawdev
-lrte_pdump
-lrte_power
-lrte_member
-lrte_lpm
-lrte_latencystats
-lrte_kni
-lrte_jobstats
-lrte_ip_frag
-lrte_gso
-lrte_gro
-lrte_eventdev
-lrte_efd
-lrte_distributor
-lrte_cryptodev
-lrte_compressdev
-lrte_cfgfile
-lrte_bitratestats
-lrte_bbdev
-lrte_acl
-lrte_timer
-lrte_hash
-lrte_metrics
-lrte_cmdline
-lrte_pci
-lrte_ethdev
-lrte_meter
-lrte_net
-lrte_mbuf
-lrte_mempool
-lrte_rcu
-lrte_ring
-lrte_eal
-lrte_telemetry
-lrte_kvargs
-Wl
,--whole-archive
-lrte_common_cpt
-lrte_common_dpaax
-lrte_common_iavf
-lrte_common_octeontx
-lrte_common_octeontx2
-lrte_bus_dpaa
-lrte_bus_fslmc
-lrte_bus_ifpga
-lrte_bus_pci
-lrte_bus_vdev
-lrte_bus_vmbus
-lrte_mempool_bucket
-lrte_mempool_dpaa
-lrte_mempool_dpaa2
-lrte_mempool_octeontx
-lrte_mempool_octeontx2
-lrte_mempool_ring
-lrte_mempool_stack
-lrte_pmd_af_packet
-lrte_pmd_ark
-lrte_pmd_atlantic
-lrte_pmd_avp
-lrte_pmd_axgbe
-lrte_pmd_bond
-lrte_pmd_bnxt
-lrte_pmd_cxgbe
-lrte_pmd_dpaa
-lrte_pmd_dpaa2
-lrte_pmd_e1000
-lrte_pmd_ena
-lrte_pmd_enetc
-lrte_pmd_enic
-lrte_pmd_failsafe
-lrte_pmd_fm10k
-lrte_pmd_i40e
-lrte_pmd_hinic
-lrte_pmd_hns3
-lrte_pmd_iavf
-lrte_pmd_ice
-lrte_pmd_igc
-lrte_pmd_ixgbe
-lrte_pmd_kni
-lrte_pmd_liquidio
-lrte_pmd_memif
-lrte_pmd_netvsc
-lrte_pmd_nfp
-lrte_pmd_null
-lrte_pmd_octeontx
-lrte_pmd_octeontx2
-lrte_pmd_pfe
-lrte_pmd_qede
-lrte_pmd_ring
-lrte_pmd_sfc
-lrte_pmd_softnic
-lrte_pmd_tap
-lrte_pmd_thunderx
-lrte_pmd_vdev_netvsc
-lrte_pmd_vhost
-lrte_pmd_virtio
-lrte_pmd_vmxnet3
-lrte_rawdev_dpaa2_cmdif
-lrte_rawdev_dpaa2_qdma
-lrte_rawdev_ioat
-lrte_rawdev_ntb
-lrte_rawdev_octeontx2_dma
-lrte_rawdev_octeontx2_ep
-lrte_rawdev_skeleton
-lrte_pmd_caam_jr
-lrte_pmd_dpaa_sec
-lrte_pmd_dpaa2_sec
-lrte_pmd_nitrox
-lrte_pmd_null_crypto
-lrte_pmd_octeontx_crypto
-lrte_pmd_octeontx2_crypto
-lrte_pmd_crypto_scheduler
-lrte_pmd_virtio_crypto
-lrte_pmd_octeontx_compress
-lrte_pmd_qat
-lrte_pmd_ifc
-lrte_pmd_dpaa_event
-lrte_pmd_dpaa2_event
-lrte_pmd_octeontx2_event
-lrte_pmd_opdl_event
-lrte_pmd_skeleton_event
-lrte_pmd_sw_event
-lrte_pmd_dsw_event
-lrte_pmd_octeontx_event
-lrte_pmd_bbdev_null
-lrte_pmd_bbdev_turbo_sw
-lrte_pmd_bbdev_fpga_lte_fec
-lrte_pmd_bbdev_fpga_5gnr_fec
-Wl
,--no-whole-archive
-lrte_node
-lrte_graph
-lrte_bpf
-lrte_flow_classify
-lrte_pipeline
-lrte_table
-lrte_port
-lrte_fib
-lrte_ipsec
-lrte_vhost
-lrte_stack
-lrte_security
-lrte_sched
-lrte_reorder
-lrte_rib
-lrte_rawdev
-lrte_pdump
-lrte_power
-lrte_member
-lrte_lpm
-lrte_latencystats
-lrte_kni
-lrte_jobstats
-lrte_ip_frag
-lrte_gso
-lrte_gro
-lrte_eventdev
-lrte_efd
-lrte_distributor
-lrte_cryptodev
-lrte_compressdev
-lrte_cfgfile
-lrte_bitratestats
-lrte_bbdev
-lrte_acl
-lrte_timer
-lrte_hash
-lrte_metrics
-lrte_cmdline
-lrte_pci
-lrte_ethdev
-lrte_meter
-lrte_net
-lrte_mbuf
-lrte_mempool
-lrte_rcu
-lrte_ring
-lrte_eal
-lrte_telemetry
-lrte_kvargs
-Wl
,-Bdynamic
-pthread
-lm
-ldl
```
Once again on Fedora-based OS, you may not have the
`/usr/local/lib`
or
`/usr/local/lib64`
paths in the PKG_CONFIG_PATH:
```
bash
export
PKG_CONFIG_PATH
=
$PKG_CONFIG_PATH
:/usr/local/lib64/pkgconfig/
pkg-config
--libs
libdpdk
--static
```
# 2. Build OAI-FHI gNB
...
...
@@ -320,13 +352,29 @@ sudo apt install -y libnuma-dev
sudo
dnf
install
-y
numactl-devel
./build_oai
--gNB
--ninja
-t
oran_fhlib_5g
(
Add,
-I
if
you are building
for
the first
time
on server
for
installing external dependencies
)
#check if all the libraries are properly linked to liboai_transpro.so
ldd liboai_transpro.so
ldd ran_build/build/lliboran_fhlib_5g.so
linux-vdso.so.1
(
0x00007ffc9bdfc000
)
librte_node.so.0.200.2
=>
/usr/local/lib64/librte_node.so.0.200.2
(
0x00007f2da93bd000
)
librte_graph.so.0.200.2
=>
/usr/local/lib64/librte_graph.so.0.200.2
(
0x00007f2da93b2000
)
librte_bpf.so.0.200.2
=>
/usr/local/lib64/librte_bpf.so.0.200.2
(
0x00007f2da93a2000
)
librte_flow_classify.so.0.200.2
=>
/usr/local/lib64/librte_flow_classify.so.0.200.2
(
0x00007f2da939c000
)
librte_pipeline.so.20.0
=>
/usr/local/lib64/librte_pipeline.so.20.0
(
0x00007f2da9376000
)
librte_table.so.20.0
=>
/usr/local/lib64/librte_table.so.20.0
(
0x00007f2da935a000
)
librte_port.so.20.0
=>
/usr/local/lib64/librte_port.so.20.0
(
0x00007f2da9340000
)
librte_fib.so.0.200.2
=>
/usr/local/lib64/librte_fib.so.0.200.2
(
0x00007f2da9332000
)
...
libm.so.6
=>
/lib64/libm.so.6
(
0x00007f2d974a4000
)
libxran.so
=>
/usr/local/lib/libxran.so
(
0x00007f2d49000000
)
libnuma.so.1
=>
/lib64/libnuma.so.1
(
0x00007f2d97494000
)
libc.so.6
=>
/lib64/libc.so.6
(
0x00007f2d48c00000
)
/lib64/ld-linux-x86-64.so.2
(
0x00007f2da93d3000
)
```
In case
`liboai_transpro.so`
is missing
`libxran.so`
then you can copy XRAN shared library object:
```
bash
sudo cp
~/phy/fhi_lib/lib/build/libxran.so /usr/local/lib
sudo
ldconfig
```
# 3. Configure OAI gNB
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment