eProsima/Integration-Service

Error: 'class peg::parser' has no member named 'log'

Closed this issue · 8 comments

COPS95 commented

The error message suggests that a class member function is being accessed from an inaccessible context or is declared private. Specifically, it says that class peg::parser has no member named log, and it suggests that peg::Log peg::parser::log_ might be the correct name.

The error occurs in multiple places in the codebase, specifically in the Parser constructor and the is_token member function. The error seems to be related to the cpp-peglib third-party library, which is included in the xtypes library.

Any suggestion?
I just git clone https://github.com/eProsima/Integration-Service.git src/Integration-Service --recursive
and colcon build

Thanks!

This has been solved in #186 but is yet to be merged. Please try with hotfix/update_xtypes

COPS95 commented

Hello @MiguelBarro, I did "git merge hotfix/update_xtypes"
Hoowever the thridparty/xtypes are not updated, it looks "thridparty/xtypes" is in other repository. How can i update me "main" repository successfull? thanks so much!

I believe that is a git issue. Try use:

> git submodule update --remote
COPS95 commented

First, thanks so much for your help @MiguelBarro !
Second, it not update

I got :
$ git submodule update --remote
fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'thirdparty/xtypes'

More information:
$git remote -v
origin https://github.com/eProsima/Integration-Service.git (fetch)
origin https://github.com/eProsima/Integration-Service.git (push)
$ git remote show origin

  • remote origin
    Fetch URL: https://github.com/eProsima/Integration-Service.git
    Push URL: https://github.com/eProsima/Integration-Service.git
    HEAD branch: main
    Remote branches:
    bugfix/types-from-several tracked
    feat/websocket-bson tracked
    feat/websocket-msgpack tracked
    feature/eros-distro-release tracked
    feature/improve_dds_examples tracked
    feature/mw-aliases tracked
    feature/ros2_dynamic tracked
    feature/thirdparty tracked
    feature/uncristify-test tracked
    feature/windows tracked
    hotfix/update_xtypes tracked
    main tracked
    ros2-typename tracked
    tmp/databroker-alias tracked
    Local branches configured for 'git pull':
    hotfix/update_xtypes merges with remote hotfix/update_xtypes
    main merges with remote main
    Local refs configured for 'git push':
    hotfix/update_xtypes pushes to hotfix/update_xtypes (up to date)
    main pushes to main (fast-forwardable)

I believe this should do it:

> git pull --recurse-submodules
COPS95 commented

Hello @MiguelBarro

I finish i did:ç
git submodule add --force https://github.com/eProsima/xtypes.git thirdparty/xtypes
Reactivating local git directory for submodule 'thirdparty/xtypes'.
However the files are the same than older.
So this documment has not changed and i had the same problem.
Could be that it just did "commint", but not push?

I wait for your answer
BR.

Maybe is just a misunderstanding. When I mentioned the #186, which has not yet been merged, I was actually hinting you to use the associated branch hotfix/update_xtypes.
If you don't checkout that branch you are just running in master which is yet to be fixed.

COPS95 commented

Thanks so much @MiguelBarro

Finally I solved this problem flow next steps:

  • git checkout hotfix/update_xtypes.
  • after that go to folder /Integration-Service/thirdparty/xtypes (this was my problem, i was in /Integration-Service)
  • after that -> /Integration-Service/thirdparty/xtypes$ git submodule update --remote
  • It's works, after that i can colcon build
    BR.