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

Can't Build Full Featured Release #4531

Closed
katnatek opened this issue May 2, 2022 · 7 comments
Closed

Can't Build Full Featured Release #4531

katnatek opened this issue May 2, 2022 · 7 comments

Comments

@katnatek
Copy link

katnatek commented May 2, 2022

Actually i have to add -DDISABLE_ZERO_TIER=ON to cmake's options to be able to reach a successful build.
If i don't do that the build fail due some errors on Source/dvlnet/zerotier_native.cpp

My system is Mageia Linux Version 8 x86_64
Here the log of the build process
build_log.txt

@StephenCWills
Copy link
Member

The zts_event_msg_t type and those functions should all be declared in ZeroTierSockets.h. It seems like the directory it's in is being added to your include path so I'm not sure what the issue is. Maybe you can check the following path for that file and see what's in it?

/home/katnatek/rpm/BUILD/devilutionX-1.4.0/build/_deps/libzt-src/include/ZeroTierSockets.h

@katnatek
Copy link
Author

katnatek commented May 2, 2022

The zts_event_msg_t type and those functions should all be declared in ZeroTierSockets.h. It seems like the directory it's in is being added to your include path so I'm not sure what the issue is. Maybe you can check the following path for that file and see what's in it?

/home/katnatek/rpm/BUILD/devilutionX-1.4.0/build/_deps/libzt-src/include/ZeroTierSockets.h

This is (at less i can't found the type definition)
ZeroTierSockets.h.txt
)
But also is not on https://github.com/diasurgical/libzt/raw/master/include/ZeroTierSockets.h

@StephenCWills
Copy link
Member

I see now that you are using -DFETCHCONTENT_SOURCE_DIR_LIBZT so you must have downloaded the master branch of https://github.com/diasurgical/libzt manually for your build. The master branch was used for 1.3.0, but we tried to upstream a number of our modifications and clean up the libzt repos a bit for 1.4.0 so we moved the code to another branch. Try downloading https://github.com/diasurgical/libzt/tree/devx-1.4.0 and then give it another try.

@AJenbo
Copy link
Member

AJenbo commented May 2, 2022

Please follow the issue template

@katnatek
Copy link
Author

katnatek commented May 2, 2022

I see now that you are using -DFETCHCONTENT_SOURCE_DIR_LIBZT so you must have downloaded the master branch of https://github.com/diasurgical/libzt manually for your build. The master branch was used for 1.3.0, but we tried to upstream a number of our modifications and clean up the libzt repos a bit for 1.4.0 so we moved the code to another branch. Try downloading https://github.com/diasurgical/libzt/tree/devx-1.4.0 and then give it another try.

I was already try that, but change of commit because i'm getting lots of undefined reference to messages
build_log. with libzt-devx1.4.0.txt

@StephenCWills
Copy link
Member

It seems like those two libraries, lwip_pic and zt_pic, are interdependent so it sort of makes sense that those symbols would be unresolved when compiling them independently as shared object libraries. However, I am unable to reproduce those errors on Debian Linux using GNU 11.2.0 compilers. I don't know exactly why the behavior is different between your platform and mine, but I do know that you will likely be able to work around it by building libzt's dependencies as static libraries. See StephenCWills/libzt@0ce98ee.

@katnatek
Copy link
Author

katnatek commented May 3, 2022

It seems like those two libraries, lwip_pic and zt_pic, are interdependent so it sort of makes sense that those symbols would be unresolved when compiling them independently as shared object libraries. However, I am unable to reproduce those errors on Debian Linux using GNU 11.2.0 compilers. I don't know exactly why the behavior is different between your platform and mine, but I do know that you will likely be able to work around it by building libzt's dependencies as static libraries. See StephenCWills/libzt@0ce98ee.

Its possible that compiler and cmake versions are related, in Mageia 8 we have GNU 10.3.0 and cmake 3.19.2
The static branch solve the issue for me, thank you

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

No branches or pull requests

3 participants