Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-26-2021, 04:52 AM
Myserk
Fire Beetle
 
Join Date: Mar 2021
Posts: 3
Default Failure to compile EQEmu on Slackware 14.2

Hi,

I've been trying to get EQEmu to compile on Slackware 14.2 over the past few days, and have finally hit a dead end after sorting out a multitude of issues. I'm out of ideas on where to look for a solution to this one.

The problem in question:

Code:
[ 90%] Linking CXX executable ../bin/zone
/usr/local/lib/perl5/5.32.1/x86_64-linux-ld/CORE/libperl.a(pp.o): In function `Perl_pp_crypt':
pp.c:(.text+0xae6f): undefined reference to `crypt'
collect2: error: ld returned 1 exit status
zone/CMakeFiles/zone.dir/build.make:3721: recipe for target 'bin/zone' failed
make[2]: *** [bin/zone] Error 1
CMakeFiles/Makefile2:886: recipe for target 'zone/CMakeFiles/zone.dir/all' failed
make[1]: *** [zone/CMakeFiles/zone.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Or from a more verbose log:

Code:
[ 90%] Linking CXX executable ../bin/zone
cd /home/eqemu/eqemu/src/zone && /usr/bin/cmake -E cmake_link_script CMakeFiles/zone.dir/link.txt --verbose=1
/usr/bin/c++   -O2 -g -DNDEBUG   CMakeFiles/zone.dir/aa.cpp.o CMakeFiles/zone.dir/aa_ability.cpp.o CMakeFiles/zone.dir/aggro.cpp.o CMakeFiles/zone.dir/aggromanager.cpp.o CMakeFiles/zone.dir/api_service.cpp.o 
CMakeFiles/zone.dir/attack.cpp.o CMakeFiles/zone.dir/aura.cpp.o CMakeFiles/zone.dir/beacon.cpp.o CMakeFiles/zone.dir/bonuses.cpp.o CMakeFiles/zone.dir/bot.cpp.o CMakeFiles/zone.dir/bot_command.cpp.o 
CMakeFiles/zone.dir/bot_database.cpp.o CMakeFiles/zone.dir/botspellsai.cpp.o CMakeFiles/zone.dir/client.cpp.o CMakeFiles/zone.dir/client_mods.cpp.o CMakeFiles/zone.dir/client_packet.cpp.o CMakeFiles/zone.dir/client_process.cpp.o 
CMakeFiles/zone.dir/command.cpp.o CMakeFiles/zone.dir/corpse.cpp.o CMakeFiles/zone.dir/data_bucket.cpp.o CMakeFiles/zone.dir/doors.cpp.o CMakeFiles/zone.dir/dynamic_zone.cpp.o CMakeFiles/zone.dir/effects.cpp.o 
CMakeFiles/zone.dir/embparser.cpp.o CMakeFiles/zone.dir/embparser_api.cpp.o CMakeFiles/zone.dir/embperl.cpp.o CMakeFiles/zone.dir/embxs.cpp.o CMakeFiles/zone.dir/encounter.cpp.o CMakeFiles/zone.dir/entity.cpp.o 
CMakeFiles/zone.dir/exp.cpp.o CMakeFiles/zone.dir/expedition.cpp.o CMakeFiles/zone.dir/expedition_database.cpp.o CMakeFiles/zone.dir/expedition_request.cpp.o CMakeFiles/zone.dir/fastmath.cpp.o CMakeFiles/zone.dir/fearpath.cpp.o 
CMakeFiles/zone.dir/forage.cpp.o CMakeFiles/zone.dir/groups.cpp.o CMakeFiles/zone.dir/guild.cpp.o CMakeFiles/zone.dir/guild_mgr.cpp.o CMakeFiles/zone.dir/hate_list.cpp.o CMakeFiles/zone.dir/heal_rotation.cpp.o 
CMakeFiles/zone.dir/horse.cpp.o CMakeFiles/zone.dir/inventory.cpp.o CMakeFiles/zone.dir/loottables.cpp.o CMakeFiles/zone.dir/lua_bit.cpp.o CMakeFiles/zone.dir/lua_corpse.cpp.o CMakeFiles/zone.dir/lua_client.cpp.o 
CMakeFiles/zone.dir/lua_door.cpp.o CMakeFiles/zone.dir/lua_encounter.cpp.o CMakeFiles/zone.dir/lua_entity.cpp.o CMakeFiles/zone.dir/lua_entity_list.cpp.o CMakeFiles/zone.dir/lua_expedition.cpp.o CMakeFiles/zone.dir/lua_general.cpp.o
CMakeFiles/zone.dir/lua_group.cpp.o CMakeFiles/zone.dir/lua_hate_list.cpp.o CMakeFiles/zone.dir/lua_inventory.cpp.o CMakeFiles/zone.dir/lua_item.cpp.o CMakeFiles/zone.dir/lua_iteminst.cpp.o CMakeFiles/zone.dir/lua_mob.cpp.o
CMakeFiles/zone.dir/lua_mod.cpp.o CMakeFiles/zone.dir/lua_npc.cpp.o CMakeFiles/zone.dir/lua_object.cpp.o CMakeFiles/zone.dir/lua_packet.cpp.o CMakeFiles/zone.dir/lua_parser.cpp.o CMakeFiles/zone.dir/lua_parser_events.cpp.o
CMakeFiles/zone.dir/lua_raid.cpp.o CMakeFiles/zone.dir/lua_spawn.cpp.o CMakeFiles/zone.dir/lua_spell.cpp.o CMakeFiles/zone.dir/lua_stat_bonuses.cpp.o CMakeFiles/zone.dir/global_loot_manager.cpp.o CMakeFiles/zone.dir/main.cpp.o 
CMakeFiles/zone.dir/map.cpp.o CMakeFiles/zone.dir/merc.cpp.o CMakeFiles/zone.dir/mob.cpp.o CMakeFiles/zone.dir/mob_ai.cpp.o CMakeFiles/zone.dir/mob_appearance.cpp.o CMakeFiles/zone.dir/mob_movement_manager.cpp.o
CMakeFiles/zone.dir/mob_info.cpp.o CMakeFiles/zone.dir/mod_functions.cpp.o CMakeFiles/zone.dir/npc.cpp.o CMakeFiles/zone.dir/npc_ai.cpp.o CMakeFiles/zone.dir/npc_scale_manager.cpp.o CMakeFiles/zone.dir/object.cpp.o
CMakeFiles/zone.dir/oriented_bounding_box.cpp.o CMakeFiles/zone.dir/pathfinder_interface.cpp.o CMakeFiles/zone.dir/pathfinder_nav_mesh.cpp.o CMakeFiles/zone.dir/pathfinder_null.cpp.o CMakeFiles/zone.dir/pathing.cpp.o
CMakeFiles/zone.dir/perl_client.cpp.o CMakeFiles/zone.dir/perl_doors.cpp.o CMakeFiles/zone.dir/perl_entity.cpp.o CMakeFiles/zone.dir/perl_expedition.cpp.o CMakeFiles/zone.dir/perl_groups.cpp.o 
CMakeFiles/zone.dir/perl_hateentry.cpp.o CMakeFiles/zone.dir/perl_inventory.cpp.o CMakeFiles/zone.dir/perl_mob.cpp.o CMakeFiles/zone.dir/perl_npc.cpp.o CMakeFiles/zone.dir/perl_object.cpp.o CMakeFiles/zone.dir/perl_perlpacket.cpp.o
CMakeFiles/zone.dir/perl_player_corpse.cpp.o CMakeFiles/zone.dir/perl_questitem.cpp.o CMakeFiles/zone.dir/perl_raids.cpp.o CMakeFiles/zone.dir/perlpacket.cpp.o CMakeFiles/zone.dir/petitions.cpp.o CMakeFiles/zone.dir/pets.cpp.o
CMakeFiles/zone.dir/position.cpp.o CMakeFiles/zone.dir/qglobals.cpp.o CMakeFiles/zone.dir/queryserv.cpp.o CMakeFiles/zone.dir/questmgr.cpp.o CMakeFiles/zone.dir/quest_parser_collection.cpp.o CMakeFiles/zone.dir/raids.cpp.o
CMakeFiles/zone.dir/raycast_mesh.cpp.o CMakeFiles/zone.dir/spawn2.cpp.o CMakeFiles/zone.dir/spawngroup.cpp.o CMakeFiles/zone.dir/special_attacks.cpp.o CMakeFiles/zone.dir/spell_effects.cpp.o CMakeFiles/zone.dir/spells.cpp.o
CMakeFiles/zone.dir/task_client_state.cpp.o CMakeFiles/zone.dir/task_goal_list_manager.cpp.o CMakeFiles/zone.dir/task_manager.cpp.o CMakeFiles/zone.dir/task_proximity_manager.cpp.o CMakeFiles/zone.dir/tasks.cpp.o
CMakeFiles/zone.dir/titles.cpp.o CMakeFiles/zone.dir/tradeskills.cpp.o CMakeFiles/zone.dir/trading.cpp.o CMakeFiles/zone.dir/trap.cpp.o CMakeFiles/zone.dir/tribute.cpp.o CMakeFiles/zone.dir/tune.cpp.o
CMakeFiles/zone.dir/water_map.cpp.o CMakeFiles/zone.dir/water_map_v1.cpp.o CMakeFiles/zone.dir/water_map_v2.cpp.o CMakeFiles/zone.dir/waypoints.cpp.o CMakeFiles/zone.dir/worldserver.cpp.o
CMakeFiles/zone.dir/xtargetautohaters.cpp.o CMakeFiles/zone.dir/zone.cpp.o CMakeFiles/zone.dir/zone_config.cpp.o CMakeFiles/zone.dir/zonedb.cpp.o CMakeFiles/zone.dir/zone_reload.cpp.o CMakeFiles/zone.dir/zone_store.cpp.o
CMakeFiles/zone.dir/zoning.cpp.o  -o ../bin/zone -rdynamic /usr/local/lib/libluajit-5.1.so ../bin/libluabind.a ../bin/libcommon.a -lmysqlclient_r -lmysqlclient_r ../libs/zlibng/libz-ng.a ../submodules/libuv/libuv_a.a
../submodules/fmt/libfmt.a ../submodules/recastnavigation/Detour/libDetour.a -lssl -lcrypto -lsodium /usr/local/lib/perl5/5.32.1/x86_64-linux-ld/CORE/libperl.a -ldl -lz -lm -lpthread -lrt -luuid -Wl,-rpath,/usr/local/lib
            
zone/CMakeFiles/zone.dir/build.make:3721: recipe for target 'bin/zone' failed
make[2]: Leaving directory '/home/eqemu/eqemu/src'
CMakeFiles/Makefile2:916: recipe for target 'zone/CMakeFiles/zone.dir/all' failed
make[1]: Leaving directory '/home/eqemu/eqemu/src'
Makefile:116: recipe for target 'all' failed
I think it may be a linker issue in glibc? but that's almost a guess on my part after reading various items which were somewhat but not quite related. Even if it is, I have no idea how to go about fixing that.

Gcc version is 5.5.0 if that's relevant.



Additional info just in case:
Cmake command executed prior to make:
Code:
cmake -G "Unix Makefiles" -DEQEMU_BUILD_TESTS=ON -DEQEMU_ENABLE_BOTS=ON -DEQEMU_BUILD_LOGIN=ON
Results:

Code:
Boost  found.
-- Found MySQL: /usr/lib64/libmysqlclient_r.so
-- Could NOT find MariaDB (missing:  MariaDB_LIBRARY MariaDB_INCLUDE_DIR)
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2u")
-- Found Lua51: /usr/lib64/liblua.so;/usr/lib64/libm.so (found version "5.1.5")
-- Found LuaJit: /usr/local/lib/libluajit-5.1.so;/usr/lib64/libm.so (found version "5.1.4")
-- Found Perl: /usr/local/bin/perl (found version "5.32.1")
-- Found PerlLibs: /usr/local/lib/perl5/5.32.1/x86_64-linux-ld/CORE/libperl.a (found version "5.32.1")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libsodium'
--   Found libsodium, version 1.0.18
-- Found SODIUM: /usr/lib64/libsodium.so
-- Found mbedTLS:
--   version 2.26.0
--   TLS: /usr/local/lib/libmbedtls.a
--   X509: /usr/local/lib/libmbedx509.a
--   Crypto: /usr/local/lib/libmbedcrypto.a
-- **************************************************
-- * Library Detection                              *
-- **************************************************
-- * MySQL:                                   FOUND *
-- * MariaDB:                               MISSING *
-- * ZLIB:                                    FOUND *
-- * Lua:                                     FOUND *
-- * LuaJIT:                                  FOUND *
-- * Perl:                                    FOUND *
-- * libsodium:                               FOUND *
-- * OpenSSL:                                 FOUND *
-- * mbedTLS:                                 FOUND *
-- **************************************************
--
-- **************************************************
-- * Library Usage                                  *
-- **************************************************
-- * Database:                                MySQL *
-- * TLS:                                   OpenSSL *
-- * Sodium:                              Libsodium *
-- * Lua:                                    LuaJIT *
-- * 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 - Success
-- 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.5.2
-- 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 - Success
-- 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
 * LuaJit
 * PerlLibs
 * Sodium
 * mbedTLS

-- The following REQUIRED packages have been found:

 * boost_headers (required version == 1.75.0)
 * 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

-- Configuring done
-- Generating done
Any hints or tips on where to go next would be greatly appreciated, thanks.
Reply With Quote
  #2  
Old 03-26-2021, 12:19 PM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 468
Default

I wish I could help. Linux, although far more stable than Windows can be very fickle... Sometimes simply trying an install again works, and who knows what kind of bug was being encountered... I will ask, why use Slackware at all? It's soundly tested in both Ubuntu and Debian. No reason to reinvent the wheel since they're all freely distributed operating systems.
__________________
Sayin Silverwolf
Server Op of The Sandbox (Non-Legit)
Reply With Quote
  #3  
Old 03-26-2021, 03:51 PM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,289
Default

Its been a while since ive compiled eqemu, however it is saying you need the crypt module for perl

make sure you have libssl-dev and openssl-devel

also identify any perl-Crypt packages (libcrypt?)

like..:
https://pkgs.org/download/perl-Crypt-DES
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote
  #4  
Old 03-26-2021, 05:44 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Looks like you built perl yourself, something most likely went wrong there is my guess
Reply With Quote
  #5  
Old 03-27-2021, 02:51 AM
Myserk
Fire Beetle
 
Join Date: Mar 2021
Posts: 3
Default

Thanks for the pointers! No luck so far, but at least I've got some fresh ideas to try.

Quote:
Originally Posted by hayward6 View Post
I will ask, why use Slackware at all? It's soundly tested in both Ubuntu and Debian. No reason to reinvent the wheel since they're all freely distributed operating systems.
In short, because it's what I have installed & is a remote headless server. I have no idea why I originally picked Slackware (just a glutton for punishment I guess!), but I originally started toying with Linux & Slackware about 20 years ago by putting together a server. I've continued to simply migrate the vast majority of it with each hardware failure across 2-3 machines ever since. I could just add another virtual machine to it & run Ubuntu from inside that in order to compile + run EQEmu, but I always wind up learning a lot more by taking the difficult route with Linux.

Quote:
Originally Posted by image View Post
Its been a while since ive compiled eqemu, however it is saying you need the crypt module for perl

make sure you have libssl-dev and openssl-devel

also identify any perl-Crypt packages (libcrypt?)

like..:
https://pkgs.org/download/perl-Crypt-DES
To the best of my knowledge, Slackware doesn't differentiate between just installing a package & installing all the devel/headers etc. I believe if something is installed, it throws the whole lot in. I definitely have openSSL installed as I control the box via SSH. It also has an https capable apache server running, among other things which rely on SSL.

I was hopeful with the various perl crypt modules (after 60+ minutes of cpan installing an awful lot of them), but the error seems to remain the same unfortunately. I also installed the package provided in your link, just for good measure.

I did run a small script to test the crypt function in perl (both before and after adding a stack of modules), and it seemed to function without any issue.

Quote:
Originally Posted by demonstar55 View Post
Looks like you built perl yourself, something most likely went wrong there is my guess
Is that because Perl is located in /usr/local? Slackware does that with the stock version as far as I'm aware. I vaguely remember reading an explanation as to why & the reasoning for it, but couldn't provide a link as I came across it while troubleshooting one of the various other issues I encountered in attempting to compile EQEmu. I may be a bit confused/mixing up issues there though, so that might not be entirely accurate.

I'm fairly certain I'm just running the stock Perl for 14.2, upgraded via slackpkg+, although I do remember messing with compiling Perl myself (and having it fail to do so) before simply using slackpkg+. I'll definitely have to look into confirming that however.


-edit: Scratch that. Turns out I somehow managed to get the latest version of perl compiling & then proceeded to install it, give it priority over the still-installed system default, and additionally mess up a bunch of pathing on the user account being used to compile the emulator! I've removed that version, restored the system default, removed the inadvertent .bashrc modifications and learnt a bit more about the history of /usr/local!

It now builds flawlessly. Thanks again.


In the incredibly unlikely circumstance that somebody else comes looking for help with building on Slackware, the only part I can remember that had me stumped for a while (other than the Perl issue thanks to my own idiocy!) is a modification which you may need on the CMakeLists.txt file. You'll probably need to add in the following code, I think it was to do with the newer version of cmake & possibly boost. You'll know the problem when you see it anyway.

Code:
IF(POLICY CMP0057)
        CMAKE_POLICY(SET CMP0057 NEW)
ENDIF()
Reply With Quote
  #6  
Old 03-27-2021, 11:53 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

I'll set up a slackware VM and see if I run into that CMake issue you mention.
Reply With Quote
  #7  
Old 03-27-2021, 09:29 PM
Myserk
Fire Beetle
 
Join Date: Mar 2021
Posts: 3
Default

Quote:
Originally Posted by demonstar55 View Post
I'll set up a slackware VM and see if I run into that CMake issue you mention.
Using Boost version 1.75.0 and Cmake version 3.5.2.

This is what I see if I don't add in the aforementioned modification.

Code:
CMake Warning (dev) at /usr/local/lib/cmake/Boost-1.75.0/BoostConfig.cmake:240 (if):
  Policy CMP0057 is not set: Support new IN_LIST if() operator.  Run "cmake
  --help-policy CMP0057" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  IN_LIST will be interpreted as an operator when the policy is set to NEW.
  Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:245 (find_package)
  CMakeLists.txt:52 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /usr/local/lib/cmake/Boost-1.75.0/BoostConfig.cmake:240 (if):
  if given arguments:

    "ALL" "IN_LIST" "Boost_FIND_COMPONENTS"

  Unknown arguments specified
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:245 (find_package)
  CMakeLists.txt:52 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/home/eqemu/src2/build/CMakeFiles/CMakeOutput.log".
I don't believe it appeared on the Slackware 14.2 stock version of cmake (approximately version 3.1? from memory), but I upgraded cmake in the process of trying to get the compilation to work & then had to solve the above issue.



Additionally (and far less critically as they're only warnings, but may become an issue in the future), I saw a fair number of these during the compile. I'm pretty sure they didn't occur when I tried with an older version of Boost initially.

Code:
[ 74%] Building CXX object zone/CMakeFiles/zone.dir/lua_inventory.cpp.o
In file included from /home/eqemu/src2/libs/luabind/luabind/class.hpp:78:0,
                 from /home/eqemu/src2/libs/luabind/luabind/luabind.hpp:28,
                 from /home/eqemu/src2/zone/lua_inventory.cpp:4:
/usr/local/include/boost/bind.hpp:41:265: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. 
Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:53 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3