Coder Social home page Coder Social logo

CMake error about legioncore-7.3.5 HOT 25 OPEN

dufernst avatar dufernst commented on September 6, 2024
CMake error

from legioncore-7.3.5.

Comments (25)

elch01 avatar elch01 commented on September 6, 2024 2

No, i have not gotten it to work on debian so just centos for now :)

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024 1

Ah, reading comprehension.
I missed that.

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024 1

Nope, upgrading cmake did not work.

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Try installing the requirements from:
https://trinitycore.atlassian.net/wiki/spaces/tc/pages/10977288/Linux+Requirements
if that works, I'll update the link in the README :)

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Yes, now i get through the cmake configuration.
But now make spits out an error:

[  6%] Linking CXX static library libcasc.a
[  6%] Built target casc
Scanning dependencies of target revision_data.h
-- WARNING - Missing repository tags - you may need to pull tags with git fetch -t
-- WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)
[  6%] Built target revision_data.h
Scanning dependencies of target commonPCH.cpp_dephelp
[  7%] Building CXX object src/common/CMakeFiles/commonPCH.cpp_dephelp.dir/PrecompiledHeaders/commonPCH.cpp.o
[  7%] Building CXX object dep/protobuf/CMakeFiles/protobuf.dir/src/google/protobuf/extension_set_heavy.cc.o
In file included from /home/user/LegionCore-7.3.5/src/common/PrecompiledHeaders/commonPCH.cpp:1:
In file included from /home/user/LegionCore-7.3.5/src/common/PrecompiledHeaders/commonPCH.h:7:
/home/user/LegionCore-7.3.5/src/common/Logging/Log.h:127:18: error: use of class
      template 'boost::asio::strand' requires template arguments
    boost::asio::strand* _strand;
                 ^
/usr/include/boost/asio/strand.hpp:29:7: note: template is declared here
class strand
      ^
1 error generated.
make[2]: *** [src/common/CMakeFiles/commonPCH.cpp_dephelp.dir/build.make:63: src/common/CMakeFiles/commonPCH.cpp_dephelp.dir/PrecompiledHeaders/commonPCH.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:936: src/common/CMakeFiles/commonPCH.cpp_dephelp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

You are using a version of BOOST > 1.65.
For this core BOOST 1.64 is recommended, hopefully that is enough of a hint for you to sort things out on your end :)

At some point in the future I might add support for new BOOST versions by cherry-picking:
TrinityCore/TrinityCore@dfd2660

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Seems like Boost 1.64 is not available on debian through APT, and 1.62 does not work using stretch.
i will try to compile and older version.
Boost version changelog

EDIT:
That did not work:

Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Hmmm anything else in terms of error logs?
Maybe reconfiguring with cmake from scratch?

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Here's the full log from my latest attempt (After a full reinstall and reconfiguration of Debian 9)
https://pastebin.com/Wes7Kisw

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Could you upgrade CMake to version 3.9 or higher :)?
I will fix the CMake file to make that requirement explicit.

Another solution you could use if you don't want to upgrade CMake is to not compile the tools by adding the following to your CMake command:
-DTOOLS=0
Most tools are broken anyway, so you are not missing out on much.

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Oh, i though -DTOOLS was required to get the map extractor toolset?
But i've upgraded cmake to busters 3.13 release.
Lets see if it works.

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Unfortunately the tools in this repo seem to output data in a different way than what the core is expecting.
Instead look at the following on how to get the required data:
https://github.com/dufernst/LegionCore-7.3.5#data-files

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

No worries, I was also surprised that the extractors didn't seem to result in the same data as the data you can download @ the provided url. But don't have the time to research that further :|

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Well at least then -DTOOLS=0 should work.
Do you mind sharing the cmake output again?

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Here's the CMAKE log

user@legion:~/LegionCore-7.3.5/build$ cmake ../ -DCMAKE_INSTALL_PREFIX=/home/user/server -DTOOLS=0
CMake Deprecation Warning at CMakeLists.txt:18 (cmake_policy):
  The OLD behavior for policy CMP0005 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Deprecation Warning at CMakeLists.txt:20 (cmake_policy):
  The OLD behavior for policy CMP0043 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- Detected 64-bit platform
-- UNIX: Using default configuration directory
-- UNIX: Using default library directory
-- UNIX: Configuring uninstall target
-- UNIX: Created uninstall target
-- UNIX: Detected compiler: /usr/bin/cc
-- GCC: Enabled c++11 support
-- GCC: Enabled C99 support
-- GCC: SSE2 flags forced
-- GCC: All warnings disabled
-- Using mysql-config: /usr/bin/mysql_config
-- Found MySQL library: /usr/lib/x86_64-linux-gnu/libmariadbclient.so
-- Found MySQL headers: /usr/include/mysql
-- Found MySQL executable: /usr/bin/mysql
-- Found Readline library: /usr/lib/x86_64-linux-gnu/libreadline.so
-- Include dir is: /usr/include
-- Could NOT find libdw (missing: LIBDW_LIBRARY LIBDW_INCLUDE_DIR) 
-- Could NOT find libbfd (missing: LIBBFD_LIBRARY LIBBFD_INCLUDE_DIR) 
-- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR LIBELF_LIBRARY LIBELF_INCLUDE_DIR) 
-- WARNING - Missing repository tags - you may need to pull tags with git fetch -t
-- WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)

* LegionCore
* LegionCore

* Build world/auth       : Yes (default)
* Build with scripts     : Yes (default)
* Build core w/PCH       : Yes (default)
* Build scripts w/PCH    : Yes (default)
* Show compile-warnings  : No  (default)
* Use coreside debug     : No  (default)
* Show source tree       : Yes - "hierarchical"

-- Boost version: 1.64.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   program_options
--   iostreams
--   regex
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Success
-- Found OpenSSL library: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so
-- Found OpenSSL headers: /usr/include
-- Found Readline library: /usr/lib/x86_64-linux-gnu/libreadline.so
-- Include dir is: /usr/include
-- SCRIPT PREPARATIONS
--   -> Prepared: Spells
--   -> Prepared: Commands
--   -> Prepared: BrawlersGuild
--   -> Prepared: BattlePay
--   -> Prepared: Custom
--   -> Prepared: Kalimdor
--   -> Prepared: Maelstrom
--   -> Prepared: Northrend
--   -> Prepared: OutdoorPvP
--   -> Prepared: Outland
--   -> Prepared: PetBattle
--   -> Prepared: World
--   -> Prepared: Draenor
--   -> Prepared: EasternKingdoms
--   -> Prepared: Legion
--   -> Prepared: Outland
--   -> Prepared: Pandaria
--   -> Prepared: Scenario
--   -> Prepared: Maelstrom
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/LegionCore-7.3.5/build
user@legion:~/LegionCore-7.3.5/build$ 

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Thanks, looks like it properly enable C++17 this time, so confused as to why it would not work.
But I guess for now everything is sorted out :)?

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Not quite haha 😄
Latest make run:
https://pastebin.com/gQ9bbvw5

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

I think you are linking against the wrong boost version, not the 1.64 manual install you did?
Is the BOOST_LIB or BOOST_LIBRARY, or whatever it is called, set to your own lib directory? It should do so automatically if you have used BOOST_ROOT to set CMake to pick up on your own boost version.

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

image
This is the guide ive followed to update boost, not sure if its correct.

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Can you make sure the boost regex library has actually been compiled?
The output of ./b2 should tell you that.

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Seems like it?

user@legion:~/boost_1_64_0$ ./b2
Performing configuration checks

    - 32-bit                   : no  (cached)
    - 64-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)

Building the Boost C++ Libraries.


    - symlinks supported       : yes (cached)
    - C++11 mutex              : yes (cached)
    - lockfree boost::atomic_flag : yes (cached)
    - Boost.Config Feature Check: cxx11_auto_declarations : yes (cached)
    - Boost.Config Feature Check: cxx11_constexpr : yes (cached)
    - Boost.Config Feature Check: cxx11_defaulted_functions : yes (cached)
    - Boost.Config Feature Check: cxx11_final : yes (cached)
    - Boost.Config Feature Check: cxx11_hdr_mutex : yes (cached)
    - Boost.Config Feature Check: cxx11_hdr_tuple : yes (cached)
    - Boost.Config Feature Check: cxx11_lambdas : yes (cached)
    - Boost.Config Feature Check: cxx11_noexcept : yes (cached)
    - Boost.Config Feature Check: cxx11_nullptr : yes (cached)
    - Boost.Config Feature Check: cxx11_rvalue_references : yes (cached)
    - Boost.Config Feature Check: cxx11_template_aliases : yes (cached)
    - Boost.Config Feature Check: cxx11_thread_local : yes (cached)
    - Boost.Config Feature Check: cxx11_variadic_templates : yes (cached)
    - has_icu builds           : yes (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib                     : yes (cached)
    - bzip2                    : yes (cached)
    - iconv (libc)             : yes (cached)
    - icu                      : yes (cached)
    - native-atomic-int32-supported : yes (cached)
    - native-syslog-supported  : yes (cached)
    - pthread-supports-robust-mutexes : yes (cached)
    - compiler-supports-visibility : yes (cached)
    - compiler-supports-ssse3  : yes (cached)
    - compiler-supports-avx2   : yes (cached)
    - gcc visibility           : yes (cached)
    - long double support      : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - zlib                     : yes (cached)
    - bzip2                    : yes (cached)

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - container                : building
    - context                  : building
    - coroutine                : building
    - coroutine2               : building
    - date_time                : building
    - exception                : building
    - fiber                    : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - metaparse                : building
    - mpi                      : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - signals                  : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - type_erasure             : building
    - wave                     : building

...patience...
...patience...
...patience...
...patience...
...patience...
...patience...
...found 14460 targets...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/user/boost_1_64_0

The following directory should be added to linker library paths:

    /home/user/boost_1_64_0/stage/lib

And sudo . /b2 install should add them to my libs

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Everything you did sounds correct, I don't see based on this where it is going wrong.
But based on the errors I think it is save to say that for some reason the linking is happening against the wrong boost libs (at least for regex).

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

I will try using RHEL, see if that makes any difference

from legioncore-7.3.5.

elch01 avatar elch01 commented on September 6, 2024

Yup compiles just perfectly on Centos, so its seems like there are some issues with the requirements for debian related distros.
Edit:
-DTOOLS=1 works to complie by commenting out add_subdirectory(web_api) in src/tools/CMakeLists.txt

from legioncore-7.3.5.

dufernst avatar dufernst commented on September 6, 2024

Yeah, but that is the only tool that does work :D
But you have it working now on debian as well or still just Centos?

from legioncore-7.3.5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.