DD-WRT v24-sp1 compilation issue

15 posts / 0 new
Last post
achilles
achilles's picture
DD-WRT v24-sp1 compilation issue

Hi all ,

I want to compile DD-WRT v24-sp1 but I am not able to do this and I am getting following error message while trying to

do so ..... 

 /DD-WRT/toolchains/3.4.6-uclibc-0.9.28/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/bin/ld: iptables: hidden symbol `__udivdi3' in /DD-WRT/toolchains/3.4.6-uclibc-0.9.28/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/libgcc.a(_udivdi3.oS) is referenced by DSO
/DD-WRT/toolchains/3.4.6-uclibc-0.9.28/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/bin/ld: final link failed: Nonrepresentable section on output

Could any one plz tell me what can be the reason behind this and how to overcome it ????

thanks in advance , 

achilles
achilles's picture
Tathagata Das said:

Tathagata Das said:
It is most probably toolchain issue. Somewhere your cross compiler may be corrupter or you might be using wrong cross compiler. Can you please download the fresh toolchain and try it again ?

thnx for the suggestion ... now I am able to compile it though with a different tool chain ... previously I was using 3.4.6-uclibc-0.9.28 but now I am using 4.1.0-uclibc-0.9.28 and compilation is through ... :)

John Lauro
John Lauro's picture
I am trying to compile all

I am trying to compile all from source, and having a similar issue. You mention you were using:
3.4.6-uclibc-0.9.28 and now using:
3.4.6-uclibc-0.9.28

I am not sure I understand the difference.

It does appear to want a different (or at least different location) for the tool chain.

I followed the direction at (and brought in the full 20gb kernel source for all versions): http://www.dd-wrt.com/wiki/index.php/Development

achilles
achilles's picture
John Lauro said:

John Lauro said:
I am trying to compile all from source, and having a similar issue. You mention you were using:
3.4.6-uclibc-0.9.28 and now using:
3.4.6-uclibc-0.9.28
I am not sure I understand the difference.
It does appear to want a different (or at least different location) for the tool chain.
I followed the direction at (and brought in the full 20gb kernel source for all versions): http://www.dd-wrt.com/wiki/index.php/Development

Sorry john, In my last post I mentioned the same tool chain twice by mistake .... actually the tool chain version that you need to get compilation through is :

4.1.0-uclibc-0.9.28

Use this and u will be able to compile the DD-WRT distribution ..... 

John Lauro
John Lauro's picture
achilles said:

achilles said:

John Lauro said: I am trying to compile all from source, and having a similar issue. You mention you were using: 3.4.6-uclibc-0.9.28 and now using: 3.4.6-uclibc-0.9.28 I am not sure I understand the difference. It does appear to want a different (or at least different location) for the tool chain. I followed the direction at (and brought in the full 20gb kernel source for all versions): http://www.dd-wrt.com/wiki/index.php/Development

Sorry john, In my last post I mentioned the same tool chain twice by mistake .... actually the tool chain version that you need to get compilation through is :
4.1.0-uclibc-0.9.28
Use this and u will be able to compile the DD-WRT distribution .....

Ok, that makes sense when I get to that point.  Right now I am having problems just running the prep scripts.  I started fixing some non portable code in jsformat and build for squashfs, but decided I rather work on the main router code instead of the build environment, or I may run into problems later on that I don't notice as it appears to be tied to specific distro...  I tried both 64-bit and 32-bit Centos 5, but it appears that Debian is what I should have used, as apparently Debian has some gcc patches that makes it behave differently.  Should I use the 32-bit distro or a 64-bit AMD distro, or better yet, what ISO should I reinstall from that will give me the least issues building?

achilles
achilles's picture
Yep , there are some problems

Yep , there are some problems in running prep scripts due to 32-bit and 64-bit environment issues .... I would suggest u to use the 32-bit distro ...
BTW I have prepared few scripts to automate download and build of DD-WRT for WGR614L ... I have tested them on FC6 and will post them very soon ...
you can use those scripts or at least take some clue from there...
Also I would sugeest u to go through the following link at least once :
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=165514&sid=41cf23dbcd2ffadb...

It has mention and solution of several common DD-WRT compilation issues ...

John Lauro
John Lauro's picture
32-bit FC6? Kind of old (10

32-bit FC6? Kind of old (10 is current), but found an archive that has it. Downloading as I type this... so I will be ready for when you post the build scripts. :) Thank you.

achilles
achilles's picture
John Lauro said: 32-bit FC6?

John Lauro said: 32-bit FC6? Kind of old (10 is current), but found an archive that has it. Downloading as I type this... so I will be ready for when you post the build scripts. :) Thank you.

ya it z old but I did not feel the need of changing it for the time being ..... BTW i have posted my scripts but currently it z in the review queue ....

BTW if u r done with the download I can suggest u the steps that need to proceed ....

Just copy the following stuff in a shell script in xxxx/yyyy/DD-WRT/opt and run it ....

cd ../src/router

make clean

make

make install

cd -

./sstrip/sstrip ../src/router/mipsel-uclibc/target/bin/*

./sstrip/sstrip ../src/router/mipsel-uclibc/target/sbin/rc

./sstrip/sstrip ../src/router/mipsel-uclibc/target/usr/sbin/*

cp ./bin/ipkg ../src/router/mipsel-uclibc/target/bin

cp ./libgcc/* ../src/router/mipsel-uclibc/target/lib

cd ../src/router/mipsel-uclibc/target/lib

ln -s libgcc_s.so.1 libgcc_s.so

cd -

cp ./etc/preinit ../src/router/mipsel-uclibc/target/etc

cp ./etc/postinit ../src/router/mipsel-uclibc/target/etc

cp ./etc/ipkg.conf ../src/router/mipsel-uclibc/target/etc

cp ./etc/config/* ../src/router/mipsel-uclibc/target/etc/config

cp ./usr/lib/smb.conf ../src/router/mipsel-uclibc/target/usr/lib

cd ../src/router/mipsel-uclibc/target/www

ln -s ../tmp/smbshare smb

cd -

../src/linux/brcm/linux.v24_2/scripts/squashfs/mksquashfs-lzma ../src/router/mipsel-uclibc/target target.squashfs -noappend -root-owned -le

 

echo "<------- Creating TRX image -------->"

./tools/trx_wgr614 -o linux.trx ./loader-0.02/loader+400.lzma ../src/router/mipsel-uclibc/vmlinuz -a 1024 target.squashfs

echo "<-------- Creating CHK image ---------->"

touch emptyfile

echo U12H072T00_NETGEAR >> compatible.txt

./tools/packet -k linux.trx -f emptyfile -b compatible.txt -ok kernel_image -oall dd-wrt -or rootfs_image -i emptyfile

rm -f emptyfile compatible.txt kernel_image.chk rootfs_image.chk

I hope this will help u out .......

imran
imran's picture
@achilles

@achilles
I have also gone through the hardship that is required to compile the DD-WRT distribution .... though I am able to get it compiled but I am looking forward to get your scripts from this site and test them for my build ....
When will your scripts be available .... Will it be a beta release ?... Will there be any instructions to use them and have you tested them on anything other that FC6 ....
thnx

achilles
achilles's picture
imran said:

imran said:
@achilles
I have also gone through the hardship that is required to compile the DD-WRT distribution .... though I am able to get it compiled but I am looking forward to get your scripts from this site and test them for my build ....
When will your scripts be available .... Will it be a beta release ?... Will there be any instructions to use them and have you tested them on anything other that FC6 ....
thnx

It will be available very soon and it will be a beta release ..... All suggestions/feedback for improvement of these scripts are welcome .... There will instructions to utilize these scripts ..... Besides FC6 I have tested it on FC9 ....

 

John Lauro
John Lauro's picture
It took a long time to get

It took a long time to get FC6 downloaded and installed... download rate was about 1/10th of what I was used to.

The good news, switching to FC6 helped in that I was able to get further without having to modify the C code or makefiles. However, still running into some problems well before it compiles everything.

It does go further, but unfortunately, I have not been able to compile it all. Should I run the script you run prior to, after, or instead of the scripts mention on dd-wrt ( 0. Run ready_ddwrt.sh and ready_ddwrt_root.sh, and in DD-WRT/opt run ./install.sh. Running ./install_* to build a particular variant requires you rebuild shared code first.)? The make command did prompt for several configuration options.

The error I am receiving:
. . .
In file included from /home/ddwrt/DD-WRT/src/router/shared/wlutils.h:19,
from utils.c:25:
/home/ddwrt/DD-WRT/src/include.v23/wlioctl.h:24:28: error: proto/bcmevent.h: No such file or directory
. . .

That file is in include.v24, but not include.v23. I am tempted to just copy it and see.

John Lauro
John Lauro's picture
I see your scripts were

I see your scripts were posted, and after some reworking of the tool chains I was able to get them to work, but have not tried to upload it to a router yet...

A pointer as to which version(s) of the toolchains you have installed and thus are known to work would be a helpful addition to your documentation or scripts.

I do have cables on order and want to put that mod in place first in case I brick it...

achilles
achilles's picture
John Lauro said:

John Lauro said:
I see your scripts were posted, and after some reworking of the tool chains I was able to get them to work, but have not tried to upload it to a router yet...
A pointer as to which version(s) of the toolchains you have installed and thus are known to work would be a helpful addition to your documentation or scripts.
I do have cables on order and want to put that mod in place first in case I brick it...

The toolchain version that I am using in my builds is :

4.1.0-uclibc-0.9.28 

Keep us posted about your findings once you flash your router with this image ... 

 

John Lauro
John Lauro's picture
achilles said:

achilles said:

John Lauro said: I see your scripts were posted, and after some reworking of the tool chains I was able to get them to work, but have not tried to upload it to a router yet... A pointer as to which version(s) of the toolchains you have installed and thus are known to work would be a helpful addition to your documentation or scripts. I do have cables on order and want to put that mod in place first in case I brick it...

The toolchain version that I am using in my builds is :
4.1.0-uclibc-0.9.28 
Keep us posted about your findings once you flash your router with this image ... 

 

Sorry for the delay in getting back on this...  It flashed just fine and is working!  Made some minor mods (just to verify I can reproduce), and reflashed and all is well.  (Actually had trouble the second time getting it to twork with a .trx file and messed it up, but was able to push a .chk via tftp).  Would be nice if dd-wrt support .chk files directly, or if the build process also made a .bin that could be used once it's in dd-wrt mode.

 

 

achilles
achilles's picture
John Lauro said:

John Lauro said:

achilles said:

John Lauro said: I see your scripts were posted, and after some reworking of the tool chains I was able to get them to work, but have not tried to upload it to a router yet... A pointer as to which version(s) of the toolchains you have installed and thus are known to work would be a helpful addition to your documentation or scripts. I do have cables on order and want to put that mod in place first in case I brick it...

The toolchain version that I am using in my builds is : 4.1.0-uclibc-0.9.28  Keep us posted about your findings once you flash your router with this image ... 

Sorry for the delay in getting back on this...  It flashed just fine and is working!  Made some minor mods (just to verify I can reproduce), and reflashed and all is well.  (Actually had trouble the second time getting it to twork with a .trx file and messed it up, but was able to push a .chk via tftp).  Would be nice if dd-wrt support .chk files directly, or if the build process also made a .bin that could be used once it's in dd-wrt mode.

Hi John,

Thanx for update from ur side ... I will definitely look into your suggestion and try to write some scripts that will create a bin image which can be flashed into WGR614L ....