callofduty4x / CoD4x_Server

Extended Call of Duty 4 server
https://cod4x.ovh
GNU Affero General Public License v3.0
327 stars 121 forks source link

problem with compiling cod4x server in linux debian. #399

Closed upl1nk-v01d closed 12 months ago

upl1nk-v01d commented 1 year ago

before compiling I preloaded and installed necessary packages and cloned cod4x repo in my linux os. when I started to compile by executing make -no-pie, because without -no-pie thows errors: ... /usr/bin/ld: obj/_stringed_hooks.o: in function loc_translate': src/asmsource/_stringed_hooks.asm:(.bss+0x2cf4): multiple definition ofloc_translate'; obj/filesystem.o:(.bss+0x8b024): first defined here /usr/bin/ld: obj/certificates.o: warning: relocation in read-only section `.text' /usr/bin/ld: warning: creating DT_TEXTREL in a PIE collect2: error: ld returned 1 exit status

otherwise: 'echo Server done', but without release file. I couldn't find one in default directory /bin/ or other directories. Permissions are granted to 777.

P.S. I'm doing this because server doesn't output me info about r_xassetnum.

full log:

$ make -no-pie You build CoD4 version: 21.2 echo Server start echo make mbedtls make mbedtls make -C src/mbedtls make[1]: Entering directory '/home/v01d/CoD4x_Server/src/mbedtls' echo Mbedtls start echo Mbedtls done make[1]: Leaving directory '/home/v01d/CoD4x_Server/src/mbedtls' echo make tomcrypt make tomcrypt make -C src/tomcrypt make[1]: Entering directory '/home/v01d/CoD4x_Server/src/tomcrypt' echo TomCrypt start echo TomCrypt done make[1]: Leaving directory '/home/v01d/CoD4x_Server/src/tomcrypt' echo gcc obj/version.o -DCOD4X18UPDATE -DBUILD_NUMBER=1165 -DBUILD_BRANCH=master -DBUILD_REVISION=f73c628d8a08e9a4b4ec77d1c0eb0557ec56290e -D_GNU_SOURCE gcc -c -m32 -msse2 -mfpmath=sse -Wall -fno-omit-frame-pointer -fmax-errors=15 -fno-pie -O1 -DNDEBUG -DCOD4X18UPDATE -DBUILD_NUMBER=1165 -DBUILD_BRANCH=master -DBUILD_REVISION=f73c628d8a08e9a4b4ec77d1c0eb0557ec56290e -D_GNU_SOURCE -o obj/version.o src/version/version.c echo gcc bin/cod4x18_dedrun gcc -m32 -g -static-libgcc -rdynamic -Wl,-rpath=./ -o bin/cod4x18_dedrun obj/certificates.o obj/elf32_parser.o obj/sys_bsd.o obj/sys_con_tty.o obj/sys_linux.o obj/sys_unix.o obj/assert.o obj/cmd.o obj/cmd_completion.o obj/cm_debug.o obj/cm_load.o obj/cmodel.o obj/cm_test.o obj/cm_trace.o obj/com_bsp_load_obj.o obj/common.o obj/common_io.o obj/common_logprint.o obj/crc.o obj/cvar.o obj/debugcode.o obj/dobj.o obj/filesystem.o obj/g_cmds.o obj/g_entity.o obj/g_hud.o obj/g_sv_cmds.o obj/g_sv_main.o obj/g_sv_messages.o obj/g_sv_movement.o obj/g_team.o obj/g_weapon.o obj/hl2rcon.o obj/httpftp.o obj/huffman.o obj/maxmind_geoip.o obj/misc.o obj/msg.o obj/murmurhash1.o obj/netchan.o obj/net_game.o obj/net_reliabletransport.o obj/nvconfig.o obj/plugin_com.o obj/plugin_crypto.o obj/plugin_exports.o obj/plugin_handler.o obj/plugin_internal.o obj/profile.o obj/qcommon_mem.o obj/qcommon_parsecmdline.o obj/q_math.o obj/qshared.o obj/qvsnprintf.o obj/sapi.o obj/scr_vm_callbacks.o obj/scr_vm_cmd.o obj/scr_vm_fs.o obj/scr_vm_functions.o obj/scr_vm_main.o obj/sec_common.o obj/sec_crypto.o obj/sec_init.o obj/sec_rsa_functions.o obj/sec_sign.o obj/sec_update.o obj/sha1.o obj/sv_auth.o obj/sv_banlist.o obj/sv_bot.o obj/sv_client.o obj/sv_cmds.o obj/sv_demo.o obj/sv_game.o obj/sv_ingameadmin.o obj/sv_main.o obj/sv_net_chan.o obj/sv_screenshot.o obj/sv_snapshot.o obj/sys_main.o obj/sys_net.o obj/sys_patch.o obj/sys_thread.o obj/tests.o obj/varstorage.o obj/webadmin.o obj/win_localize.o obj/xac_helper.o obj/xassets.o obj/yyparse.o obj/bg_animation.o obj/bg_jump.o obj/bg_perks_mp.o obj/bg_weapons.o obj/bullet.o obj/cl_dedicated.o obj/cm_load_obj.o obj/cm_staticmodel_load_obj.o obj/com_pack.o obj/con_channels.o obj/cscr_animtree.o obj/cscr_compiler.o obj/cscr_const.o obj/cscr_main.o obj/cscr_memorytree.o obj/cscr_parser.o obj/cscr_stringlist.o obj/cscr_variable.o obj/cscr_vm.o obj/db_load.o obj/enthandle.o obj/g_active.o obj/g_client_fields.o obj/g_client_mp.o obj/g_combat_mp.o obj/g_common_fields.o obj/g_main_mp.o obj/g_misc.o obj/g_scr_helicopter.o obj/g_scr_main_mp.o obj/g_scr_vehicle.o obj/g_sv_client.o obj/g_utils_mp.o obj/g_vehicles_mp.o obj/mem_track.o obj/null_client.o obj/physicalmemory.o obj/q_parse.o obj/stringed_ingame.o obj/stringed_interface.o obj/sv_bots.o obj/sv_init_mp.o obj/sv_voice_mp.o obj/sv_world.o obj/xmodel_utils.o obj/adler32.o obj/cod4x_utils.o obj/crc32.o obj/deflate.o obj/inffast.o obj/inflate.o obj/inftrees.o obj/trees.o obj/unzip.o obj/extractor.o obj/keyword.o obj/menu.o obj/_aabbtree.o obj/_bg_animation_mp.o obj/_bg_mantle.o obj/_bg_misc.o obj/_bg_misctables.o obj/_bg_pmove.o obj/_bg_slidemove.o obj/_bg_vehicles_mp.o obj/_bg_weapons.o obj/_bg_weapons_load_obj.o obj/_brush_edges.o obj/_bullet.o obj/_cm_mesh.o obj/_cm_staticmodel.o obj/_cm_staticmodel_load_obj.o obj/_cm_trace.o obj/_cm_tracebox.o obj/_cm_world.o obj/_collision_kernel.o obj/_collision_space.o obj/_collision_std.o obj/_collision_transform.o obj/_collision_trimesh_box.o obj/_collision_util.o obj/_com_bsp.o obj/_com_bsp_load_obj.o obj/_com_constantconfigstrings.o obj/_com_loadutils.o obj/_com_math.o obj/_com_memory.o obj/_com_stringtable.o obj/_con_channels.o obj/_db_assetnames.o obj/_db_load.o obj/_db_memory.o obj/_db_registry.o obj/_db_stringtable_load.o obj/_dobj.o obj/_dobj_management.o obj/_dobj_skel.o obj/_dobj_utils.o obj/_DynEntity_load_obj.o obj/_g_active_mp.o obj/_g_bsp.o obj/_g_client_mp.o obj/_g_client_script_cmd_mp.o obj/_g_cmds_mp.o obj/_g_combat_mp.o obj/_g_debug.o obj/_g_helicopter.o obj/_g_hudelem.o obj/_g_items.o obj/_g_load_utils.o obj/_g_main_mp.o obj/_g_misc_mp.o obj/_g_missile.o obj/_g_mover.o obj/_g_player_corpse_mp.o obj/_g_scr_helicopter.o obj/_g_scr_main_mp.o obj/_g_scr_mover.o obj/_g_scr_vehicle.o obj/_g_spawn_mp.o obj/_g_team_mp.o obj/_g_trigger_mp.o obj/_g_utils_mp.o obj/_g_vehicles_mp.o obj/_g_weapon.o obj/_g_weapon_load_obj.o obj/_joint.o obj/_mass.o obj/_matrix.o obj/_memfile.o obj/_memory.o obj/_ode.o obj/_odemath.o obj/_phys_coll_boxbrush.o obj/_phys_coll_capsulebrush.o obj/_phys_coll_cylinderbrush.o obj/_phys_contacts.o obj/_phys_ode.o obj/_physpreset_load_obj.o obj/_phys_world_collision.o obj/_player_use_mp.o obj/pluginexports.o obj/_pool_allocator.o obj/profiling.o obj/_quickstep.o obj/_rotation.o obj/_r_xsurface.o obj/_r_xsurface_load_obj.o obj/_scr_animtree.o obj/_scr_compiler.o obj/_scr_main.o obj/_scr_parser.o obj/_scr_parsetree.o obj/_scr_tempmemory.o obj/_scr_vm.o obj/_scr_yacc.o obj/_stringed_hooks.o obj/_surfaceflags.o obj/_sv_world.o obj/_util.o obj/_xanim.o obj/_xanim_calc.o obj/_xanim_load_obj.o obj/_xmodel.o obj/_xmodel_load_obj.o obj/_xmodel_load_phys_collmap.o obj/_xmodel_utils.o obj/version.o -L./lib -ltomcrypt -lmbedtls -lmbedcrypto -lmbedx509 -ldl -lpthread -lm -lstdc++ echo Server done

upl1nk-v01d commented 1 year ago

what linux gcc version must be used to successfuly compile the source?

Iswenzz commented 1 year ago

which gcc version are you using ?

upl1nk-v01d commented 1 year ago

gcc 10

Iswenzz commented 1 year ago

you'll need GCC 8 or 9 to compile it, you need to fix all errors if you use a recent compiler

proxict commented 12 months ago

Addressed in #415