No rule to build target on toplevel.mk

I'm trying to add a new device to snapshot

And during the build it says:

time: target/linux/prereq#0.71#0.06#0.75
make[1]: *** No rule to make target '12'.  Stop.
make[1]: Leaving directory '/home/mcamargo/src/openwrt'
make: *** [/home/mcamargo/src/openwrt/include/toplevel.mk:231: 12] Error 2

I've just defined a new entry within the chipset for ramips/image

define Device/zyxel_wsm20
  $(Device/dsa-migration)
  BLOCKSIZE := 128k
  PAGESIZE := 2048
  KERNEL_SIZE := 4096k
  UBINIZE_OPTS := -E 5
  IMAGE_SIZE := 125440k
  DEVICE_VENDOR := ZyXEL
  DEVICE_MODEL := WSM20
  DEVICE_PACKAGES := kmod-mt7915e
  KERNEL_LOADADDR := 0x82000000
  KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
        fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += zyxel_wsm20

What can I be missing?

Have you compared with commits for similar devices ?

Yep, nothing special I've found, pretty straight forward.

try to build for another device, so you can understand if something is wrong just with that device or not.

Yes, same error while trying to build for another device

make menuconfig and change target, save.
make menuconfig back to the right target, do not use zyxel, use any other device. if that still fail maybe something in the folder ramips is corrupted.

Not sure if this is the culprit

find: The relative path 'Files/Common' is included in the PATH environment variable, which is insecure in combination with the -execdir action of find.  Please remove that entry from $PATH

Are you on Windows (WSL) and there spaces in the path to the OpenWrt build directory?

you never told us the command you are typing to run Make :slight_smile:

find: The relative path 'Files/Common' is included in the PATH environment variable, which is insecure in combination with the -execdir action of find.  Please remove that entry from $PATH
make[2]: *** [package/Makefile:73: package/install] Error 1
make[2]: Leaving directory '/home/mcamargo/src/openwrt'
make[1]: *** [package/Makefile:111: /home/mcamargo/src/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_install] Error 2
make[1]: Leaving directory '/home/mcamargo/src/openwrt'
make: *** [/**home/mcamargo/src/openwrt/include/**toplevel.mk:231: world] Error 2

Yes WSL with Fedora 37, as you see no spaces in the path

make -j3 V=sc defconfig download clean world

I've tried all types of -j1 -j2 -j3... even no -j at all just

make V=sc defconfig download clean world

WSL is not officially supported, I recommend you do a traditional VM

I haven't worked with Windows for quite some time but maybe there are environment variables that the build system uses that contain paths which may contain spaces.

Isn't there a path like '[...]Program Files/Common' in Windows? And one of env variables may refer to it (but I may be completely of). Try run printenv in Fedora and check for spaces in any variables.

But @mpratt14 advise would be probably the safest. Or search this forum for WSL related questions, mabye someone had a similar issue.

Same solution for a similar question from yesterday, however Make was actually complaining about spaces in the path, in this case Error while ./scripts/feeds install -a - #7 by slh.

Ok, no problems I'm going to try the same build with my Fedora laptop.

It's WAY slower but just for the test will be fine.

/me keeps promoting the Oracle free for life hosts, as compile boxes.

1 Like

Problem is that I dont want to switch HyperV for VirtBx. I need WSL on my Win comp

I wonder what can be hindering my WSL... its amazing to use it with VScode and do everything from one place

Im currently compiling the exact same way but in my Fedora box

I remember last time i compiled in my WSL a 19.07 it went well the build... (same sources, just 19.07 branch)

you're welcome to try to figure out what change broke WSL builds

git bisect command can help you

first step would be making sure you can build 19.07 the way your system is now

Ok, I'm going to try again compiling with 19.07

I remembered that I was able to do this back in the past (6 months ago or so) with a 19.07 build I did, and now it was completely failing also the 19.07 one I downloaded.

Here is the solution to this issue in case someone stumbles with this error also:

The thing is that my new Fedora WSL was not set up like such, but an older Ubuntu WSL one so now everything makes sense :slight_smile:

1 Like

so is it only a matter of host configuration then?

I recommend you or the other people who figured it out to write a wiki page about using WSL