RTEMS build failure for 4.11/rtems-sparc

Nick Withers nick.withers at anu.edu.au
Wed Jan 27 10:53:45 UTC 2016


Hi there Athanasios!

On Wed, 2016-01-27 at 11:48 +0100, Athanasios.Tsiodras at esa.int wrote:
> Hello RTEMS wizards.
> 
> I am trying to setup a nightly build process for 4.11/rtems-sparc
> (which 
> is the target of interest for my section of the European Space
> Agency). I 
> managed to get a firewall exception from our tech department so I can
> (finally) checkout directly from git.rtems.org.
> 
> The following sequence of commands, however, showcases a failed
> attempt to 
> build 4.11/rtems-sparc :
> 
>     $ git clone git://git.rtems.org/rtems-source-builder.git
>     $ cd rtems-source-builder
>     $ git checkout 4.11
>     $ sudo apt-get build-dep binutils gcc g++ gdb unzip git python2.7
> -dev
>     ...
>     $ ./source-builder/sb-check
>     RTEMS Source Builder - Check, 4.11 (436ec884a86c)
>     Environment is ok
> 
>     $ cd rtems
>     $ ../source-builder/sb-set-builder --log=l-sparc.txt 
> --prefix=$HOME/development/rtems/4.11 4.11/rtems-sparc
>     ...
>     config: tools/rtems-gdb-7.9-1.cfg
>     package: sparc-rtems4.11-gdb-7.9-i686-linux-gnu-1
>     building: sparc-rtems4.11-gdb-7.9-i686-linux-gnu-1
>     reporting: tools/rtems-gdb-7.9-1.cfg -> 
> sparc-rtems4.11-gdb-7.9-i686-linux-gnu-1.txt
>     reporting: tools/rtems-gdb-7.9-1.cfg -> 
> sparc-rtems4.11-gdb-7.9-i686-linux-gnu-1.xml
>     config: tools/rtems-tools-4.11-1.cfg
>     package: rtems-tools-4.11-1
>     git: reset: git://git.rtems.org/rtems-tools.git
>     git: checkout: git://git.rtems.org/rtems-tools.git => 4.11
>     git: pull: git://git.rtems.org/rtems-tools.git
>     building: rtems-tools-4.11-1
>     error: building rtems-tools-4.11-1
>     Build FAILED
> 
> Right after building GDB (successfully - I can see the sparc
> -rtems4.11-gdb 
> binary in the "temp" build folder) RSB tries to build rtems-tools
> -4.11, 
> via an auto-generated "doit" script. After checking out from 
> git://git.rtems.org/rtems-tools.git  the script tries to "cd 
> rtems-tools-4.11" but in fact the only thing that exists in that
> folder 
> after checking out from rtems-tools.git is:
> 
> thanassis at taste 
> ~/development/rtems/src/rtems-source-builder/rtems/build/rtems-tools
> -4.11-1
> $ ls -l
> total 20
> drwxr-xr-x 2 thanassis thanassis 4096 Jan 27 10:46 ./
> drwxr-xr-x 8 thanassis thanassis 4096 Jan 27 10:35 ../
> -rwxr-xr-x 1 thanassis thanassis 5313 Jan 27 10:45 doit*
> lrwxrwxrwx 1 thanassis thanassis   92 Jan 27 10:35 rtems-tools.git ->
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git/
> 
> ...so the process fails.
> 
> I verified that this is indeed the issue by patching "doit" to
> introduce a 
> second symlink:
> 
>     $ diff -u doit doit.new
>     --- doit        2016-01-27 11:24:40.738260198 +0100
>     +++ doit.new    2016-01-27 11:34:12.614248399 +0100
>     @@ -82,6 +82,7 @@
>      cd 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/build/rtems-tools-4.11-1
>      /bin/rm -rf ${rtems_tools_source}
>      ln -s 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git 
> ${source_dir_rtems_tools}
>     +ln -s 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git 
> rtems-tools-4.11
>      cd ${rtems_tools_source}
>      /bin/chmod -R a+rX,g-w,o-w .
> 
> After this change, "doit" completes successfully:
> 
>     thanassis at taste 
> ~/development/rtems/src/rtems-source-builder/rtems/build/rtems-tools
> -4.11-1
>     $ ./doit.new
>     => rtems-tools-4.11-1:
>     ==> %prep:
>     ==> clean %{buildroot}: 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/build/tmp/rtems-tools-4.11-1-root-thanassis
>     ==> %build:
>     Setting top to                           : 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git
>     Setting out to                           : 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git/build
>     Version                                  :
> 4.11.3175451a890e_modified 
> (4.11)
>     Checking for 'gcc' (C compiler)          : /usr/bin/gcc
>     Checking for 'g++' (C++ compiler)        : /usr/bin/g++
>     Checking for header alloca.h             : yes
>     Checking for header fcntl.h              : yes
>     Checking for header process.h            : not found
>     ...
>     + install 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/build/tmp/rtems-tools-4.11-1-root
> -thanassis/home/thanassis/development/rtems/4.11/share/rtems/tester/r
> tems/version.cfg 
> (from tester/rtems/version.cfg)
>     Waf: Leaving directory 
> `/home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git/build'
>     'install' finished successfully (0.779s)
>     ==> %clean:
> 
> Here's the final form of the build folder afterwards:
> 
>     thanassis at taste 
> ~/development/rtems/src/rtems-source-builder/rtems/build/rtems-tools
> -4.11-1
>     $ ls -l
>     total 24
>     -rwxr-xr-x 1 thanassis thanassis 5308 Jan 27 11:24 doit
>     -rwxr-xr-x 1 thanassis thanassis 5425 Jan 27 11:34 doit.new
>     lrwxrwxrwx 1 thanassis thanassis   92 Jan 27 11:34 rtems-tools
> -4.11 -> 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git
>     lrwxrwxrwx 1 thanassis thanassis   92 Jan 27 11:24 rtems
> -tools.git -> 
> /home/thanassis/development/rtems/src/rtems-source
> -builder/rtems/sources/git/rtems-tools.git
> 
> The hack works, but I of course need to somehow introduce this in the
> process that emits "doit" - which I understand is driven from the
> config 
> files.
> 
> Any help?
> Thanks in advance!

Could you please try the patch in https://devel.rtems.org/ticket/2495 ?

What a great bug report!

> P.S. I am not the only one experiencing this - see relevant question
> on 
> StackOverflow a month ago: 
>  
> http://stackoverflow.com/questions/34369549/shell-cmd-failed-while-bu
> ilding-rtems-on-linux-mint
> 
> This message and any attachments are intended for the use of the
> addressee or addressees only.
> The unauthorised disclosure, use, dissemination or copying (either in
> whole or in part) of its
> content is not permitted.
> If you received this message in error, please notify the sender and
> delete it from your system.
> Emails can be altered and their integrity cannot be guaranteed by the
> sender.
> 
> Please consider the environment before printing this email.
> 
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list