View Single Post
  #5  
Old 08-12-2021, 10:17 AM
jjr0987
Fire Beetle
 
Join Date: Jul 2021
Posts: 4
Default

Quote:
Originally Posted by N0ctrnl View Post
Are you sure it even compiled? I've been running on CentOS for ages and one of the tricks is actually getting that accomplished.
Hmmm, I'd say this is the problem. Not sure why I didn't catch all this in the output when I was messing around, I guess I was trying to run scripts and not compile manually.

Here's the cmake3 output:

Code:
[redacted@localhost server_source]$ sudo cmake3 CMakeLists.txt
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/include (found version "1.53.0")
-- Found MySQL: /usr/lib64/mysql/libmysqlclient_r.so
-- Could NOT find MariaDB (missing: MariaDB_LIBRARY MariaDB_INCLUDE_DIR)
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.0.2k")
-- Found Lua51: /usr/lib64/liblua-5.1.so;/usr/lib64/libm.so (found version "5.1.4")
-- Could NOT find LuaJit (missing: LUAJIT_LIBRARIES) (found version "5.1.4")
CMake Warning (dev) at /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (Perl) does
  not match the name of the calling package (PerlLibs).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake3/Modules/FindPerl.cmake:76 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /usr/share/cmake3/Modules/FindPerlLibs.cmake:48 (include)
  CMakeLists.txt:59 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Perl: /bin/perl (found version "5.16.3")
-- Found PerlLibs: /usr/lib64/perl5/CORE/libperl.so (found version "5.16.3")
CMake Warning (dev) at /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Sodium).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake3/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/FindSodium.cmake:2 (include)
  CMakeLists.txt:60 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- Checking for module 'libsodium'
--   Found libsodium, version 1.0.18
CMake Warning (dev) at /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (SODIUM)
  does not match the name of the calling package (Sodium).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindSodium.cmake:29 (find_package_handle_standard_args)
  CMakeLists.txt:60 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found SODIUM: /usr/lib64/libsodium.so
-- **************************************************
-- * Library Detection                              *
-- **************************************************
-- * MySQL:                                   FOUND *
-- * MariaDB:                               MISSING *
-- * ZLIB:                                    FOUND *
-- * Lua:                                     FOUND *
-- * LuaJIT:                                MISSING *
-- * Perl:                                    FOUND *
-- * libsodium:                               FOUND *
-- * OpenSSL:                                 FOUND *
-- * mbedTLS:                               MISSING *
-- **************************************************
--
-- **************************************************
-- * Library Usage                                  *
-- **************************************************
-- * Database:                                MySQL *
-- * TLS:                                   OpenSSL *
-- * Sodium:                              Libsodium *
-- * Lua:                                   Lua 5.1 *
-- * Perl:                                     Perl *
-- * zlib:                                  zlib-ng *
-- **************************************************
-- Version: 5.3.0
-- Build type: RelWithDebInfo
-- CXX_STANDARD: 14
-- Performing Test has_std_14_flag
-- Performing Test has_std_14_flag - Failed
-- Performing Test has_std_1y_flag
-- Performing Test has_std_1y_flag - Success
-- Performing Test SUPPORTS_VARIADIC_TEMPLATES
-- Performing Test SUPPORTS_VARIADIC_TEMPLATES - Success
-- Performing Test SUPPORTS_INITIALIZER_LIST
-- Performing Test SUPPORTS_INITIALIZER_LIST - Success
-- Performing Test SUPPORTS_ENUM_BASE
-- Performing Test SUPPORTS_ENUM_BASE - Success
-- Performing Test SUPPORTS_TYPE_TRAITS
-- Performing Test SUPPORTS_TYPE_TRAITS - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Looking for open
-- Looking for open - found
-- Using CMake version 3.17.5
-- ZLIB_HEADER_VERSION: 1.2.11
-- ZLIBNG_HEADER_VERSION: 2.0.0-RC2
-- Arch detected: 'x86_64'
-- Basearch of 'x86_64' has been detected as: 'x86'
-- Architecture supports unaligned reads
-- Architecture supports unaligned reads of > 4 bytes
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdarg.h
-- Looking for stdarg.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Looking for sys/sdt.h
-- Looking for sys/sdt.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for strerror
-- Looking for strerror - found
-- Performing Test HAVE_NO_INTERPOSITION
-- Performing Test HAVE_NO_INTERPOSITION - Failed
-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN
-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success
-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL
-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success
-- Performing Test HAVE_BUILTIN_CTZ
-- Performing Test HAVE_BUILTIN_CTZ - Success
-- Performing Test HAVE_BUILTIN_CTZLL
-- Performing Test HAVE_BUILTIN_CTZLL - Success
-- Performing Test HAVE_PTRDIFF_T
-- Performing Test HAVE_PTRDIFF_T - Success
-- Performing Test HAVE_SSE2_INTRIN
-- Performing Test HAVE_SSE2_INTRIN - Success
-- Performing Test HAVE_SSSE3_INTRIN
-- Performing Test HAVE_SSSE3_INTRIN - Success
-- Performing Test HAVE_SSE42CRC_INLINE_ASM
-- Performing Test HAVE_SSE42CRC_INLINE_ASM - Success
-- Performing Test HAVE_SSE42CRC_INTRIN
-- Performing Test HAVE_SSE42CRC_INTRIN - Success
-- Performing Test HAVE_SSE42CMPSTR_INTRIN
-- Performing Test HAVE_SSE42CMPSTR_INTRIN - Success
-- Performing Test HAVE_PCLMULQDQ_INTRIN
-- Performing Test HAVE_PCLMULQDQ_INTRIN - Success
-- Performing Test HAVE_AVX2_INTRIN
-- Performing Test HAVE_AVX2_INTRIN - Success
-- Architecture-specific source files: arch/x86/x86.c;arch/x86/slide_avx.c;arch/x86/chunkset_avx.c;arch/x86/compare258_avx.c;arch/x86/adler32_avx.c;arch/x86/insert_string_sse.c;arch/x86/compare258_sse.c;arch/x86/chunkset_sse.c;arch/x86/slide_sse.c;arch/x86/adler32_ssse3.c;arch/x86/crc_folding.c
-- The following features have been enabled:

 * CMAKE_BUILD_TYPE, Build type: RelWithDebInfo (selected)
 * WITH_GZFILEOP, Compile with support for gzFile related functions
 * ZLIB_COMPAT, Compile with zlib compatible API
 * WITH_OPTIM, Build with optimisation
 * WITH_NEW_STRATEGIES, Use new strategies
 * WITH_UNALIGNED, Support unaligned reads on platforms that support it
 * WITH_AVX2, Build with AVX2
 * WITH_SSE2, Build with SSE2
 * WITH_SSSE3, Build with SSSE3
 * WITH_SSE4, Build with SSE4
 * WITH_PCLMULQDQ, Build with PCLMULQDQ
 * AVX2_SLIDEHASH, Support AVX2 optimized slide_hash, using "-mavx2"
 * AVX_CHUNKSET, Support AVX optimized chunkset, using "-mavx2"
 * AVX2_COMPARE258, Support AVX2 optimized compare258, using "-mavx2"
 * AVX2_ADLER32, Support AVX2-accelerated adler32, using "-mavx2"
 * SSE42_CRC, Support SSE4.2 optimized CRC hash generation, using "-msse4"
 * SSE42_COMPARE258, Support SSE4.2 optimized compare258, using "-msse4"
 * SSSE3_ADLER32, Support SSSE3-accelerated adler32, using "-mssse3"
 * PCLMUL_CRC, Support CRC hash generation using PCLMULQDQ, using "-mssse3 -msse4 -mpclmul"

-- The following OPTIONAL packages have been found:

 * MySQL
 * ZLIB
 * PkgConfig
 * OpenSSL
 * Lua51
 * PerlLibs
 * Sodium

-- The following REQUIRED packages have been found:

 * Boost

-- The following features have been disabled:

 * ZLIB_ENABLE_TESTS, Build test binaries
 * ZLIB_DUAL_LINK, Dual link tests against system zlib
 * WITH_SANITIZER, Build with sanitizer (Memory, Address, Undefined)
 * WITH_FUZZERS, Build test/fuzz
 * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native)
 * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings
 * WITH_CODE_COVERAGE, Enable code coverage reporting
 * WITH_INFLATE_STRICT, Build with strict inflate distance checking
 * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances
 * INSTALL_UTILS, Copy minigzip and minideflate during install

-- The following OPTIONAL packages have not been found:

 * MariaDB
 * LuaJit
 * mbedTLS

-- Configuring done
-- Generating done
-- Build files have been written to: /home/eqemu/server_source
And the make output:

Code:
[redacted@localhost server_source]$ sudo make
Scanning dependencies of target common
[  0%] Building CXX object common/CMakeFiles/common.dir/base_packet.cpp.o
[  1%] Building CXX object common/CMakeFiles/common.dir/classes.cpp.o
[  1%] Building CXX object common/CMakeFiles/common.dir/cli/eqemu_command_handler.cpp.o
[  1%] Building CXX object common/CMakeFiles/common.dir/compression.cpp.o
[  1%] Building CXX object common/CMakeFiles/common.dir/condition.cpp.o
[  1%] Building CXX object common/CMakeFiles/common.dir/content/world_content_service.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/crash.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/crc16.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/crc32.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/database/database_dump_service.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/database.cpp.o
[  2%] Building CXX object common/CMakeFiles/common.dir/database_conversions.cpp.o
[  3%] Building CXX object common/CMakeFiles/common.dir/database_instances.cpp.o
[  3%] Building CXX object common/CMakeFiles/common.dir/dbcore.cpp.o
[  3%] Building CXX object common/CMakeFiles/common.dir/deity.cpp.o
[  3%] Building CXX object common/CMakeFiles/common.dir/dynamic_zone_base.cpp.o
/home/eqemu/server_source/common/dynamic_zone_base.cpp: In member function ‘std::unique_ptr<ServerPacket> DynamicZoneBase::CreateServerAddRemoveCharacterPacket(uint32_t, bool)’:
/home/eqemu/server_source/common/dynamic_zone_base.cpp:271:14: error: ‘make_unique’ is not a member of ‘std’
  auto pack = std::make_unique<ServerPacket>(ServerOP_DzAddRemoveCharacter, pack_size);
              ^
/home/eqemu/server_source/common/dynamic_zone_base.cpp:271:43: error: expected primary-expression before ‘>’ token
  auto pack = std::make_unique<ServerPacket>(ServerOP_DzAddRemoveCharacter, pack_size);
                                           ^
/home/eqemu/server_source/common/dynamic_zone_base.cpp: In member function ‘std::unique_ptr<ServerPacket> DynamicZoneBase::CreateServerRemoveAllCharactersPacket()’:
/home/eqemu/server_source/common/dynamic_zone_base.cpp:284:14: error: ‘make_unique’ is not a member of ‘std’
  auto pack = std::make_unique<ServerPacket>(ServerOP_DzRemoveAllCharacters, pack_size);
              ^
/home/eqemu/server_source/common/dynamic_zone_base.cpp:284:43: error: expected primary-expression before ‘>’ token
  auto pack = std::make_unique<ServerPacket>(ServerOP_DzRemoveAllCharacters, pack_size);
                                           ^
/home/eqemu/server_source/common/dynamic_zone_base.cpp: In member function ‘std::unique_ptr<ServerPacket> DynamicZoneBase::CreateServerDzLocationPacket(uint16_t, const DynamicZoneLocation&)’:
/home/eqemu/server_source/common/dynamic_zone_base.cpp:298:14: error: ‘make_unique’ is not a member of ‘std’
  auto pack = std::make_unique<ServerPacket>(server_opcode, pack_size);
              ^
/home/eqemu/server_source/common/dynamic_zone_base.cpp:298:43: error: expected primary-expression before ‘>’ token
  auto pack = std::make_unique<ServerPacket>(server_opcode, pack_size);
                                           ^
make[2]: *** [common/CMakeFiles/common.dir/dynamic_zone_base.cpp.o] Error 1
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
make: *** [all] Error 2
[redacted@localhost server_source]$
Looking at some stuff I found on Google it says to put the following in your CMakeLists.txt file:

Code:
set(CMAKE_CXX_STANDARD 14)
But I see that's already there.

Any tips/tricks you can share about getting it to compile in CentOS?

In case you can't tell, I'm not very much of a Linux person. I'm a networking guy and only have a Linux server to run some other services at my house (Wireless AP controller, headless Deluge server, etc). Only reason I'm using CentOS is because a Linux sysadmin guy I worked with recommended it for my application... but this has been more of a nightmare than my previous Lubuntu server I had.

EDIT: Also, I do have MariaDB and all the other dependencies...

Code:
[redacted@localhost server_source]$ sudo yum install mariadb
[sudo] password for redacted:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                     |  14 kB     00:00
 * base: centos.mirror.ca.planethoster.net
 * epel: mirror.math.princeton.edu
 * extras: centos.mirror.ca.planethoster.net
 * nux-dextop: li.nux.ro
 * remi-php72: mirror.team-cymru.com
 * remi-safe: mirror.team-cymru.com
 * updates: mirror.its.dal.ca
base                                                     | 3.6 kB     00:00
epel                                                     | 4.7 kB     00:00
extras                                                   | 2.9 kB     00:00
mongodb-org-4.4                                          | 2.5 kB     00:00
nux-dextop                                               | 2.9 kB     00:00
remi-php72                                               | 3.0 kB     00:00
remi-safe                                                | 3.0 kB     00:00
updates                                                  | 2.9 kB     00:00
(1/3): mongodb-org-4.4/7/primary_db                        |  67 kB   00:00
(2/3): epel/x86_64/updateinfo                              | 1.0 MB   00:00
(3/3): epel/x86_64/primary_db                              | 6.9 MB   00:00
Package 1:mariadb-5.5.68-1.el7.x86_64 already installed and latest version
Nothing to do
[redacted@localhost server_source]$
Reply With Quote