Ceedling gem working ???

97 views
Skip to first unread message

David Good

unread,
Jul 25, 2024, 4:44:50 PM7/25/24
to throwth...@googlegroups.com
I just upgraded my Debian main development machine (work) to Debian 12 and ceedling is no longer working .

dgood@engin-t1650:~/samba/pv/dev/PCU/Firmware/test$ ceedling clean
/usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:430:in `visit_Psych_Nodes_Alias': Unknown alias: common_defines (Psych::BadAlias)
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:338:in `block in register_empty'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:338:in `each'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:338:in `register_empty'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:146:in `visit_Psych_Nodes_Sequence'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:318:in `visit_Psych_Nodes_Document'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
from /usr/lib/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
from /usr/lib/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
from /usr/lib/ruby/3.1.0/psych.rb:335:in `safe_load'
from /usr/lib/ruby/3.1.0/psych.rb:370:in `load'
from /usr/lib/ruby/3.1.0/psych.rb:671:in `block in load_file'
from /usr/lib/ruby/3.1.0/psych.rb:670:in `open'
from /usr/lib/ruby/3.1.0/psych.rb:670:in `load_file'
from /var/lib/gems/3.1.0/gems/ceedling-0.31.1/bin/ceedling:278:in `<top (required)>'
from /usr/local/bin/ceedling:25:in `load'
from /usr/local/bin/ceedling:25:in `<main>'


Searching for this error , there seems to be some breaking incompatibility between Ruby and Psych 4.0 which should be fixed in the gem .

I'm not a ruby person , so I'm of very little help here . I tried to change all references to YAML.load to YAML.safe_load in the gem manually to see if it would help , but it doesn't seem to .

Has anyone else run into this ?

Thanks !!

--David

Mark Vander Voord

unread,
Jul 25, 2024, 4:49:38 PM7/25/24
to throwth...@googlegroups.com
Hi David:

This has been fixed with the Ceedling release candidate. You can download it directly from the Releases folder on github and install it using `gem install --local filename`.

Alternatively, you can downgrade Ruby to a pre 3.0 version

Mark

--
You received this message because you are subscribed to the Google Groups "ThrowTheSwitch Forums" group.
To unsubscribe from this group and stop receiving emails from it, send an email to throwtheswitc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/throwtheswitch/CALMFhSxtKgXZT%3Dds3yqLFyaFpJp0sskTuA9eHD4BgPuxri3rJA%40mail.gmail.com.

Mike Karlesky

unread,
Jul 25, 2024, 4:55:36 PM7/25/24
to throwth...@googlegroups.com

David,

To be clear as to what's happening… Your Ceedling gem is probably the last officially released version. It is only compatible with Ruby 2. When you updated your Debian machine, Ruby likely got bumped to Ruby 3. There are Ruby language version incompatibilities in your Ceedling gem.

The latest version of Ceedling, prerelease 1.0.0, is Ruby 3 compatible (but not Ruby 2 compatible). It includes a sizable number of improvements, bug fixes, and breaking changes. So, moving to it could be a bit of a task.

As Mark said, your easiest route is to downgrade your Debian system to Ruby 2 if you can.

Michael

David Good

unread,
Jul 25, 2024, 5:25:36 PM7/25/24
to throwth...@googlegroups.com
Thanks for the replies !

So , if I wanted to install the prerelease , I downloaded it and unpacked it . What is the proper command to run (i.e. given "gem install --local filename" , what is 'filename" ) ? Ceedling-1.0.0-d9f56d5/Gemfile ?

--David

Michael Karlesky

unread,
Jul 25, 2024, 5:39:04 PM7/25/24
to throwth...@googlegroups.com

No need to unpack anything. Download the .gem file from the repository, and that single file is the filename you are looking for.

p.s. There is a ton of new documentation. It was all linked along with the prerelease. It would be a good idea to digest it and any feedback would be great.

p.p.s. We’ll have updated Docker images soon if that’s a preferred way to run a tool like Ceedling (and all the accompanying GNU tools and plugin tools).

On Jul 25, 2024, at 5:25 PM, David Good <david...@gmail.com> wrote:



David Good

unread,
Jul 25, 2024, 7:06:07 PM7/25/24
to throwth...@googlegroups.com
Ahh yes , I somehow missed the .gem file and downloaded the source archive .

Thanks !

--David

Reply all
Reply to author
Forward
0 new messages