Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error for libstored in project: error: using typedef-name 'stored::DoublePipeLayer' after 'class' #70

Open
RobertoRoos opened this issue Dec 10, 2024 · 1 comment

Comments

@RobertoRoos
Copy link
Member

We're getting the following error when building libstored in our application though a git submodule:

FAILED: 04_libraries/CMakeFiles/libraries-libstored.dir/home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp.obj 
/usr/bin/arm-none-eabi-g++ -DCOMPILE_FOR_EMBEDDED -DSTORED_DRAFT_API=1 -DSTORED_NAME=stored-libraries -DUSE_EMBDBG_ASSERT -D_DEBUG=1 -I/home/user/project/machine/02_code/05_submodules/libstored/include -I/home/user/project/machine/02_code/04_libraries/libstored/include -I/usr/local/include -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin -fshort-enums -Wno-psabi -fshort-wchar -fno-rtti -fno-exceptions -g -std=gnu++17 -Wall -Wextra -Wdouble-promotion -Wformat=2 -Wundef -Wconversion -Wshadow -Wswitch-default -Wswitch-enum -Wfloat-equal -ffunction-sections -fdata-sections -Wlogical-op -MD -MT 04_libraries/CMakeFiles/libraries-libstored.dir/home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp.obj -MF 04_libraries/CMakeFiles/libraries-libstored.dir/home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp.obj.d -o 04_libraries/CMakeFiles/libraries-libstored.dir/home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp.obj -c /home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp
In file included from /home/user/project/machine/02_code/05_submodules/libstored/include/libstored/synchronizer.h:10,
                 from /home/user/project/machine/02_code/05_submodules/libstored/src/synchronizer.cpp:5:
/home/user/project/machine/02_code/05_submodules/libstored/include/libstored/protocol.h:1387:7: error: using typedef-name 'stored::DoublePipeLayer' after 'class'
 1387 | class DoublePipeLayer : public PolledFileLayer {
      |       ^~~~~~~~~~~~~~~
/home/user/project/machine/02_code/05_submodules/libstored/include/libstored/protocol.h:1378:19: note: 'stored::DoublePipeLayer' has a previous declaration here
 1378 | typedef FileLayer DoublePipeLayer;
      |                   ^~~~~~~~~~~~~~~
[118/131] Building CXX object 01_app_cores/main_app/CMakeFiles/main_app.dir/main_app/application.cpp.obj
ninja: build stopped: subcommand failed.

We're compiling with arm-none-eabi-gcc-13.2.1, for STM embedded, from WSL1 running on Windows 10.

@RobertoRoos
Copy link
Member Author

When downgrading to v1.7.0 (and installing heatstrink2 with pip) the build succeeds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant