OLSR / OONF

OLSR.org Network Framework - olsrd v2 / DLEP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cross compiling OONF to zynq devlopmnet board

lyliu-chn opened this issue · comments

hi,
OONF(olsrd2)-v0.15.1 has been downloaded , hand-compiled and tested with ubuntu16 LTS system. It run well on 4 notebooks with wifi module or usb wifi module.I’d like Migrate those environment to zynq devlopment board which run openwrt19 with a usb wifi module working in adhoc mode well. A toolchain—arm-openwrt-linux-gnueabi-gcc-7.5.0 has been extracted from openwrt19 which is used for cross compiling OONF.The package libnl-tiny is cross-compiled with the same tool in advance to OONF. The rule of cross compiling OONF follows guides from ~/OONF/cmake/cross/arm.cmake. The action of cross compiling OONF finished without any error or warn. The whole DIR build_arm is compress-packaged and uploaded to zynq devlopment board openwrt sytem by WinSCP after compiling. The plugin auto-ll4 is disabled and wlan0 configed with static ip .

RUN ON ZYNQ OPENWRT SYSTEM:
root@OpenWrt:/Olsrd2/build_arm# uname -a
Linux OpenWrt 4.14.209 #0 SMP PREEMPT Sun Dec 6 07:31:03 2020 armv7l GNU/Linux
root@OpenWrt:/Olsrd2/build_arm# ./olsrd_static wlan0 lo
/bin/ash: ./olsrd_static: not found
/olsrd2_static: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=8b6e3aac688a5d748fb27ee9b0be48b1e414079a, with debug_info, not stripped
root@OpenWrt:/Olsrd2/build_arm# ldd olsrd2_static
/lib/ld-linux.so.3 (0xb6f06000)
librt.so.1 => /lib/ld-linux.so.3 (0xb6f06000)
libnl-tiny.so => /lib/libnl-tiny.so (0xb6eea000)
libdl.so.2 => /lib/ld-linux.so.3 (0xb6f06000)
libc.so.6 => /lib/ld-linux.so.3 (0xb6f06000)
ld-linux.so.3 => /lib/ld-linux.so.3 (0xb6eb8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6e89000)

“Olsrd2_static”does not seem to “static” module ! A link like “ln -s /usr/local/lib/ld-2.27.so ld-linux.so.3” was created in /lib DIR. The error message:

root@OpenWrt:/Olsrd2/build_arm# ./olsrd2_static wlan0 lo
./olsrd2_static: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory.

By the way,the cmd { export LD_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib$LD_LIBRARY_PATH"} doesn’t seem to work under openwrt. Error moves down step by step when the link was created one by one. But the error comes on to no end! I recognized the root cause for above errors may be the cross compiling method for OONF when the output of “ ldd olsrd2_dynamic” is printed .It seems some dynamic or system or shard lib or plugin which had not located at suitable DIR or merged into “static” module ! The errors doesn’t come like e-games against monsters otherwise.
Would you give me some advice for cross compiling OONF or method for process errors running Olsrd2?
Thank in advavce!

RUN ON ZYNQ OPENWRT SYSTEM:
root@OpenWrt:/Olsrd2/build_arm# ldd olsrd2_dynamic
/lib/ld-linux.so.3 (0xb6f69000)
Error loading shared library liboonf_librfc5444.so.0.15.1: No such file or directory (needed by olsrd2_dynamic)
Error loading shared library liboonf_libcore.so.0.15.1: No such file or directory (needed by olsrd2_dynamic)
Error loading shared library liboonf_libconfig.so.0.15.1: No such file or directory (needed by olsrd2_dynamic)
Error loading shared library liboonf_libcommon.so.0.15.1: No such file or directory (needed by olsrd2_dynamic)
librt.so.1 => /lib/ld-linux.so.3 (0xb6f69000)
libnl-tiny.so => /lib/libnl-tiny.so (0xb6f4d000)
libc.so.6 => /lib/ld-linux.so.3 (0xb6f69000)
ld-linux.so.3 => /lib/ld-linux.so.3 (0xb6f1b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6eec000)
Error relocating olsrd2_dynamic: cfg_schema_help_choice: symbol not found
Error relocating olsrd2_dynamic: netaddr_acl_remove: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_pkt_seqno: symbol not found
Error relocating olsrd2_dynamic: oonf_cfg_rollback: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_remove: symbol not found
Error relocating olsrd2_dynamic: str_cpynextword: symbol not found
Error relocating olsrd2_dynamic: oonf_main_shall_stop_scheduler: symbol not found
Error relocating olsrd2_dynamic: netaddr_acl_check_accept: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_token: symbol not found
Error relocating olsrd2_dynamic: cfg_tobin_tokens: symbol not found
Error relocating olsrd2_dynamic: abuf_add_template: symbol not found
Error relocating olsrd2_dynamic: netaddr_from_string: symbol not found
Error relocating olsrd2_dynamic: json_print: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_strlen: symbol not found
Error relocating olsrd2_dynamic: netaddr_create_host_bin: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_choice: symbol not found
Error relocating olsrd2_dynamic: abuf_memcpy_prepend: symbol not found
Error relocating olsrd2_dynamic: oonf_cfg_get_instance: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_libdata: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_unregister_content_provider: symbol not found
Error relocating olsrd2_dynamic: oonf_cfg_get_rawdb: symbol not found
Error relocating olsrd2_dynamic: netaddr_socket_get_port: symbol not found
Error relocating olsrd2_dynamic: avl_comp_uint32: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_printable: symbol not found
Error relocating olsrd2_dynamic: cfg_db_add: symbol not found
Error relocating olsrd2_dynamic: avl_comp_netaddr: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_max_severitytextlen: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_netaddr: symbol not found
Error relocating olsrd2_dynamic: avl_insert: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_strptr: symbol not found
Error relocating olsrd2_dynamic: netaddr_is_in_subnet: symbol not found
Error relocating olsrd2_dynamic: _cfg_db_add_section: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_create_message: symbol not found
Error relocating olsrd2_dynamic: abuf_free: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_msg_header: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_register_message: symbol not found
Error relocating olsrd2_dynamic: abuf_strftime: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_add_messagetlv: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_int: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_cleanup: symbol not found
Error relocating olsrd2_dynamic: avl_init: symbol not found
Error relocating olsrd2_dynamic: avl_find: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_load: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_query: symbol not found
Error relocating olsrd2_dynamic: abuf_puts: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_messagetlv: symbol not found
Error relocating olsrd2_dynamic: cfg_get_choice_index: symbol not found
Error relocating olsrd2_dynamic: netaddr_acl_copy: symbol not found
Error relocating olsrd2_dynamic: json_end_object: symbol not found
Error relocating olsrd2_dynamic: netaddr_from_socket: symbol not found
Error relocating olsrd2_dynamic: abuf_hexdump: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_tokens: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_remove_packet_consumer: symbol not found
Error relocating olsrd2_dynamic: oonf_main_set_scheduler: symbol not found
Error relocating olsrd2_dynamic: netaddr_truncate: symbol not found
Error relocating olsrd2_dynamic: rfc5497_timetlv_decode: symbol not found
Error relocating olsrd2_dynamic: isonumber_from_s64: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_unregister_addrtlvtype: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_add_address: symbol not found
Error relocating olsrd2_dynamic: rfc7181_metric_decode: symbol not found
Error relocating olsrd2_dynamic: cfg_io_add: symbol not found
Error relocating olsrd2_dynamic: abuf_appendf: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_init: symbol not found
Error relocating olsrd2_dynamic: strhex_to_bin: symbol not found
Error relocating olsrd2_dynamic: rfc5444_print_add: symbol not found
Error relocating olsrd2_dynamic: cfg_is_allowed_key: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_register_addrtlvtype: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_appdata: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_schema: symbol not found
Error relocating olsrd2_dynamic: cfg_help_netaddr: symbol not found
Error relocating olsrd2_dynamic: rfc7181_metric_encode: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_netaddr: symbol not found
Error relocating olsrd2_dynamic: oonf_log: symbol not found
Error relocating olsrd2_dynamic: os_core_linux_get_random: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_add_packet_consumer: symbol not found
Error relocating olsrd2_dynamic: rfc5497_timetlv_get_from_vector: symbol not found
Error relocating olsrd2_dynamic: oonf_log_updatemask: symbol not found
Error relocating olsrd2_dynamic: avl_comp_strcasecmp: symbol not found
Error relocating olsrd2_dynamic: cfg_db_set_entry_ext: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_acl: symbol not found
Error relocating olsrd2_dynamic: cfg_append_printable_line: symbol not found
Error relocating olsrd2_dynamic: isonumber_from_u64: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_flush: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_int: symbol not found
Error relocating olsrd2_dynamic: json_start_array: symbol not found
Error relocating olsrd2_dynamic: json_end_array: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_pkt_header: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_msg_hopcount: symbol not found
Error relocating olsrd2_dynamic: abuf_memcpy: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_msg_seqno: symbol not found
Error relocating olsrd2_dynamic: oonf_log_addhandler: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_sourcecount: symbol not found
Error relocating olsrd2_dynamic: oonf_log_removehandler: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_bool: symbol not found
Error relocating olsrd2_dynamic: str_hasnextword: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_allocate_messagetlv: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_choice: symbol not found
Error relocating olsrd2_dynamic: netaddr_from_binary_prefix: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_add_message_consumer: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_register_msgcontentprovider: symbol not found
Error relocating olsrd2_dynamic: cfg_db_get_schema_entry_value: symbol not found
Error relocating olsrd2_dynamic: oonf_subsystem_hook: symbol not found
Error relocating olsrd2_dynamic: strarray_get_count: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_walltime: symbol not found
Error relocating olsrd2_dynamic: cfg_get_phy_if: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_msg_hoplimit: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_tokens: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_save: symbol not found
Error relocating olsrd2_dynamic: abuf_template_init_ext: symbol not found
Error relocating olsrd2_dynamic: netaddr_socket_init: symbol not found
Error relocating olsrd2_dynamic: json_init_session: symbol not found
Error relocating olsrd2_dynamic: oonf_cfg_trigger_commit: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_forward_msg: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_warning_count: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_set: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_init: symbol not found
Error relocating olsrd2_dynamic: rfc5444_print_remove: symbol not found
Error relocating olsrd2_dynamic: json_print_templates: symbol not found
Error relocating olsrd2_dynamic: abuf_pull: symbol not found
Error relocating olsrd2_dynamic: oonf_log_register_source: symbol not found
Error relocating olsrd2_dynamic: netaddr_acl_from_strarray: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_acl: symbol not found
Error relocating olsrd2_dynamic: oonf_main: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_netaddr: symbol not found
Error relocating olsrd2_dynamic: avl_find_lessequal: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_add_addrtlv: symbol not found
Error relocating olsrd2_dynamic: isonumber_to_s64: symbol not found
Error relocating olsrd2_dynamic: netaddr_to_prefixstring: symbol not found
Error relocating olsrd2_dynamic: cfg_get_choice_array_value: symbol not found
Error relocating olsrd2_dynamic: avl_find_greaterequal: symbol not found
Error relocating olsrd2_dynamic: json_start_object: symbol not found
Error relocating olsrd2_dynamic: rfc5497_timetlv_encode: symbol not found
Error relocating olsrd2_dynamic: avl_remove: symbol not found
Error relocating olsrd2_dynamic: oonf_main_set_parameter_handler: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_unregister_target: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_cleanup: symbol not found
Error relocating olsrd2_dynamic: str_skipnextword: symbol not found
Error relocating olsrd2_dynamic: strhex_from_bin: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_handle_packet: symbol not found
Error relocating olsrd2_dynamic: netaddr_get_af_maxprefix: symbol not found
Error relocating olsrd2_dynamic: netaddr_socket_to_string: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_register_target: symbol not found
Error relocating olsrd2_dynamic: netaddr_acl_add: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_set_msg_originator: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_strarray: symbol not found
Error relocating olsrd2_dynamic: rfc5444_reader_remove_message_consumer: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_tobin_acl: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_printable: symbol not found
Error relocating olsrd2_dynamic: abuf_init: symbol not found
Error relocating olsrd2_dynamic: oonf_log_get_max_sourcetextlen: symbol not found
Error relocating olsrd2_dynamic: cfg_cmd_handle_get: symbol not found
Error relocating olsrd2_dynamic: netaddr_to_binary: symbol not found
Error relocating olsrd2_dynamic: strscpy: symbol not found
Error relocating olsrd2_dynamic: rfc5444_writer_unregister_message: symbol not found
Error relocating olsrd2_dynamic: cfg_io_remove: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_validate_strlen: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_get_choice_value: symbol not found
Error relocating olsrd2_dynamic: str_trim: symbol not found
Error relocating olsrd2_dynamic: rfc5444_strerror: symbol not found
Error relocating olsrd2_dynamic: cfg_db_remove: symbol not found
Error relocating olsrd2_dynamic: cfg_schema_help_int: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_ULA: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV4_ANY: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_GLOBAL: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV4_LOOPBACK_NET: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_ANY: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV4_MULTICAST: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_MULTICAST: symbol not found
Error relocating olsrd2_dynamic: NETADDR_MAC48_BROADCAST: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV4_LINKLOCAL: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_LINKLOCAL: symbol not found
Error relocating olsrd2_dynamic: NETADDR_IPV6_LOOPBACK: symbol not found
Error relocating olsrd2_dynamic: NETADDR_UNSPEC: symbol not found
Error relocating olsrd2_dynamic: LOG_SOURCE_NAMES: symbol not found
Error relocating olsrd2_dynamic: CFGLIST_BOOL: symbol not found
Error relocating olsrd2_dynamic: LOG_SEVERITY_NAMES: symbol not found
Error relocating olsrd2_dynamic: CFGLIST_BOOL_TRUE: symbol not found
Error relocating olsrd2_dynamic: log_global_mask: symbol not found
root@OpenWrt:/Olsrd2/build_arm#
root@OpenWrt:/Olsrd2/build_arm# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
link/ether 00:0a:35:00:1e:53 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.13/24 brd 192.168.3.255 scope global eth0
valid_lft forever preferred_lft forever
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0a:35:00:1e:53 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.13/24 brd 192.168.3.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 fdba:6373:74cf::1/60 scope global
valid_lft forever preferred_lft forever
inet6 fe80::14fb:3362:4ac7:71e0/64 scope link
valid_lft forever preferred_lft forever
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether e0:05:c5:7a:36:43 brd ff:ff:ff:ff:ff:ff
inet 196.254.19.69/24 brd 196.254.19.255 scope global wlan0
valid_lft forever preferred_lft forever
inet 169.254.167.40/16 brd 169.254.255.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::cd9d:7dae:df49:66d5/64 scope link
valid_lft forever preferred_lft forever
root@OpenWrt:/Olsrd2/build_arm# iw wlan0 station dump
Station 1c:3e:84:3b:3c:1e (on wlan0)
inactive time: 30 ms
rx bytes: 1893678
rx packets: 39137
tx bytes: 0
tx packets: 0
tx retries: 0
tx failed: 0
rx drop misc: 0
signal: -76 [-87] dBm
signal avg: -76 [-87] dBm
tx bitrate: 1.0 MBit/s
rx duration: 0 us
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 0
beacon interval:100
connected time: 4270 seconds
Station 1c:3e:84:3b:9f:95 (on wlan0)
inactive time: 90 ms
rx bytes: 3798386
rx packets: 86913
tx bytes: 0
tx packets: 0
tx retries: 0
tx failed: 0
rx drop misc: 0
signal: -45 [-45] dBm
signal avg: -43 [-43] dBm
tx bitrate: 1.0 MBit/s
rx duration: 0 us
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 0
beacon interval:100
connected time: 4270 seconds
root@OpenWrt:/Olsrd2/build_arm#
RUN ON NOTEBOOK UBUNTU16 IN BUILD_ARM DIR:
(Those program compiled for 32 bits arm linux system)
lyln@lyln-G485-4:/OONF/build_arm$ ls -la olsrd2*
-rw-rw-r-- 1 lyln lyln 2425 4月 12 15:28 olsrd2_app_data.c
-rw-rw-r-- 1 lyln lyln 2445 4月 12 15:28 olsrd2_dlep_app_data.c
-rwxr-xr-x 1 root root 1825636 5月 17 23:33 olsrd2_dlep_dynamic
-rwxr-xr-x 1 root root 2258264 5月 17 23:33 olsrd2_dlep_static
-rwxr-xr-x 1 root root 1726832 5月 17 23:33 olsrd2_dynamic
-rwxr-xr-x 1 root root 2154652 5月 17 23:33 olsrd2_static
lyln@lyln-G485-4:
/OONF/build_arm$ file olsrd2_static
olsrd2_static: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=8b6e3aac688a5d748fb27ee9b0be48b1e414079a, with debug_info, not stripped
lyln@lyln-G485-4:/OONF/build_arm$ file olsrd2_dynamic
olsrd2_dynamic: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=6fbc94a78029076f2ee975c3d9dc24674332a4ee, with debug_info, not stripped
lyln@lyln-G485-4:
/OONF/build_arm$ ldd olsrd2_static
not a dynamic executable
lyln@lyln-G485-4:/OONF/build_arm$ ldd olsrd2_dynamic
not a dynamic executable
lyln@lyln-G485-4:
/OONF/build_arm$ arm-linux-readelf -h olsrd2_static
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x19d70
Start of program headers: 52 (bytes into file)
Start of section headers: 2153172 (bytes into file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 37
Section header string table index: 36
lyln@lyln-G485-4:~/OONF/build_arm$ arm-linux-readelf -l olsrd2_static

Elf file type is EXEC (Executable file)
Entry point 0x19d70
There are 9 program headers, starting at offset 52

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
EXIDX 0x09a554 0x000aa554 0x000aa554 0x00008 0x00008 R 0x4
PHDR 0x000034 0x00010034 0x00010034 0x00120 0x00120 R 0x4
INTERP 0x000154 0x00010154 0x00010154 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.3]
LOAD 0x000000 0x00010000 0x00010000 0x9a560 0x9a560 R E 0x10000
LOAD 0x09ae58 0x000bae58 0x000bae58 0x09494 0x1e6fc RW 0x10000
DYNAMIC 0x09aef4 0x000baef4 0x000baef4 0x00108 0x00108 RW 0x4
NOTE 0x000168 0x00010168 0x00010168 0x00044 0x00044 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10
GNU_RELRO 0x09ae58 0x000bae58 0x000bae58 0x001a8 0x001a8 R 0x1

Section to Segment mapping:
Segment Sections...
00 .ARM.exidx
01
02 .interp
03 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx .eh_frame
04 .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
05 .dynamic
06 .note.ABI-tag .note.gnu.build-id
07
08 .init_array .fini_array .data.rel.ro .dynamic
lyln@lyln-G485-4:~/OONF/build_arm$ arm-linux-readelf -d olsrd2_static

Dynamic section at offset 0x9aef4 contains 28 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [librt.so.1]
0x00000001 (NEEDED) Shared library: [libnl-tiny.so]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x00000001 (NEEDED) Shared library: [ld-linux.so.3]
0x0000000c (INIT) 0x19834
0x0000000d (FINI) 0x9923c
0x00000019 (INIT_ARRAY) 0xbae58
0x0000001b (INIT_ARRAYSZ) 148 (bytes)
0x0000001a (FINI_ARRAY) 0xbaeec
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x6ffffef5 (GNU_HASH) 0x101ac
0x00000005 (STRTAB) 0x14a84
0x00000006 (SYMTAB) 0x119f4
0x0000000a (STRSZ) 17230 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0xbb000
0x00000002 (PLTRELSZ) 872 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x194cc
0x00000011 (REL) 0x19494
0x00000012 (RELSZ) 56 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x193e4
0x6fffffff (VERNEEDNUM) 4
0x6ffffff0 (VERSYM) 0x18dd2
0x00000000 (NULL) 0x0
lyln@lyln-G485-4:/OONF/build_arm$ arm-linux-readelf -h olsrd2_dynamic
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x18aa8
Start of program headers: 52 (bytes into file)
Start of section headers: 1725352 (bytes into file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 37
Section header string table index: 36
lyln@lyln-G485-4:
/OONF/build_arm$ arm-linux-readelf -l olsrd2_dynamic

Elf file type is EXEC (Executable file)
Entry point 0x18aa8
There are 9 program headers, starting at offset 52

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
EXIDX 0x072f50 0x00082f50 0x00082f50 0x00008 0x00008 R 0x4
PHDR 0x000034 0x00010034 0x00010034 0x00120 0x00120 R 0x4
INTERP 0x000154 0x00010154 0x00010154 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.3]
LOAD 0x000000 0x00010000 0x00010000 0x72f5c 0x72f5c R E 0x10000
LOAD 0x073d48 0x00093d48 0x00093d48 0x089dc 0x1d5a4 RW 0x10000
DYNAMIC 0x073ed4 0x00093ed4 0x00093ed4 0x00128 0x00128 RW 0x4
NOTE 0x000168 0x00010168 0x00010168 0x00044 0x00044 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10
GNU_RELRO 0x073d48 0x00093d48 0x00093d48 0x002b8 0x002b8 R 0x1

Section to Segment mapping:
Segment Sections...
00 .ARM.exidx
01
02 .interp
03 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx .eh_frame
04 .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
05 .dynamic
06 .note.ABI-tag .note.gnu.build-id
07
08 .init_array .fini_array .data.rel.ro .dynamic
lyln@lyln-G485-4:~/OONF/build_arm$ arm-linux-readelf -d olsrd2_dynamic

Dynamic section at offset 0x73ed4 contains 32 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [liboonf_librfc5444.so.0.15.1]
0x00000001 (NEEDED) Shared library: [liboonf_libcore.so.0.15.1]
0x00000001 (NEEDED) Shared library: [liboonf_libconfig.so.0.15.1]
0x00000001 (NEEDED) Shared library: [liboonf_libcommon.so.0.15.1]
0x00000001 (NEEDED) Shared library: [librt.so.1]
0x00000001 (NEEDED) Shared library: [libnl-tiny.so]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x00000001 (NEEDED) Shared library: [ld-linux.so.3]
0x0000001d (RUNPATH) Library runpath: [/home/lyln/OONF/build_arm:]
0x0000000c (INIT) 0x17f74
0x0000000d (FINI) 0x76320
0x00000019 (INIT_ARRAY) 0x93d48
0x0000001b (INIT_ARRAYSZ) 148 (bytes)
0x0000001a (FINI_ARRAY) 0x93ddc
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x6ffffef5 (GNU_HASH) 0x101ac
0x00000005 (STRTAB) 0x13ab0
0x00000006 (SYMTAB) 0x11530
0x0000000a (STRSZ) 14219 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x94000
0x00000002 (PLTRELSZ) 1888 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x17814
0x00000011 (REL) 0x1777c
0x00000012 (RELSZ) 152 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x176ec
0x6fffffff (VERNEEDNUM) 3
0x6ffffff0 (VERSYM) 0x1723c
0x00000000 (NULL) 0x0
lyln@lyln-G485-4:~/OONF/build_arm$ cat ../cmake/cross/arm.cmake

to use this file, create a build-android directory,

change into the directory and run cmake there:

> mkdir build-android

> cd build-android

> cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/cross/arm.cmake ..

> make

SET(CMAKE_SYSTEM_NAME Linux) # Tell CMake we're cross-compiling
SET(CMAKE_SYSTEM_PROCESSOR arm)

SET(tools /home/lyln/openwrt-toolchain/arm_a9_gcc-7.5.0_musl_eabi/bin)
SET(CMAKE_C_COMPILER ${tools}/arm-openwrt-linux-gcc)
SET(CMAKE_CXX_COMPILER ${tools}/arm-openwrt-linux-g++)

#include(CMakeForceCompiler)

Prefix detection only works with compiler id "GNU"

CMake will look for prefixed g++, cpp, ld, etc. automatically

#CMAKE_FORCE_C_COMPILER(arm-linux-gnueabi-gcc GNU)

#SET(ANDROID FLASE)
lyln@lyln-G485-4:~/OONF/build_arm$
RUN ON NOTEBOOK UBUNTU16 IN BUILD DIR:
(Those program running on 64 bits x86_64 linux system)

root@lyln-G485-4:/home/lyln/OONF/build# file olsrd2_static
olsrd2_static: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=d74813dee7aba46a9c63af32606e8cdd574df94a, with debug_info, not stripped
root@lyln-G485-4:/home/lyln/OONF/build# ldd olsrd2_static
linux-vdso.so.1 (0x00007ffe181e7000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6c62f18000)
libnl-tiny.so => not found
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c62d14000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c62923000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6c62704000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6c633fb000)
root@lyln-G485-4:/home/lyln/OONF/build# ldd olsrd2_dynamic
linux-vdso.so.1 (0x00007ffe0d4e9000)
liboonf_librfc5444.so.0.15.1 => /home/lyln/OONF/build/liboonf_librfc5444.so.0.15.1 (0x00007fb17a5d1000)
liboonf_libcore.so.0.15.1 => /home/lyln/OONF/build/liboonf_libcore.so.0.15.1 (0x00007fb17a3c3000)
liboonf_libconfig.so.0.15.1 => /home/lyln/OONF/build/liboonf_libconfig.so.0.15.1 (0x00007fb17a1b4000)
liboonf_libcommon.so.0.15.1 => /home/lyln/OONF/build/liboonf_libcommon.so.0.15.1 (0x00007fb179fa8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb179da0000)
libnl-tiny.so => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb1799af000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb1797ab000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb17958c000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb17aa92000)
root@lyln-G485-4:/home/lyln/OONF/build# file olsrd2_dynamic
olsrd2_dynamic: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=6bfb59e8f1e7a860df4b6671b9da7a4929bad994, with debug_info, not stripped
root@lyln-G485-4:/home/lyln/OONF/build#