Skip to contentSkip to conversation

setting up buildroot for using OLD gcc / binutils

Buildroot W.P. 4 participants 12 messages Oct 12, 2009 – Oct 16, 2009 2 messages not in the archive

lore
Share & tools
lore

W.P.

author
#0 lore raw

Hi,
how can I set up CURRENT buildroot to use OLD gcc/binutils/kernel/uClibc? I need gcc 3.4.4, kernel 2.6.12.6-venus, uClibc 0.9.28?

W.P.

#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"W" == W P <[email protected]> writes:

W> Hi,
W> how can I set up CURRENT buildroot to use OLD gcc/binutils/kernel/uClibc? W> I need gcc 3.4.4, kernel 2.6.12.6-venus, uClibc 0.9.28?

Some older toolchain versions are available if you enable BR_DEPRECATED (Build options->Show packages that are deprecated or obsolete). It won't give you those exact options, but it might be close enough.

Signature · 1 line
Bye, Peter Korsgaard
author
#2 lore raw

U?ytkownik Peter Korsgaard napisa?:

Quoted 12 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"W" == W P <[email protected]> writes:

W> Hi,
W> how can I set up CURRENT buildroot to use OLD gcc/binutils/kernel/uClibc? W> I need gcc 3.4.4, kernel 2.6.12.6-venus, uClibc 0.9.28?

Some older toolchain versions are available if you enable BR_DEPRECATED (Build options->Show packages that are deprecated or obsolete). It won't give you those exact options, but it might be close enough.

Almost :(

With choosing this option I am able to select gcc down-to 3.4.6, binutils 2.17, uClibc 0.9.28.3, kernel 2.6.2x ...

Could you point me to the file where are these choices are in? If I know in what file, then adding an option ex. to gcc 3.4.4 instead of 3.4.6 should be easy...

W.P.

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#4 lore raw

U?ytkownik Bernhard Reutner-Fischer napisa?:

Quoted 27 lines · W.P.
Quoted 16 lines

U?ytkownik Peter Korsgaard napisa?:

Quoted 13 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

"W" == W P <[email protected]> writes:

W> Hi,
W> how can I set up CURRENT buildroot to use OLD gcc/binutils/kernel/uClibc? W> I need gcc 3.4.4, kernel 2.6.12.6-venus, uClibc 0.9.28?

Some older toolchain versions are available if you enable BR_DEPRECATED (Build options->Show packages that are deprecated or obsolete). It won't give you those exact options, but it might be close enough.

Quoted 9 lines

Almost :(

With choosing this option I am able to select gcc down-to 3.4.6, binutils 2.17, uClibc 0.9.28.3, kernel 2.6.2x ...

Could you point me to the file where are these choices are in? If I know in what file, then adding an option ex. to gcc 3.4.4 instead of 3.4.6 should be easy...

Quoted 6 lines

not really since you have to patch it.
See toolchain/gcc/Config.in

I'm curious why you think you need a compiler that is so full of bugs compared to let's say the current 4.x series?

There is a system (Manta "Multimedia Recorder" HDD-2000 = Shenzen Mele HMC-35HD) that was build using (i am almost sure after several hours of googling) using those versions of tools. And binutils: 2.16 or even 2.15. I want to be able to build some kernel modules, so (correct me if I am wrong) I need EXACT versions of tools/configure options to do so.

BTW It looks crazy, those Chinese/Taiwanese developpers (Mele, Edimax, maybe others) seems to be TIED to gcc 3.4.4(3).....
(look at published Edimax toolchains for BR-6204Wg, BR-6104KP...)

BTW2: looks Manta(Poland) violates GPL.... : there is NO mention about sources on their web.

W.P.

#5 lore raw
Quoted 5 lines · W.P.

There is a system (Manta "Multimedia Recorder" HDD-2000 = Shenzen Mele HMC-35HD) that was build using (i am almost sure after several hours of googling) using those versions of tools. And binutils: 2.16 or even 2.15. I want to be able to build some kernel modules, so (correct me if I am wrong) I need EXACT versions of tools/configure options to do so.

for kernel modules it's a 80%-90% yes.

Quoted 3 lines

BTW It looks crazy, those Chinese/Taiwanese developpers (Mele, Edimax, maybe others) seems to be TIED to gcc 3.4.4(3).....

It is. It's a pity that this way eventual (size)regressions don't get fixed. I'f nevertheless try to build the module with 3.4.6 and see if that works.

Quoted 4 lines

(look at published Edimax toolchains for BR-6204Wg, BR-6104KP...)

BTW2: looks Manta(Poland) violates GPL.... : there is NO mention about sources on their web.

I think there is a paragraph on the busybox page:
http://busybox.net/license.html#enforce

author
#6 lore raw

U?ytkownik Bernhard Reutner-Fischer napisa?:

Quoted 21 lines · W.P.
Quoted 8 lines

There is a system (Manta "Multimedia Recorder" HDD-2000 = Shenzen Mele HMC-35HD) that was build using (i am almost sure after several hours of googling) using those versions of tools. And binutils: 2.16 or even 2.15. I want to be able to build some kernel modules, so (correct me if I am wrong) I need EXACT versions of tools/configure options to do so.

for kernel modules it's a 80%-90% yes.

Quoted 3 lines

BTW It looks crazy, those Chinese/Taiwanese developpers (Mele, Edimax, maybe others) seems to be TIED to gcc 3.4.4(3).....

It is. It's a pity that this way eventual (size)regressions don't get fixed. I'f nevertheless try to build the module with 3.4.6 and see if that works.

Quoted 9 lines
Quoted 5 lines

(look at published Edimax toolchains for BR-6204Wg, BR-6104KP...)

BTW2: looks Manta(Poland) violates GPL.... : there is NO mention about sources on their web.

I think there is a paragraph on the busybox page:
http://busybox.net/license.html#enforce

Somewhere on the net i've seen sentence about "not being too fast" -> i'll try to look in a store what EXACTLY comes with that Manta. At least they agree on their forum that it is Linux based.

Heeelllp. Where may I find buildroot-0.9.28(29)? I mean later than 0.9.27 and earlier than 2009.09.

Why am I asking: in buildroot 0.9.27 I have found patches for gcc 3.4.3 and I need 3.4.4 (google at linux-2.6.12.6-venus to see why). And in 2009.02 earliest version of patches for gcc is 3.4.6. So there is a "gap" between files available on buildroot download site.

For binutils i need version 2.15.94 which i may find in 0.9.27.

The rest (if I understand well the build process) is relatively simple:
patching config.in with versions i need?

W.P.

#7 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"W" == W P <[email protected]> writes:

W> Heeelllp. Where may I find buildroot-0.9.28(29)? I mean later than W> 0.9.27 and earlier than 2009.09.

I take it you mean 2009.02. There is no such thing, there were no releases between 0.9.27 in 2005 and 2009.02.

W> Why am I asking: in buildroot 0.9.27 I have found patches for gcc 3.4.3 W> and I need 3.4.4 (google at linux-2.6.12.6-venus to see why). W> And in 2009.02 earliest version of patches for gcc is 3.4.6. So there is W> a "gap" between files available on buildroot download site.

3.4.6 patches most likely apply to 3.4.4.

W> For binutils i need version 2.15.94 which i may find in 0.9.27.

W> The rest (if I understand well the build process) is relatively simple:
W> patching config.in with versions i need?

yes.

Have you tried the oldest versions supported by 2009.02 before you do all this work? Chances are that they'll work.

Signature · 1 line
Bye, Peter Korsgaard
author
#8 lore raw

U?ytkownik Peter Korsgaard napisa?:

Quoted 8 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"W" == W P <[email protected]> writes:

W> Heeelllp. Where may I find buildroot-0.9.28(29)? I mean later than W> 0.9.27 and earlier than 2009.09.

I take it you mean 2009.02. There is no such thing, there were no

Yes, 2009-02.

Quoted 10 lines

releases between 0.9.27 in 2005 and 2009.02.

W> Why am I asking: in buildroot 0.9.27 I have found patches for gcc 3.4.3 W> and I need 3.4.4 (google at linux-2.6.12.6-venus to see why). W> And in 2009.02 earliest version of patches for gcc is 3.4.6. So there is W> a "gap" between files available on buildroot download site.

3.4.6 patches most likely apply to 3.4.4.

OK, i'll try to copy them for 3.4.4.

Quoted 11 lines

W> For binutils i need version 2.15.94 which i may find in 0.9.27.

W> The rest (if I understand well the build process) is relatively simple:
W> patching config.in with versions i need?

yes.

Have you tried the oldest versions supported by 2009.02 before you do all this work? Chances are that they'll work.

No, I didn't. But for binutils 2.15.94.0.2.2 patch directory is empty in 2009-02, and there are patches in 0.9.27 in 2.15.94.0.2 dir.

Will try and report results.

W.P.

author
#9 lore raw

U?ytkownik W.P. napisa?:

Quoted 39 lines

U?ytkownik Peter Korsgaard napisa?:

Quoted 8 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

"W" == W P <[email protected]> writes:

W> Heeelllp. Where may I find buildroot-0.9.28(29)? I mean later than W> 0.9.27 and earlier than 2009.09.

I take it you mean 2009.02. There is no such thing, there were no

Yes, 2009-02.

Quoted 11 lines

releases between 0.9.27 in 2005 and 2009.02.

W> Why am I asking: in buildroot 0.9.27 I have found patches for gcc 3.4.3 W> and I need 3.4.4 (google at linux-2.6.12.6-venus to see why). W> And in 2009.02 earliest version of patches for gcc is 3.4.6. So there is W> a "gap" between files available on buildroot download site.

3.4.6 patches most likely apply to 3.4.4.

OK, i'll try to copy them for 3.4.4.

Quoted 12 lines

W> For binutils i need version 2.15.94 which i may find in 0.9.27.

W> The rest (if I understand well the build process) is relatively simple:
W> patching config.in with versions i need?

yes.

Have you tried the oldest versions supported by 2009.02 before you do all this work? Chances are that they'll work.

Quoted 5 lines

No, I didn't. But for binutils 2.15.94.0.2.2 patch directory is empty in 2009-02, and there are patches in 0.9.27 in 2.15.94.0.2 dir.

Will try and report results.

Made "patches" for Config.in for kernel headers, gcc and binutils. No software packages/kernel selected, just toolchain.

First error (download generic 2.6.12.6 kernel OK, and then error):

[root at laurent-home buildroot]# make

Checking build system dependencies:

BUILDROOT_DL_DIR clean:                         Ok
CC clean:                                       Ok
CXX clean:                                      Ok
CPP clean:                                      Ok
CFLAGS clean:                                   Ok
INCLUDES clean:                                 Ok
CXXFLAGS clean:                                 Ok
which installed:                                Ok
sed works:                                      Ok (/bin/sed)

GNU make version '3.81': Ok
C compiler '/usr/bin/gcc'
C compiler version '4.1.2': Ok
C++ compiler '/usr/bin/g++'

C++ compiler version '4.1.2':                   Ok
awk installed:                                  Ok
bash installed:                                 Ok
bison installed:                                Ok
flex installed:                                 Ok
gettext installed:                              Ok
makeinfo installed:                             Ok
Build system dependencies:                      Ok

rm -rf /usr/src/buildroot/project_build_mipsel/uclibc/buildroot-config mkdir -p /usr/src/buildroot/project_build_mipsel/uclibc
cp -dpRf package/config/buildroot-config /usr/src/buildroot/project_build_mipsel/uclibc/buildroot-config

(cd /usr/src/buildroot/toolchain_build_mipsel/linux-2.6.12.6; \
         /usr/bin/make -j1 ARCH=mips \
                HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
                HOSTCXX="/usr/bin/g++" \

INSTALL_HDR_PATH=/usr/src/buildroot/toolchain_build_mipsel/linux

headers_install; \
        )

make[1]: Entering directory `/usr/src/buildroot/toolchain_build_mipsel/linux-2.6.12.6' Makefile:485: .config: No such file or directory
make[1]: *** No rule to make target headers_install'. Stop. make[1]: Leaving directory /usr/src/buildroot/toolchain_build_mipsel/linux-2.6.12.6'
make: *** [/usr/src/buildroot/toolchain_build_mipsel/linux/.configured] Error 2
[root at laurent-home buildroot]#

What should I do?

W.P.

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#11 lore raw

U?ytkownik Gammalsvenska napisa?:

Quoted 23 lines
Quoted 20 lines
Quoted 6 lines

No, I didn't. But for binutils 2.15.94.0.2.2 patch directory is empty in
2009-02, and there are patches in 0.9.27 in 2.15.94.0.2 dir.

Will try and report results.

Made "patches" for Config.in for kernel headers, gcc and binutils. No software packages/kernel selected, just toolchain.

First error (download generic 2.6.12.6 kernel OK, and then error):
[...] `/usr/src/buildroot/toolchain_build_mipsel/linux-2.6.12.6' Makefile:485: .config: No such file or directory
make[1]: *** No rule to make target headers_install'. Stop. make[1]: Leaving directory /usr/src/buildroot/toolchain_build_mipsel/linux-2.6.12.6'
make: *** [/usr/src/buildroot/toolchain_build_mipsel/linux/.configured] Error 2
[root at laurent-home buildroot]#

Quoted 1 line

What should I do?

Quoted 9 lines

You can always use an older version of buildroot.
There are no releases earlier than 2009.05, but it was maintained back then. Snapshots were done in subversion (nowadays they use git) and you can always use an older version from there.

Try to find out which releases are appropriate for you. Manually patching is probably not working too well as in recent releases old versions have been removed including workarounds needed.

Sorry, don't understand. I need to make cross-compile environement with following "parameters":

gcc: 3.4.4
binutils 2.15.94
kernel 2.6.12.6-venus
uClibc 0.9.28
busybox 1.1.3

and i am trying to do this with buildroot. could you help?

W.P.

Quoted 2 lines

Best regards,
Sebastian

#12 lore raw

Hello,

Quoted 6 lines
Quoted 3 lines

You can always use an older version of buildroot.
[...]

Sorry, don't understand. I need to make cross-compile environement with following "parameters":

Quoted 7 lines

gcc: 3.4.4
binutils 2.15.94
kernel 2.6.12.6-venus
uClibc 0.9.28
busybox 1.1.3

and i am trying to do this with buildroot. could you help?

Do the following:

$ git clone git://git.buildroot.net/buildroot
$ cd buildroot/
$ git reset --hard gcc3_legacy
$ make menuconfig

Make sure to activate
"Build options" --> "Show packages that are deprecated or obsolete"

Now you have a version which allows you to use:

gcc 3.4.4
binutils 2.15 or 2.15.94.0.2.2
kernel 2.6.12
uClibc 0.9.28
busybox 1.1.3

You probably can't get closer to your wished versions (easily).

I don't know what your "-venus" kernel means, but if you want to build a kernel module without the _exact_ sources you will probably be out of luck.

Make sure you tell us if it works! :-)

I do not know how to operate git, and I could not find any reference to the old SVN repository (if it still exists...), so you may be better off asking someone else.

I hope I could help,

Best regards,
Sebastian

author
#13 lore raw

U?ytkownik Sebastian napisa?:

Quoted 40 lines

Hello,

Quoted 6 lines
Quoted 3 lines

You can always use an older version of buildroot.
[...]

Sorry, don't understand. I need to make cross-compile environement with following "parameters":

Quoted 7 lines

gcc: 3.4.4
binutils 2.15.94
kernel 2.6.12.6-venus
uClibc 0.9.28
busybox 1.1.3

and i am trying to do this with buildroot. could you help?

Do the following:

$ git clone git://git.buildroot.net/buildroot
$ cd buildroot/
$ git reset --hard gcc3_legacy
$ make menuconfig

Make sure to activate
"Build options" --> "Show packages that are deprecated or obsolete"

Now you have a version which allows you to use:

gcc 3.4.4
binutils 2.15 or 2.15.94.0.2.2
kernel 2.6.12
uClibc 0.9.28
busybox 1.1.3

You probably can't get closer to your wished versions (easily).

I don't know what your "-venus" kernel means, but if you want to build a kernel module without the _exact_ sources you will probably be out of luck.

Quoted 7 lines

Make sure you tell us if it works! :-)

I do not know how to operate git, and I could not find any reference to the old SVN repository (if it still exists...), so you may be better off asking someone else.

I hope I could help,

Great thanks, at least things started to build.

But I got uClibc bigger than on real system. This may be because of options selected by default. (at least what is WRONG in uClibc.config is TARGET_ARCH=none, KERNEL_SOURCE=/usr/src/linux, KERNEL_HEADERS=/usr/src/linux/include -> this points to my i386 kernel files).

So my question for now is how do I selectively "make clean uClibc"? As I want to "play" with uClibc options.

And second one: how to prevent "make clean" from erasing downloads?

W.P.