Error compiling source code


I got an AR300M and I’m trying to replace the current stock firmware with a one compiled by myself.

The problem comes here, I can’t compile the lede 17.01 that’s available in Github (GitHub - gl-inet/lede-17.01: Cloning from;a=summary and adding patches for GL's new devices to lede-17.01.)

But I got this errors:

make[4]: Entering directory '/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1'
  CHK     include/version.h
  CC      mkfs.ubifs/hashtable/hashtable_itr.o
mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of 'hashtable_iterator_key'
 hashtable_iterator_key(struct hashtable_itr *i)
In file included from mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
mkfs.ubifs/hashtable/hashtable_itr.h:32:1: note: previous definition of 'hashtable_iterator_key' was here
 hashtable_iterator_key(struct hashtable_itr *i)
mkfs.ubifs/hashtable/hashtable_itr.c:46:1: error: redefinition of 'hashtable_iterator_value'
 hashtable_iterator_value(struct hashtable_itr *i)
In file included from mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
mkfs.ubifs/hashtable/hashtable_itr.h:41:1: note: previous definition of 'hashtable_iterator_value' was here
 hashtable_iterator_value(struct hashtable_itr *i)
 ^ recipe for target '/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1/mkfs.ubifs/hashtable/hashtable_itr.o' failed
make[4]: *** [/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1/mkfs.ubifs/hashtable/hashtable_itr.o] Error 1
make[4]: Leaving directory '/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1'
Makefile:61: recipe for target '/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1/.built' failed
make[3]: *** [/home/cjcr/ar300m/build_dir/target-mips_24kc_musl-1.1.16/ubi-utils-1.5.1/.built] Error 2
make[3]: Leaving directory '/home/cjcr/ar300m/package/utils/ubi-utils'
package/Makefile:114: recipe for target 'package/utils/ubi-utils/compile' failed
make[2]: *** [package/utils/ubi-utils/compile] Error 2
make[2]: Leaving directory '/home/cjcr/ar300m'
package/Makefile:110: recipe for target '/home/cjcr/ar300m/staging_dir/target-mips_24kc_musl-1.1.16/stamp/.package_compile' failed
make[1]: *** [/home/cjcr/ar300m/staging_dir/target-mips_24kc_musl-1.1.16/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/cjcr/ar300m'
/home/cjcr/ar300m/include/ fallo en las instrucciones para el objetivo 'world'
make: *** [world] Error 2

I have some experience compiling firmwares for other routers, but I don’t know what happens with this one. Lede trunk for example is compiling ok (but it can only do it for NOR flash).

Any idea?

Thank you.

Seems the package ubi-utils has some problems. Now sure why.

But you can recompile the pacakge, or try a different version. You can check openwrt snapshot code and find if there is an updated package.

To recompile
make package/ubi-utils/{clean,compile} V=s

Thanks for reply.

I tried it and I got the same error. Looks like something related to this mtd-utils_git: compile error · Issue #60 · Angstrom-distribution/setup-scripts · GitHub and this [Buildroot] [PATCH 1/1] package/mtd: add patch to fix host build error with gcc 5.1

The weird part is that this error doesn’t happens with OpenWrt/lede trunk.

Any idea how we can fix this?

By the way, If I want to replace the stock firmware for one compiled using openwrt/lede trunk, what steps I should do? Take in consideration that I should use NOR flash because in trunk there isn’t an option to compile to NAND.

Thank you!

Why your ubi-utils pakcage’s version is 1.5.1? It should be 1.5.2 on our git repo.

I don’t know, but in your git repo I got it. I’m getting it from branch 17.10.1 that seems selected by default… or maybe is mater the default repo? I will check when I’m back to home.

Edit: the default repo is origin/lede-17.01, so it’s ok. Something wrong in your side … please check. Try to compile the code …

Edit 2 Yes, I got ubi-utils-1.5.1, but this is what is downloaded from your repo. And also, I can’t found ubi-utils-1.5.2… where is?

Anyone have the sampe problem as me with the gl-inet’s repo?

I can compile Openwrt 17.01 for AR300M (from oficial repo) without any problems, but here ubi-utils isn’t use at all.

Seems a problem with the compilator (gcc) and the ubi-utils source code that are in your repo. If you can’t reproduce this, please try compiling all from scratch (git clone xxxx, update feeds, installing feeds, make menuconfig, make).

@Zer07 I do apologize for this, I mix ubi-utils with mtd-utils, the ubi-ubils package is useless, we have removed it, you can issue git pull and try again.

OK, thank you. I will try and I will report to you back. Thanks.

By the way, I want to do a thing that I’ve did in the past with MTK7620 chip and the relayd package and I don’t find a way to make it working with Atheros … Maybe It’s diffent here.

The thing I want to archive is repeat a Wifi network (client + AP) and also make it available (the repeated network) with both ethernet ports. How I can archive this? can you send me the network and wireless file or luci screenshots to do this?

Thank you.

Now compile without erros! Thank you.

This can be done in all routers as it is openwrt.

in /etc/config/network

config interface ‘lan’
option ifname ‘eth0 eth1’

Remove wan