Quote:
Originally Posted by N0ctrnl
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]$