View Issue Details

IDProjectCategoryView StatusLast Update
0006840Kali LinuxKali Package Bugpublic2020-11-15 19:21
Reporter+.0 Assigned Tosteev  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionno change required 
Product Version2020.3 
Summary0006840: [libmnl-dev] file not recognized: file format not recognized
Description

trying to compile libnftnl from development source ends with:

CCLD libnftnl.la
/usr/lib/x86_64-linux-gnu/libmnl.so: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status

Steps To Reproduce

git clone from source git.netfilter.org/libnftnl
cd into cloned directory
sh autogen.sh ;
sh configure --build=x86_64-pc-linux-gnu --host=arm-linux-gnueabihf
ionice -c 3 nice -n19 make -j $((nproc-2))

Additional Information

stat /usr/lib/x86_64-linux-gnu/libmnl.so

File: /usr/lib/x86_64-linux-gnu/libmnl.so -> libmnl.so.0.2.0
Size: 15 Blocks: 0 IO Block: 4096 symbolic link

dpkg -s libmnl-dev

Status: install ok installed
Installed-Size: 29
Maintainer: Debian Netfilter Packaging Team <[email protected]>
Architecture: amd64
Source: libmnl
Version: 1.0.4-3

dpkg -s libmnl0

Status: install ok installed
Installed-Size: 46
Maintainer: Debian Netfilter Packaging Team <[email protected]>
Architecture: amd64
Source: libmnl
Version: 1.0.4-3

Activities

steev

steev

2020-11-15 18:18

manager   ~0013677

You're cross compiling, so you need to have the cross libraries installed. Did you also

sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install libmnl-dev:armhf

I can't reproduce here at all:

┌──(steev㉿panda)-[/storage/cross/libnftnl]
└─$ ionice -c 3 nice -n19 make -j$((nproc-2))
make all-recursive
make[1]: Entering directory '/storage/cross/libnftnl'
Making all in src
make[2]: Entering directory '/storage/cross/libnftnl/src'
CC utils.lo
CC batch.lo
CC flowtable.lo
CC common.lo
CC gen.lo
CC table.lo
CC trace.lo
CC chain.lo
CC object.lo
CC rule.lo
CC set.lo
CC set_elem.lo
CC ruleset.lo
CC udata.lo
CC expr.lo
CC expr_ops.lo
CC expr/bitwise.lo
CC expr/byteorder.lo
CC expr/cmp.lo
CC expr/range.lo
CC expr/connlimit.lo
CC expr/counter.lo
CC expr/ct.lo
CC expr/data_reg.lo
CC expr/dup.lo
CC expr/exthdr.lo
CC expr/flow_offload.lo
CC expr/fib.lo
CC expr/fwd.lo
CC expr/limit.lo
CC expr/log.lo
CC expr/lookup.lo
CC expr/dynset.lo
CC expr/immediate.lo
CC expr/match.lo
CC expr/meta.lo
CC expr/numgen.lo
CC expr/nat.lo
CC expr/tproxy.lo
CC expr/objref.lo
CC expr/payload.lo
CC expr/queue.lo
CC expr/quota.lo
CC expr/reject.lo
CC expr/rt.lo
CC expr/target.lo
CC expr/tunnel.lo
CC expr/masq.lo
CC expr/redir.lo
CC expr/hash.lo
CC expr/socket.lo
CC expr/synproxy.lo
CC expr/osf.lo
CC expr/xfrm.lo
CC obj/counter.lo
CC obj/ct_helper.lo
CC obj/quota.lo
CC obj/tunnel.lo
CC obj/limit.lo
CC obj/synproxy.lo
CC obj/ct_timeout.lo
CC obj/secmark.lo
CC obj/ct_expect.lo
CCLD libnftnl.la
make[2]: Leaving directory '/storage/cross/libnftnl/src'
Making all in include
make[2]: Entering directory '/storage/cross/libnftnl/include'
Making all in libnftnl
make[3]: Entering directory '/storage/cross/libnftnl/include/libnftnl'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/storage/cross/libnftnl/include/libnftnl'
Making all in linux
make[3]: Entering directory '/storage/cross/libnftnl/include/linux'
Making all in netfilter
make[4]: Entering directory '/storage/cross/libnftnl/include/linux/netfilter'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/storage/cross/libnftnl/include/linux/netfilter'
make[4]: Entering directory '/storage/cross/libnftnl/include/linux'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/storage/cross/libnftnl/include/linux'
make[3]: Leaving directory '/storage/cross/libnftnl/include/linux'
make[3]: Entering directory '/storage/cross/libnftnl/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/storage/cross/libnftnl/include'
make[2]: Leaving directory '/storage/cross/libnftnl/include'
Making all in examples
make[2]: Entering directory '/storage/cross/libnftnl/examples'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/storage/cross/libnftnl/examples'
Making all in tests
make[2]: Entering directory '/storage/cross/libnftnl/tests'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/storage/cross/libnftnl/tests'
make[2]: Entering directory '/storage/cross/libnftnl'
make[2]: Leaving directory '/storage/cross/libnftnl'
make[1]: Leaving directory '/storage/cross/libnftnl'

+.0

+.0

2020-11-15 18:36

reporter   ~0013678

Thank you for the instantaneous feedback.

Did not think that with cross-compiling toolchains installed it also required the cross compiled libs... Now that sorted the compilation worked.

Seems, that I cannot close the issue, hence if you please would

Issue History

Date Modified Username Field Change
2020-11-15 17:15 +.0 New Issue
2020-11-15 18:18 steev Note Added: 0013677
2020-11-15 18:36 +.0 Note Added: 0013678
2020-11-15 19:21 steev Assigned To => steev
2020-11-15 19:21 steev Status new => resolved
2020-11-15 19:21 steev Resolution open => no change required