While building Qt5 toolchain [bitbake meta-toolchain-qt5], build fails with ruby-2.2.5 ?!

Hello,

While building toolchain for Qt5 with the command: bitbake meta-toolchain-qt5, the whole thing fails with the following messages:

    | make[2]: 'ruby' is up to date.
    | make[2]: Leaving directory '/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/build'
    | make[1]: Leaving directory '/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/build'
    | Generating RDoc documentation
    | 
    | Directory .ext/rdoc already exists, but it looks like it isn't an RDoc directory.
    | 
    | Because RDoc doesn't want to risk destroying any of your existing files,
    | you'll need to specify a different output directory name (using the --op <dir>
    | option)
    | 
    | /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:108:in `error'
    | 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:208:in `rescue in setup_output_dir'
    | 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:195:in `setup_output_dir'
    | 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:476:in `document'
    | 	../ruby-2.2.5/bin/rdoc:20:in `<main>'
    | 
    | make: *** [uncommon.mk:428: rdoc] Error 1
    | WARNING: /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/temp/run.do_compile.5866:1 exit 1 from 'exit 1'
    | ERROR: Function failed: do_comp| make[2]: 'ruby' is up to date.
| make[2]: Leaving directory '/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/build'
| make[1]: Leaving directory '/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/build'
| Generating RDoc documentationhttp://developer.toradex.com/knowledge-base/board-support-package/openembedded-(core)#Adding_the_Qt5_Layer
| 
| Directory .ext/rdoc already exists, but it looks like it isn't an RDoc directory.
| 
| Because RDoc doesn't want to risk destroying any of your existing files,
| you'll need to specify a different output directory name (using the --op 
| option)
| 
| /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:108:in `error'
| 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:208:in `rescue in setup_output_dir'
| 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:195:in `setup_output_dir'
| 	/home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/ruby-2.2.5/lib/rdoc/rdoc.rb:476:in `document'
| 	../ruby-2.2.5/bin/rdoc:20:in `<main>'
| 
| make: *** [uncommon.mk:428: rdoc] Error 1
| WARNING: /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/temp/run.do_compile.5866:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/temp/log.do_compile.5866)
ERROR: Task (virtual:native:/home/user/toradex/Qt5-plus-x11/oe-core/build/../layers/openembedded-core/meta/recipes-devtools/ruby/ruby_2.2.5.bb:do_compile) failed with exit code '1'

Second Keyboard Interrupt, stopping...ile (log file is located at /home/user/toradex/Qt5-plus-x11/oe-core/build/tmp-glibc/work/x86_64-linux/ruby-native/2.2.5-r0/temp/log.do_compile.5866)
    ERROR: Task (virtual:native:/home/user/toradex/Qt5-plus-x11/oe-core/build/../layers/openembedded-core/meta/recipes-devtools/ruby/ruby_2.2.5.bb:do_compile) failed with exit code '1'
    
    Second Keyboard Interrupt, stopping...

I am exactly following the pointer: High performance, low power Embedded Computing Systems | Toradex Developer Center

But this one I was not able to solve so far (I have tried all cleanings and this did not help)… ?!

Please, could you follow exact steps and ensure that you do NOT have the same error??? Maybe I did not include some required package on my host for ruby 2.2.5?

Thank you,
nobody

Downgrading Morty ruby 2.2.5 package to Krogoth ruby 2.2.2 (native from YOCTO Project) does not solve this problem as well.

The same error after some 350 sec of ruby compiling.

I am now reading in depth what is the problem, and it seems that there is somewhere some directory called ext/rdoc . I will look into …/oe-poky/build/tmp/… to try to find this directory and try to figure it out… :frowning:


nobody

Hi

Note that it is not ruby which fails, but it is ruby-native.
So in order to clean you would need to

MACHINE=colibri-imx6 bitbake -c cleansstate ruby-native
MACHINE=colibri-imx6 bitbake -c compile ruby-native

Also ruby-native builds here for a 2.7.3 installation as described here so I do not think that changing the version being built is the first thing to do.

What git hashes of the layers do you have installed, e.g. what is the version summary which gets output by bitbake at the beginning of a bitbake run?

Max

Hello Max,

I did clean re-build, but it failed again about 30 minutes ago. Same place, same error. Not to say that I had other errors, but these I was able to fix, and to build my own iMX6 Colibri load, sans Qt5 tools and layers, I guess.

Here is how it looks now.

[user@localhost build]$ MACHINE=colibri-imx6 bitbake -c compile ruby-native
Loading cache: 100% |########################################################################################################| Time: 0:00:01
Loaded 3422 entries from dependency cache.
WARNING: No recipes available for:
  /home/user/toradex/Qt5-plus-x11/oe-core/build/../layers/meta-jetson-tk1/recipes-graphics/mesa/mesa_11.1.1.bbappend
  /home/user/toradex/Qt5-plus-x11/oe-core/build/../layers/meta-angstrom/recipes-tweaks/ecj/ecj-initial-native.bbappend
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-26"
TARGET_SYS        = "arm-angstrom-linux-gnueabi"
MACHINE           = "colibri-imx6"
DISTRO            = "angstrom"
DISTRO_VERSION    = "v2016.12"
TUNE_FEATURES     = "arm armv7a vfp thumb neon       callconvention-hard"
TARGET_FPU        = "hard"
meta-angstrom     = "HEAD:709abee819ee349dab873f6abb02c404b2c65331"
meta-toradex-nxp  = "HEAD:89a17628efef01fd5af202e88d79188df08f636f"
meta-freescale    = "HEAD:fa774ad7fb797957601a8c9fee45af453fea34b7"
meta-freescale-3rdparty = "HEAD:1879485e63ce369292c89b5902ff6df13509090b"
meta-toradex-tegra = "HEAD:40e9d4bd596a01df7fccd305befc362a08117f9f"
meta-jetson-tk1   = "HEAD:e8b87fe8da7c6fcffa37ab245f50082953cc1ee1"
meta-toradex-bsp-common = "HEAD:b128af95613557af8deaea30212e89e6316eab88"
meta-snappy       = "HEAD:f6df6a63756d9976bcccb5fefdbc64e5cc794c99"
meta-linaro-toolchain = "HEAD:e5b6b4e20a489bd7f39a9053f84914e318aea199"
meta-oe           
meta-efl          
meta-gpe          
meta-gnome        
meta-xfce         
meta-initramfs    
meta-systemd      
meta-networking   
meta-multimedia   
meta-python       = "HEAD:fe5c83312de11e80b85680ef237f8acb04b4b26e"
meta-lxde         = "HEAD:1bd36a4d0f7e1e9fdea9c4c991188bc1dc9da421"
meta-browser      = "HEAD:ee0d264347ca89efe73788a11f31504d1d42b716"
meta-qt4          = "HEAD:2c7f8df9039be498f8a2232d1428adb7f4e5e800"
meta-qt5          = "HEAD:3601fd2c5306ac6d5d0d536e0be8cbb90da9b4c1"
meta-freescale-distro = "HEAD:cd5c7a2539f40004f74126e9fdf08254fd9a6390"
meta-toradex-demos = "HEAD:9776575a1a4b243f3a80de22bd16ea6a9525912d"
meta              = "HEAD:4c353eeff45f91533f22392f129bc5a477ee5207"

Initialising tasks: 100% |###################################################################################################| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
Currently  1 running tasks (103 of 103)  99% |############################################################################################ |
0: ruby-native-2.2.5-r0 do_compile - 55s (pid 3227)

The error is EXACT the same as few previous. Long (over 5000 lines of report), and on this tip of iceberg you can see repo heads/GIT hashes (I guess you wanted to have these).

Maybe I missed to install some packages on the Fedora 26 x86_64 host?! Not sure… :frowning:

Thank you,
nobody

Hi

  • Did you install all the prerequisites? Both the list from the Openembedded Wiki and the ones we list?
  • Do you use some unusual locale settings on your fedora? e.g. what is the output of localectl?
  • Do the attached files, unpacked in meta-toradex-demos help? They patch away the building of the doc files which make the build fail.

Max

Hello Max,

Here are answers, but, please, note that I am just diving deep down to YOCTO.

[1] A: All TORADEX prerequisites are installed. Even more, so some of them (xterm) are too much, so I kick this out (I have my own kind of terminals).

[1] B: OE Wiki? Did not understand the question. Seems that all good… ?!

[2] localectl:

[user@localhost build]$ localectl 
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
[user@localhost build]$

[3] A: before I come to your patch, here is (basically) what additionaly I have installed last 24 hours to get rid of this problem on host Fedora 26:

[root@localhost build]# dnf list installed | grep ruby
ruby.x86_64                             2.4.1-79.fc26           @fedora         
ruby-irb.noarch                         2.4.1-79.fc26           @fedora         
ruby-libs.x86_64                        2.4.1-79.fc26           @fedora         
rubygem-atk.noarch                      3.1.8-1.fc26            @updates        
rubygem-bigdecimal.x86_64               1.3.0-79.fc26           @fedora         
rubygem-cairo.x86_64                    1.15.9-1.fc26           @fedora         
rubygem-cairo-gobject.x86_64            3.1.8-1.fc26            @updates        
rubygem-clutter.noarch                  3.1.8-1.fc26            @updates        
rubygem-clutter-gdk.noarch              3.1.8-1.fc26            @updates        
rubygem-clutter-gtk.noarch              3.1.8-1.fc26            @updates        
rubygem-clutter-gtk-doc.noarch          3.1.8-1.fc26            @updates        
rubygem-did_you_mean.x86_64             1.1.0-79.fc26           @fedora         
rubygem-gdk3.noarch                     3.1.8-1.fc26            @updates        
rubygem-gdk_pixbuf2.noarch              3.1.8-1.fc26            @updates        
rubygem-gio2.x86_64                     3.1.8-1.fc26            @updates        
rubygem-glib2.x86_64                    3.1.8-1.fc26            @updates        
rubygem-gobject-introspection.x86_64    3.1.8-1.fc26            @updates        
rubygem-gtk2.x86_64                     3.1.8-1.fc26            @updates        
rubygem-gtk2-doc.x86_64                 3.1.8-1.fc26            @updates        
rubygem-gtk3.x86_64                     3.1.8-1.fc26            @updates        
rubygem-gtk3-doc.noarch                 3.1.8-1.fc26            @updates        
rubygem-io-console.x86_64               0.4.6-79.fc26           @fedora         
rubygem-openssl.x86_64                  2.0.3-79.fc26           @fedora         
rubygem-pango.x86_64                    3.1.8-1.fc26            @updates        
rubygem-psych.x86_64                    2.2.2-79.fc26           @fedora         
rubygem-rdoc.noarch                     5.1.0-2.fc26            @updates        
rubygem-rdoc-doc.noarch                 5.1.0-2.fc26            @updates        
rubygem-sdoc.noarch                     0.4.2-2.fc26            @fedora         
rubygem-sdoc-doc.noarch                 0.4.2-2.fc26            @fedora         
rubygem-text.noarch                     1.3.1-4.fc26            @fedora         
rubygem-text-doc.noarch                 1.3.1-4.fc26            @fedora         
rubygems.noarch                         2.6.11-79.fc26          @fedora         
rubypick.noarch                         1.1.1-6.fc26            @fedora         
[root@localhost build]# 

Did NOT help… ???

[3] B: Do the attached files, unpacked in meta-toradex-demos help?

YES, It did. I placed/merged it very wrongly into …oe-core/layers/openembedded-core/meta/recipes-devtools/ruby (ignorant me!?), but after all, I placed it correctly in …/oe-core/layers/meta-toradex-demos/recipes-devtools/

YES, YES, it does work! :slight_smile:

Thank you,
nobody

Good to hear that you could fix it.
Which of the measures helped?

Max

One more thing to add… Here, it is very clear to me that Fedora 26 somehow has bug with rubygem packages.

Adding these two packages to host Fedora 26 on bare metal (i5-4300U Haswell, 12GB of DDR3), should solve this problem, before TORADEX’s/Max’s patch:

 rubygem-rdoc.noarch                     5.1.0-2.fc26            @updates        
 rubygem-rdoc-doc.noarch                 5.1.0-2.fc26            @updates       

Has nothing to do with TORADEX, just to clarify the problem.

Thank you,
nobody

Thanks for letting us know

Max