-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Building cxxopts
no longer works on Linux (Ubuntu 24.04)
#2275
Comments
It's failing to build here too, on Linux Mint 22, which uses the Ubuntu 24.04 base. However, it fails earlier than
This is related to gcc-14 pickiness, as explained here. I'm guessing you're using gcc-13 or below. Here's my full build.log: xenia_build_log.txt |
easily fixable by adding |
more implicit declarations with the |
Nice find. Can you make a PR with the additions? |
your issue is also fixable by updating the premake-core fork to the latest master |
Thanks. Attempted a |
can you try building premake-core from premake instead of using the xenia fork? |
Thanks. After cloning the xenia repo, I substituted the xenia fork of |
you missed a step. you have to pull premake-core master and then commit (if you want to save yourself the hassle, you can use my fork's branch |
Ah yes, thanks for pointing that out. And actually, I just cloned your fork and did a
|
you can replace line 674 from xenia-build to preserve the commit (i messed up pulling the master so i recommend just not allowing the script to run i will fix the fork soon enough do not worry |
Thanks. Commenting out 674 wouldn't work because it's nested in an if/else, so I commented the statement (673-676). However since premake isn't built, it can't execute. What did you have in mind here if it wasn't this? |
maybe only replace line 674 with a statement like |
Thanks, but given that just having a |
weird its supposed to run fine, may I see the output? |
Sure, from my attempt above I got:
|
i believe your clone has somehow bugged, as |
Here is the full output of my attempt, which clones to a clean xenia directory. Note that after the
|
you should do |
Right thanks, I was doing that in the step before but in haste assumed it was still being done and missed it here. The build is getting past the
This can be resolved by commenting out
I'm sure there's a way to fetch PRs between forks to (hopefully) reach a successful build, but it may be best at this point to merge the known build fixes between yours and @thrimbor into upstream xenia. If there's a permissions issue then someone else on the xenia team can merge them. Thoughts? |
I was testing that idea just this morning and had a successful build. |
see my forks (branch |
I just mad a PR to update the cxxopts version. @nullequal the latest master version was incompatible due to an API change in cxxopts so I set it to the latest tagged release of cxxopts v2 which resolved the issue. It's best to set the version to one of the tagged releases instead of directly to the latest master version because the master branch of cxxopts isn't necessarily stable. The tagged releases should be more stable as far as both bugs and build issues. |
Validation
Describe what's going wrong
When compiling the latest commit of Xenia on Linux as of this post (3d30b2e), building
cxxopts
fails with multiple of the same error.I was able to resolve the errors by replacing
if (u > static_cast<U>(-(std::numeric_limits<T>::min)()))
with
if (u > static_cast<U>((std::numeric_limits<T>::min)()))
in
cxxopts.hpp
.I got this fix from the latest
cxxopts
commit as of posting (2ad116a).If possible, could this fix be somehow implemented?
Describe what should happen
cxxopts
should compile just fine.If applicable, provide a callstack here, especially for crashes
No response
If applicable, upload a logfile and link it here
The text was updated successfully, but these errors were encountered: