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

Warnings and Errors compilig the Module in Godot Engine 3.2 Stable #1

Open
esblinuxcss opened this issue Aug 1, 2020 · 4 comments
Open

Comments

@esblinuxcss
Copy link

Hi lawnjelly i have this series of issues trying to compile the module with Godot Engine 3.2 Stable
My PC is Ubuntu 20.04

In file included from modules/llightmap/llightmap_all.cpp:18:
modules/llightmap/lmerger.cpp: In static member function 'static bool LM::Merger::xatlas_unwrap(float, const float*, const float*, int, const int*, const int*, int, float**, int**, int*, int**, int*, int*, int*)':
modules/llightmap/lmerger.cpp:267:49: error: 'ParameterizeOptions' is not a member of 'xatlas'; did you mean 'ParameterizeCharts'?
267 | xatlas::Generate(atlas, chart_options, xatlas::ParameterizeOptions(), pack_options);
| ^~~~~~~~~~~~~~~~~~~
| ParameterizeCharts
In file included from modules/llightmap/llightscene.h:6,
from modules/llightmap/llightmapper_base.h:6,
from modules/llightmap/lraybank.h:5,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/llightimage.h: In instantiation of 'bool LM::LightImage::IsWithin(int, int) const [with T = LM::FColor]':
modules/llightmap/llightmapper.cpp:617:33: required from here
modules/llightmap/llightimage.h:74:9: warning: comparison of integer expressions of different signedness: 'int' and 'const uint32_t' {aka 'const unsigned int'} [-Wsign-compare]
74 | if (x >= m_uiWidth) return false;
| ~~^~~~~~~~~~~~
modules/llightmap/llightimage.h:75:9: warning: comparison of integer expressions of different signedness: 'int' and 'const uint32_t' {aka 'const unsigned int'} [-Wsign-compare]
75 | if (y >= m_uiHeight) return false;
| ~~^~~~~~~~~~~~~
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_config.c
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_context.c
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_convert.c
modules/llightmap/llightimage.h: In instantiation of 'void LM::LightImage::Blank() [with T = Vector3]':
modules/llightmap/llightimage.h:18:4: required from 'void LM::LightImage::Create(uint32_t, uint32_t, bool) [with T = Vector3; uint32_t = unsigned int]'
modules/llightmap/llightmapper.cpp:223:49: required from here
modules/llightmap/llightimage.h:63:9: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct Vector3'; use assignment or value-initialization instead [-Wclass-memaccess]
63 | memset(&val, 0, sizeof (T));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ./core/math/plane.h:34,
from ./core/math/aabb.h:35,
from ./core/variant.h:38,
from ./core/method_ptrcall.h:36,
from ./core/method_bind.h:35,
from ./core/class_db.h:34,
from modules/llightmap/register_types.cpp:5,
from modules/llightmap/llightmap_all.cpp:6:
./core/math/vector3.h:39:8: note: 'struct Vector3' declared here
39 | struct Vector3 {
| ^~~~~~~
In file included from modules/llightmap/llightscene.h:6,
from modules/llightmap/llightmapper_base.h:6,
from modules/llightmap/lraybank.h:5,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/llightimage.h: In instantiation of 'void LM::LightImage::Blank() [with T = Vector]':
modules/llightmap/llightimage.h:18:4: required from 'void LM::LightImage::Create(uint32_t, uint32_t, bool) [with T = Vector; uint32_t = unsigned int]'
modules/llightmap/llightscene.cpp:880:45: required from here
modules/llightmap/llightimage.h:63:9: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'class Vector' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
63 | memset(&val, 0, sizeof (T));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ./core/ustring.h:37,
from ./core/math/vector2.h:35,
from ./core/math/rect2.h:34,
from ./core/math/transform_2d.h:34,
from ./core/method_ptrcall.h:34,
from ./core/method_bind.h:35,
from ./core/class_db.h:34,
from modules/llightmap/register_types.cpp:5,
from modules/llightmap/llightmap_all.cpp:6:
./core/vector.h:56:7: note: 'class Vector' declared here
56 | class Vector {
| ^~~~~~
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_dfa_match.c
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_error.c
In file included from modules/llightmap/llighttypes.h:4,
from modules/llightmap/lraybank.h:3,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/lvector.h: In instantiation of 'void LVector::delete_items_first(unsigned int) [with T = LM::Vec2_i16]':
modules/llightmap/ldilate.h:85:32: required from 'void LM::Dilate::Run(LM::LightImage&, LM::LightImageLM::Vec2_i16, unsigned int) [with T = float]'
modules/llightmap/ldilate.h:36:3: required from 'bool LM::Dilate::DilateImage(LM::LightImage&, const LM::LightImage&, unsigned int) [with T = float]'
modules/llightmap/llightmapper_base.cpp:354:51: required from here
modules/llightmap/lvector.h:201:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
201 | if (uiNumItems < size())
modules/llightmap/lvector.h:213:19: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
213 | if (uiNumItems == size())
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_extuni.c
[Initial build] Compiling ==> thirdparty/pcre2/src/pcre2_find_bracket.c
In file included from modules/llightmap/llightscene.h:6,
from modules/llightmap/llightmapper_base.h:6,
from modules/llightmap/lraybank.h:5,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/llightimage.h: In instantiation of 'void LM::LightImage::Blank() [with T = LM::Vec2_i16]':
modules/llightmap/llightimage.h:18:4: required from 'void LM::LightImage::Create(uint32_t, uint32_t, bool) [with T = LM::Vec2_i16; uint32_t = unsigned int]'
modules/llightmap/ldilate.h:65:24: required from 'void LM::Dilate::Run(LM::LightImage&, LM::LightImageLM::Vec2_i16
, unsigned int) [with T = float]'
modules/llightmap/ldilate.h:36:3: required from 'bool LM::Dilate::DilateImage(LM::LightImage&, const LM::LightImage&, unsigned int) [with T = float]'
modules/llightmap/llightmapper_base.cpp:354:51: required from here
modules/llightmap/llightimage.h:63:9: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class LM::Vec2_i16'; use assignment or value-initialization instead [-Wclass-memaccess]
63 | memset(&val, 0, sizeof (T));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from modules/llightmap/lraybank.h:3,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/llighttypes.h:33:7: note: 'class LM::Vec2_i16' declared here
33 | class Vec2_i16
| ^~~~~~~~
In file included from modules/llightmap/llightscene.h:6,
from modules/llightmap/llightmapper_base.h:6,
from modules/llightmap/lraybank.h:5,
from modules/llightmap/lambient_occlusion.h:3,
from modules/llightmap/llightmapper.h:3,
from modules/llightmap/gdlightmapper.h:5,
from modules/llightmap/register_types.cpp:6,
from modules/llightmap/llightmap_all.cpp:6:
modules/llightmap/llightimage.h: In instantiation of 'bool LM::LightImage::IsWithin(int, int) const [with T = unsigned char]':
modules/llightmap/ldilate.h:193:5: required from 'void LM::Dilate::FindEdges(LM::LightImage&) [with T = float]'
modules/llightmap/ldilate.h:71:3: required from 'void LM::Dilate::Run(LM::LightImage&, LM::LightImageLM::Vec2_i16*, unsigned int) [with T = float]'
modules/llightmap/ldilate.h:36:3: required from 'bool LM::Dilate::DilateImage(LM::LightImage&, const LM::LightImage&, unsigned int) [with T = float]'
modules/llightmap/llightmapper_base.cpp:354:51: required from here
modules/llightmap/llightimage.h:74:9: warning: comparison of integer expressions of different signedness: 'int' and 'const uint32_t' {aka 'const unsigned int'} [-Wsign-compare]
74 | if (x >= m_uiWidth) return false;
| ~~^~~~~~~~~~~~
modules/llightmap/llightimage.h:75:9: warning: comparison of integer expressions of different signedness: 'int' and 'const uint32_t' {aka 'const unsigned int'} [-Wsign-compare]
75 | if (y >= m_uiHeight) return false;

@lawnjelly
Copy link
Owner

lawnjelly commented Aug 2, 2020

Which version of 3.2 is this?

I should add to the documentation it should be the latest (3.2.2 +). There may have been a change to the xatlas interface since 3.2 stable (the version of xatlas may have been upgraded). If you grab the latest version of 3.2 branch from github you should have more luck.

That is unless there has been a change to xatlas in the last few days, but that seems unlikely.

As for the warnings, I'll try and do some compiling with full warnings on to remove them, they look benign.

@lawnjelly
Copy link
Owner

lawnjelly commented Aug 2, 2020

Yes, I can confirm, xatlas was synced with upstream 2 months ago, so that presumably was the point that changed the interface, so you'll need a version of 3.2 source since then. I'll add this to the doc. 👍

Fixed in the doc! Thanks for bringing this up, I have to stick with the latest xatlas as it is used for uvmapping, and so it is not so easy to get it to compile with a previous version (it may be possible, but given the lightmap build is only needed for creating lightmaps it should not be necessary).

Let me know if there are any more problems compiling / running! 😃

@lawnjelly
Copy link
Owner

lawnjelly commented Aug 2, 2020

Just to note there is now a precompiled release available for windows (which will run under WINE):
https://github.com/lawnjelly/godot-llightmap/releases

Although it would be good to know if you had success compiling! 👍

@esblinuxcss
Copy link
Author

Ok thank alot i will try this exe on linux also i will try to compile with 3.2.2 again this weekend i iḿ succesful compiling i will post this here xD!

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

2 participants