[Buildroot] 2016.11-rc2 with really old versions of bash (RHEL5)
Yann E. MORIN
yann.morin.1998 at free.fr
Wed Nov 16 23:13:12 UTC 2016
Ricardo, All,
On 2016-11-16 20:48 -0200, Ricardo Martincoski spake thusly:
> Do you see the issue described below? Maybe I am doing something wrong.
> What bash version do you have in your RHEL5 servers?
>
> All,
>
> Ancient versions of bash don't support 'Associative arrays', leading to build
> error using 2016.11-rc2 in a plain vanilla RHEL5.
Asociative arrays were introduced in bash-4.0, indeed.
Doing without associative arrays is not very easy. Rather, it would be
very difficult.
Unless the script is re-written in an other language...
> Please notice EOL of RHEL5 is 31 Mar 2017 [1].
Well, it's not even 6 months in the future. Time to upgrade, maybe? ;-)
> Currently the manual does not specify a minimum version of bash [2].
I think the best short-term solution is that we advertise that bash 4.0
is required, now.
Let's see what others think...
Regards,
Yann E. MORIN.
> This is NOT my use case!
> I was just testing some unrelated stuff in a VM and came across it.
> I didn't tested the obvious workaround (installing a newer bash) but it should
> work.
>
> See below the logs for RHEL5 (error) and RHEL6 (ok).
>
> [ricardo at centos5 buildroot-2016.11-rc2]$ grep release /etc/issue
> CentOS release 5.11 (Final)
> [ricardo at centos5 buildroot-2016.11-rc2]$ bash --version | grep bash
> GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
> [ricardo at centos5 buildroot-2016.11-rc2]$ make -s defconfig
> support/scripts/br2-external: line 6: declare: -A: invalid option
> declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
> Makefile:188: /home/ricardo/buildroot-2016.11-rc2/output/.br-external.mk: No such file or directory
> make[1]: Failed to remake makefile `/home/ricardo/buildroot-2016.11-rc2/output/.br-external.mk'.
> support/scripts/br2-external: line 6: declare: -A: invalid option
> declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
> make[1]: *** [/home/ricardo/buildroot-2016.11-rc2/output/build/.br2-external.in] Error 2
> make: *** [_all] Error 2
>
> [ricardo at centos6 buildroot-2016.11-rc2]$ grep release /etc/issue
> CentOS release 6.8 (Final)
> [ricardo at centos6 buildroot-2016.11-rc2]$ bash --version | grep bash
> GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
> [ricardo at centos6 buildroot-2016.11-rc2]$ make -s defconfig
> #
> # configuration written to /home/ricardo/buildroot-2016.11-rc2/.config
> #
>
> [1] https://wiki.centos.org/Download
> [2] http://nightly.buildroot.org/manual.html#requirement-mandatory
>
> Regards,
> Ricardo
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list