What's new

switched Ubuntu to Gentoo - now Merlin build fails

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

M95D

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.
Code:
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?
Thanks.
 
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.
 
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).
 
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:

Thanks.
 
Similar threads
Thread starter Title Forum Replies Date
C Wireguard Client Can't Communicate with Ubuntu Server on LAN Asuswrt-Merlin 3

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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