switched Ubuntu to Gentoo - now Merlin build fails


New Around Here
Last year I was using a Ubuntu server virtual machine to build Asus Merlin firmwares for myself. I do this build very rarely since Asus is no longer my main router.
This year I switched to Gentoo multilib and I didn't keep the old Ubuntu machine. I needed the space.
Yesterday I used git pull and tried to build a new firmware. I fixed a few errors related to missing 32bit elfutils, but then I got stuck with this error. I don't know what the problem might be.
make -j2 -C httpd
make[4]: Entering directory '/build/brcmarm/merlin/release/src/router/httpd'
[httpd] CC httpd.o
[httpd] CC cgi.o
[httpd] CC ej.o
ej.c:48:28: error: array type has incomplete element type
ej.c: In function 'replace_productid':
ej.c:170:36: error: dereferencing pointer to incomplete type
ej.c:170:49: error: increment of pointer to unknown structure
ej.c:170:2: error: arithmetic on pointer to an incomplete type
ej.c:171:28: error: dereferencing pointer to incomplete type
ej.c:172:51: error: dereferencing pointer to incomplete type
ej.c:173:26: error: dereferencing pointer to incomplete type
ej.c:175:26: error: dereferencing pointer to incomplete type
ej.c:176:26: error: dereferencing pointer to incomplete type
make[4]: *** [Makefile:374: ej.o] Error 1
Any ideas how to fix this?


Part of the Furniture
I don't know if it's possible to fix it (and if it is, someone will come with those instructions shortly), but isn't it easier to just use Ubuntu again?

At least you'll know if it is a Ubuntu or a Gentoo issue.


Asuswrt-Merlin dev
That path looks wrong to me. You should be compiling from an SDK path (i.e. release/src-rt-5.02hnd/router), not from release/src/router/ .

Also, you need to compile for a specific model. DIrectly compiling a component like httpd will fail because the prebuilt objects specific to the target model aren't set. This is the error message you are getting here (that function is in a model-specific prebuilt blob).


New Around Here
Almost solved.
It's something in release/src-rt/target.mak that I removed and causes the build to fail. I was using the target.mak that was working last year when I last built my firmware. It doesn't seem to work anymore, but the default target.mak works. I'm trying to isolate the problem now. I blamed Gentoo by mistake. :oops:


Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!