ryzom / ryzomcore

Ryzom Core is the open-source project related to the Ryzom game. This community repository is synchronized with the Ryzom Forge repository, based on the Core branch.
https://wiki.ryzom.dev
GNU Affero General Public License v3.0
339 stars 90 forks source link

compatibility-develop linux broken #303

Closed ryzom-pipeline closed 7 years ago

ryzom-pipeline commented 7 years ago

Original report by Thomas Kowaliczek (Bitbucket: LinuxDonald, GitHub: LinuxDonald).


Cant build compatibility-develop on linux with head.

#!c++

[ 77%] Building CXX object ryzom/client/src/CMakeFiles/ryzom_client.dir/item_group_manager.cpp.o
In file included from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.h:27:0,
                 from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/inventory_manager.h:23,
                 from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.h:21,
                 from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.cpp:16:
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:718:8: error: 'UTextureFile' in namespace 'NL3D' does not name a type
  NL3D::UTextureFile *_GuildBack;
        ^~~~~~~~~~~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:719:8: error: 'UTextureFile' in namespace 'NL3D' does not name a type
  NL3D::UTextureFile *_GuildSymb;
        ^~~~~~~~~~~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:720:15: error: 'UMaterial' in namespace 'NL3D' does not name a type
  static NL3D::UMaterial _GuildMat;
               ^~~~~~~~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:731:2: error: 'CHARACTERISTICS' does not name a type
  CHARACTERISTICS::TCharacteristics _ItemCaracReqType;
  ^~~~~~~~~~~~~~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:775:43: error: 'NLMISC::CUV' has not been declared
  void buildPieCorner(float angle, NLMISC::CUV &uv, NLMISC::CVector &pos, uint texSize) const;
                                           ^~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbctrl_sheet.h:780:24: error: 'NLMISC::CQuadUV' has not been declared
  uint buildPie(NLMISC::CQuadUV *quv, float startAngle, float endAngle, uint texSize);
                        ^~~~~~~
In file included from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/inventory_manager.h:23:0,
                 from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.h:21,
                 from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.cpp:16:
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.h:282:29: error: 'CHARACTERISTICS' has not been declared
  sint32   _LastPlayerCharac[CHARACTERISTICS::NUM_CHARACTERISTICS];
                             ^~~~~~~~~~~~~~~
In file included from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.cpp:27:0:
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/net_manager.h:275:8: error: 'TSessionId' does not name a type
 extern TSessionId    CharacterHomeSessionId;
        ^~~~~~~~~~
In file included from /home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/item_group_manager.cpp:28:0:
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/connection.h:35:20: error: 'CCharacterSummary' was not declared in this scope
 extern std::vector<CCharacterSummary> CharacterSummaries;
                    ^~~~~~~~~~~~~~~~~
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/connection.h:35:37: error: template argument 1 is invalid
 extern std::vector<CCharacterSummary> CharacterSummaries;
                                     ^
/home/linuxdonald/Downloads/archlinux/ryzom/ryzom-client/src/ryzomcore/code/ryzom/client/src/connection.h:35:37: error: template argument 2 is invalid
make[2]: *** [ryzom/client/src/CMakeFiles/ryzom_client.dir/build.make:1695: ryzom/client/src/CMakeFiles/ryzom_client.dir/item_group_manager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1392: ryzom/client/src/CMakeFiles/ryzom_client.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
[linuxdonald@linuxdonald-pc ryzom-client]$
ryzom-pipeline commented 7 years ago

Original comment by Meelis Mägi (Bitbucket: [Meelis Mägi](https://bitbucket.org/Meelis Mägi), ).


If that with fresh build directory?

For me it compiles fine on ubuntu gcc 5.4.0

ryzom-pipeline commented 7 years ago

Original comment by Guillaume DUPUY (Bitbucket: [Guillaume DUPUY](https://bitbucket.org/Guillaume DUPUY), ).


Yes, make sure to make clean (or even rm -Rf the build directory), CMake doesn't handle very well new source files

ryzom-pipeline commented 7 years ago

Original comment by Thomas Kowaliczek (Bitbucket: LinuxDonald, GitHub: LinuxDonald).


All Clean but still the same error.

cmake -Hcode -Bbuild -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release \
-DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_PCH=OFF \
-DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_STEAM=OFF -DWITH_RYZOM_PATCH=OFF \
-DWITH_NEL_TOOLS=OFF -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF \
-DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_LUA52=OFF \
-DCMAKE_INSTALL_PREFIX=/usr -DWITH_GCC_FPMATH_BOTH=ON \
-DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/ryzom \
-DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/bin

cmake --build build

gcc (GCC) 6.3.1 20170306

ryzom-pipeline commented 7 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


Thanks for the report :)

The problem is related to item_group_manager.cpp not including stdpch.h unlike all other .cpp files :(

Btw why did you disable PCH ? They improve compilation time a lot :)

ryzom-pipeline commented 7 years ago

Original comment by Thomas Kowaliczek (Bitbucket: LinuxDonald, GitHub: LinuxDonald).


Okay now i got it compiled.

Aur Package is broken: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ryzom-client

And this Aur Package works: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ryzom-hg

But with it i become this warnings:

https://pastebin.com/1Sb8YVBj

https://pastebin.com/xQrqGHKN

https://pastebin.com/9LiYTkrn

ryzom-pipeline commented 7 years ago

Original comment by Meelis Mägi (Bitbucket: [Meelis Mägi](https://bitbucket.org/Meelis Mägi), ).


Fixed: missing stdpch.h (fixes #303)

ryzom-pipeline commented 7 years ago

Original comment by Thomas Kowaliczek (Bitbucket: LinuxDonald, GitHub: LinuxDonald).


Server build dont compile:

Warnings:

https://pastebin.com/RKX7w7JV

https://pastebin.com/L8Jgww1j

https://pastebin.com/hTdcJNve

https://pastebin.com/kCr70rEc

https://pastebin.com/BjBLi0uL

https://pastebin.com/q8sch5vh

Compile error:

https://pastebin.com/0AyCADEj

ryzom-pipeline commented 7 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


Warnings about auto_ptr can't be fixed because cpptest is using std::auto_ptr that is deprecated in C++11 :)

You can ignore the other warnings and for the error, I suspect we should replace the ~0 by std::numeric_limits::max() to be sure the type is correct :)

ryzom-pipeline commented 7 years ago

Original comment by Meelis Mägi (Bitbucket: [Meelis Mägi](https://bitbucket.org/Meelis Mägi), ).


Fixed: compiling server (fixes #303)

ryzom-pipeline commented 7 years ago

Original comment by Guillaume DUPUY (Bitbucket: [Guillaume DUPUY](https://bitbucket.org/Guillaume DUPUY), ).


stdpch.h wasn't included because I forgot it :p

ryzom-pipeline commented 7 years ago

Original comment by Thomas Kowaliczek (Bitbucket: LinuxDonald, GitHub: LinuxDonald).


Thx for fixing the compile problems :)