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

eval.h is deprecated #777

Open
bean86k20 opened this issue Apr 24, 2023 · 21 comments
Open

eval.h is deprecated #777

bean86k20 opened this issue Apr 24, 2023 · 21 comments
Labels
Milestone

Comments

@bean86k20
Copy link

Compiling on Fedora 37, I received fatal errors due to eval.h not being found. As of Python 3.11, eval.h has been merged into python and is no longer needed. After commenting the include lines out, I was able to build successfully.

@BenjamenMeyer
Copy link
Member

@bean86k20 thanks for the report. We are aware of it and it's getting fixed our master branch (the upcoming 0.9.x series) by one of the currently open PRs. I'm not sure if we've fixed it for our existing 0.8.x series.

Which version are you using? Master? 0.8.x? Thanks!

@bean86k20
Copy link
Author

bean86k20 commented Apr 25, 2023

I'm using 0.8.1-beta2

edit: Master branch compiles ok

@BenjamenMeyer
Copy link
Member

Please verify with the 0.8.x branch. Specific releases won't get updated. Just need to know if we need to cut a newer release. Thanks!

@BenjamenMeyer BenjamenMeyer modified the milestones: 0.9.x, 0.8.x Apr 27, 2023
@bean86k20
Copy link
Author

0.8.x still has the problem with eval.h. master branch has been fixed, but has an issue with the comms text missing letters

@ondrejkajinek
Copy link

According to grep there are only four places with eval.h on 0.8.x branch, all of them are guarded with #if PY_VERSION_HEX < 0x030B0000.

@stephengtuggy
Copy link
Contributor

Yes, @ondrejkajinek , I believe your MR #774 fixed the eval.h issue for 0.8.x. @bean86k20 would you mind retesting, and see if it's fixed?

@bean86k20
Copy link
Author

bean86k20 commented Jun 7, 2023

That seems to have fixed the eval.h issue, however I got Error 2
gmake[2]: Leaving directory '/home/bean/Downloads/Vega-Strike-Engine-Source-0.8.x/build' gmake[1]: *** [CMakeFiles/Makefile2:214: CMakeFiles/vegastrike-engine.dir/all] Error 2 gmake[1]: Leaving directory '/home/bean/Downloads/Vega-Strike-Engine-Source-0.8.x/build' gmake: *** [Makefile:156: all] Error 2

edit: The error seems to be in alloc_traits.h:
/usr/include/c++/13/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A 70 | _Tp>::value, | ^~~~~

@stephengtuggy
Copy link
Contributor

@bean86k20 Hmm. That's odd. Probably a separate issue though.

Can you post your complete build log? (with identifying information removed as needed)

@FabioLolix
Copy link

Hello, Vegastrike Engine v0.8.0 no longer build under Arch Linux, I have removed the eval.h include with a patch, and then I got the same error as #777 (comment), below the build log of Arch devtools

GCC v13.2.1

vegastrike-engine-0.8.0-1-x86_64-build.log

If you need more info let me know

@rubensalinas
Copy link

I can confirm that v0.8.0 doesn't build on Archlinux because cmake it's not setting the pybind11 include directory correctly.
Maybe it is because the include dir is set on the "PYTHON_INCLUDE_DIR" variable but its trying to include the "PYTHON_INCLUDE_DIRS" variable instead? I am not sure as I am not familiar with cmake.
I think this has been solved by now

@BenjamenMeyer
Copy link
Member

@evertvorster did we resolve this?

I might have to build an Arch Docker Container to try this out on. I thought we had updated 0.8.x as well since we're gating the use of eval.h based on the Python version. Fix in master already too. If there's a better fix than what we're doing then we're all ears.

@evertvorster
Copy link
Contributor

evertvorster commented Oct 10, 2023 via email

@FabioLolix
Copy link

FabioLolix commented Oct 10, 2023

This specific error is solved in master and 0.8.x branches

on Arch v0.8.0 and 0.8.x branch are broken, master build with gcc 12; while is broken by gcc13 (error reported by @bean86k20 there are 3 of them, edit reported here), enabling ffmpeg or ogre

All 3 are broken if using CMAKE_BUILD_TYPE=None


@rubensalinas Didn't find reference to pybind11, do you have a specific error?

@evertvorster
Copy link
Contributor

evertvorster commented Oct 10, 2023 via email

@stephengtuggy
Copy link
Contributor

This specific error is solved in master and 0.8.x branches

on Arch v0.8.0 and 0.8.x branch are broken, master build with gcc 12; while is broken by gcc13 (error reported by @bean86k20 there are 3 of them, edit reported here), enabling ffmpeg or ogre

All 3 are broken if using CMAKE_BUILD_TYPE=None

@rubensalinas Didn't find reference to pybind11, do you have a specific error?

ffmpeg and Ogre are known to not be working. They haven't worked in years. Setting CMAKE_BUILD_TYPE to None is also unsupported. You have to pick one of the build types, like Debug or Release.

Taking these things into consideration, is the 0.8.x build still broken on Arch with gcc 13? If so, is there a way to continue to use gcc 12 for the time being?

@FabioLolix
Copy link

is there a way to continue to use gcc 12 for the time being?

Yes, it packaged and needed by some other packages https://archlinux.org/packages/extra/x86_64/gcc12/ when it will no longer be used it will dropped to the AUR

is the 0.8.x build still broken on Arch with gcc 13?

Yes, there are some of the same error

/home/fabio/Dev/Github/PKGBUILD-AUR_fix/v/vegastrike-engine-0.8.x-git_gcc13/src/Vega-Strike-Engine-Source/engine/src/gfx/particle.h:53:54:   required from here
/usr/include/c++/13.2.1/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
   70 |                         _Tp>::value,
      |                               ^~~~~
/usr/include/c++/13.2.1/bits/alloc_traits.h:70:31: note: 'std::integral_constant<bool, false>::value' evaluates to false

I got v0.8.0 to build adding a little patch and using gcc12 1 2

And the 0.8.0 branch by passing -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=format-security" which avoided

/home/fabio/Dev/Github/PKGBUILD-AUR_fix/v/vegastrike-engine-0.8.x-git/src/Vega-Strike-Engine-Source/engine/src/main.cpp: In function 'std::string ParseCommandLine(int, char**)':
/home/fabio/Dev/Github/PKGBUILD-AUR_fix/v/vegastrike-engine-0.8.x-git/src/Vega-Strike-Engine-Source/engine/src/main.cpp:834:20: error: format not a string literal and no format arguments [-Werror=format-security]
  834 |             sprintf(CONFIGFILE, config_file.c_str());
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors

@evertvorster
Copy link
Contributor

@FabioLolix

I have disowned this package in AUR, you are free to pick up maintainership of it.

@BenjamenMeyer
Copy link
Member

@FabioLolix please feel free to open PRs here. The 0.8.x branch is our current release and accepting PRs for bug fixes like this; and then there is also the AUR which can also fix things more directly for Arch itself.

Per 0.8.x, it's a maintenance branch. Major work is being done on master for the next major release (0.9.0).
@evertvorster you may need to update master AUR for SDL2 which was recently merged in.

@FabioLolix
Copy link

@evertvorster do you plan to update the vegastrike-engine-git pkgbuild otherwise I could do it?

then there is also the AUR which can also fix things more directly for Arch itself.

Yes, that what I'm working for

The 0.8.x branch is our current release and accepting PRs for bug fixes like this

The error main.cpp have already been fixed in master but I'm not sure how to finds its patch

@BenjamenMeyer
Copy link
Member

BenjamenMeyer commented Oct 23, 2023

The 0.8.x branch is our current release and accepting PRs for bug fixes like this

The error main.cpp have already been fixed in master but I'm not sure how to finds its patch

It should be fixed in 0.8.x too. Does the AUR need to update a git hash it's linked to?

c13def7 - and few others around that time.

@FabioLolix
Copy link

It should be fixed in 0.8.x too.

On 0.8.x is not fixed, this is happening only 0.8.x branch,

Does the AUR need to update a git hash it's linked to?

-git pkgbuild pull the latest commit at build time

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

No branches or pull requests

7 participants