Trying to compile for x86_64


Trying to compile for X86_64.
By digging around I'm down to 1 item that just refused to co-operate (grin!)

make[3] -C feeds/packages/lang/perl-dbi host-compile
ERROR: package/feeds/packages/perl-dbi [host] failed to build.
make[3] -C feeds/packages/net/openssh compile
make[3] -C feeds/packages/net/openssh compile
make[3] -C feeds/packages/net/openssh compile
make[3] -C package/boot/grub2 compile
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on

so I follow the destructions and then I get:

make[2]: Entering directory '/home/xxxxxx/openwrt/scripts/config'
cc -O2 -c -o conf.o conf.c
cc -O2 -c -o confdata.o confdata.c
cc -O2 -c -o expr.o expr.c
cc -O2 -I ./. -c -o lexer.lex.o lexer.lex.c
cc -O2 -c -o menu.o menu.c
cc -O2 -I ./. -c -o
cc -O2 -c -o preprocess.o preprocess.c
cc -O2 -c -o symbol.o symbol.c
cc -O2 -c -o util.o util.c
cc conf.o confdata.o expr.o lexer.lex.o menu.o preprocess.o symbol.o util.o -o conf
make[2]: Leaving directory '/home/xxxxxx/openwrt/scripts/config'
time: target/linux/prereq#0.05#0.02#0.07
Checking 'rsync'... ok.
make[1]: Entering directory '/home/xxxxxx/openwrt'
make[1]: *** No rule to make target '17'. Stop.
make[1]: Leaving directory '/home/xxxxxx/openwrt'
make: *** [/home/xxxxxx/openwrt/include/ 17] Error 2

so I checked package: perl-dbi

I think I've found the issue - - - perl is at 5.32 to 36 yet the version of perl-dbi is (version) 1.643+perl5.28-1 .

My guess is that there is a version mismatch.

What can I input to get the compile to 'complete' ?


(Apologies - - - - I find markup one of the most confusing editing systems I've ever run into - - - so I tend not to use it!)

Tried things (again - - - ) and got somewhat further

One last problem:

make[1]: Entering directory '/home/xxxxxx/openwrt'
make[1]: *** No rule to make target '17'. Stop.
make[1]: Leaving directory '/home/xxxxxx/openwrt'
make: *** [/home/xxxxxx/openwrt/include/ 17] Error 2

Is there anyone who can help me get over this last hurdle?


What's target 17 ?

Absolutely no idea!

(And I have searched - - counted and searched some more and can't find anything that even begins to make sense!)

What version of openwrt are you trying to compile?

Where did you get it from?

And what are exact commands you used to set up your build environment and start the compile?

working on v23.05.3

git download from git.openwrt (mother ship afaik)

following :
following are the first lines from nconfig (trying to anticipate your next question)

Target System (x86) ---> │
│ Subtarget (Generic) ---> │
│ Target Profile (Generic x86) --->

Rather than using instructions from the forum go with the official guide and start from scratch

That thread was about building for a Nano Pi R4S.

??? How did you set up your buildroot to build for x86?

  • did you set up separate Build Environments (FriendlyArm/x86) in your original buildroot?
  • did you create a second buildroot to build x86?
  • did you reuse the same buildroot and just change the target/sub-target/target profile to x86?

I have made wonderful progress!

Followed your suggested routine (its far more confusing than the one that was offered on the forum, it is also somewhat out of date - - wanted system v 21.xx.x where we are on system v 22 already.

Spent some few hours of time wading through the menuconfig and checking during compile.

Got this for the first round: (last lines)

ERROR: module '/home/xxxxxx/openwrt/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.176/net/ipv6/netfilter/nft_reject_ipv6.ko' is missing.
make[3]: *** [modules/ /home/xxxxxx/openwrt/bin/targets/x86/64/packages/kmod-nft-core_5.10.176-1_x86_64.ipk] Error 1
make[3]: Leaving directory '/home/xxxxx/openwrt/package/kernel/linux'
time: package/kernel/linux/compile#4.34#0.62#4.32
ERROR: package/kernel/linux failed to build.
make[2]: *** [package/Makefile:116: package/kernel/linux/compile] Error 1
make[2]: Leaving directory '/home/xxxxxx/openwrt'
make[1]: *** [package/Makefile:110: /home/xxxxxx/openwrt/staging_dir/target-x86_64_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/xxxxxx/openwrt'
make: *** [/home/xxxxxx/openwrt/include/ world] Error 2

I remembered that I had removed an option for ipv6 (cause I don't want the increased attack surface and my isp is likely 18 to 24 months at best from offering it) so I went back into kernel menuconfig and readded the option and got this:

make -j1 V=sc $(nproc) kernel_menuconfig
make[2]: Entering directory '/home/xxxxxx/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/xxxxxx/openwrt/scripts/config'
time: target/linux/prereq#0.06#0.01#0.08
Checking 'rsync'... ok.
make[1]: Entering directory '/home/xxxxxx/openwrt'
make[1]: *** No rule to make target '16'. Stop.
make[1]: Leaving directory '/home/xxxxxx/openwrt'
make: *** [/home/xxxxxx/openwrt/include/ 16] Error 2

Find that real interesting!

I now have a problem with target '16' - - - it was target '17' before.

Please advise as to what is the issue this time.

I had restarted from scratch.

Hadn't saved the ending files from the nanopir4s compile so I'll have to do it again but
I have a much better idea what I'm doing with that.

Thanking you again for your assistance!! (Will be keeping your doc on file - - - for me its much
easier to follow than the official doc!!)