numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.75k stars 463 forks source link

Simulator compilation errors #1230

Open ljoets opened 4 years ago

ljoets commented 4 years ago

I try to compile simulator platform scrupulously following this doc : https://www.numworks.com/resources/engineering/software/build/

I tested on Windows 10 and have these (lot of) error messages : http://paste.alacon.org/46197 And no trace of any exe file :-(

I tested it on Debian 10 and have these error messages : `HOSTCC kandinsky/fonts/rasterizer RASTER kandinsky/fonts/LargeFont.cpp RASTER kandinsky/fonts/SmallFont.cpp HOSTCC escher/image/inliner QSTRDAT python/port/genhdr/qstrdefs.generated.h I18N apps/i18n.cpp CXX apps/settings/main_controller_prompt_none.o apps/settings/main_controller_prompt_none.cpp:7:93: error: ‘Degrees’ is not a member of ‘I18n::Message’ constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)}; ^~~ apps/settings/main_controller_prompt_none.cpp:7:182: error: ‘Gradians’ is not a member of ‘I18n::Message’ [3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)}; ^~~~

apps/settings/main_controller_prompt_none.cpp:9:197: error: ‘Engineering’ is not a member of ‘I18n::Message’ = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; ^~~

make: *** [build/rules.mk:15: output/release/simulator/linux/apps/settings/main_controller_prompt_none.o] Error 1 `

boricj commented 4 years ago

You need to clean your source tree (rm -rf output/).

ljoets commented 4 years ago

Thanks. The trick works on windows : always a lot of warnings, but I find an epsilon.exe file in the output folder. But on Debian, I still have the same errors.

ljoets commented 4 years ago

On Debian, I do not have warnings. Only errors : apps/settings/main_controller_prompt_none.cpp:7:93: error: ‘Degrees’ is not a member of ‘I18n::Message’ apps/settings/main_controller_prompt_none.cpp:7:182: error: ‘Gradians’ is not a member of ‘I18n::Message’ apps/settings/main_controller_prompt_none.cpp:9:197: error: ‘Engineering’ is not a member of ‘I18n::Message’

Ecco commented 4 years ago

Hi @ljoets ! Thanks for the report!

It's very odd though, because we run a CI pipeline on Ubuntu…

Would you mind sharing the compiler version you're using?

ljoets commented 4 years ago

It is what you wwant ?

GNU Make 4.2.1
Construit pour x86_64-pc-linux-gnu
ljoets commented 4 years ago

And I now have exactly the same errors compiling on windows or debian.

ljoets@ClevoW540SU:~/Git/epsilon$ make PLATFORM=simulator
HOSTCC  kandinsky/fonts/rasterizer
RASTER  kandinsky/fonts/LargeFont.cpp
RASTER  kandinsky/fonts/SmallFont.cpp
HOSTCC  escher/image/inliner
QSTRDAT python/port/genhdr/qstrdefs.generated.h
I18N    apps/i18n.cpp
CXX     apps/settings/main_controller_prompt_none.o
apps/settings/main_controller_prompt_none.cpp:7:93: error: ‘Degrees’ is not a member of ‘I18n::Message’
 constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
                                                                                             ^~~~~~~
apps/settings/main_controller_prompt_none.cpp:7:182: error: ‘Gradians’ is not a member of ‘I18n::Message’
 n[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
                                                                                                                                     ^~~~~~~~

apps/settings/main_controller_prompt_none.cpp:9:197: error: ‘Engineering’ is not a member of ‘I18n::Message’
  = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)};
                                                                                                                                     ^~~~~~~~~~~

make: *** [build/rules.mk:15: output/release/simulator/linux/apps/settings/main_controller_prompt_none.o] Error 1
adriweb commented 4 years ago

Probably the output of g++ --version or any other compiler that it's using to build it.

ljoets commented 4 years ago

Debian :

ljoets@ClevoW540SU:~/Git/epsilon$ g++ --version
g++ (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Windows :

$ g++ --version
g++.exe (Rev1, Built by MSYS2 project) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.