Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

metamod-p compile proble

Help
2010-12-23
2013-04-05
1 2 > >> (Page 1 of 2)
  • Popa  Andrei
    Popa Andrei
    2010-12-23

    Hello there.Y hope i will get the help i need here.
    I have an HLDS hosted on unbuntu 10.10 server and it keeps crashing with these errors

    ----------------------------------------------
    CRASH: Thu Dec 23 22:25:26 EET 2010
    Start Line: ./hlds_amd -game cstrike -insecure +ip 195.2.197.62 +port 27015 +maxplayers 32 +map de_dust2
    [New Thread 5823]
    [New Thread 5828]
    [New Thread 5826]
    Core was generated by `./hlds_amd -game cstrike -insecure +ip 195.2.197.62 +port 27015 +maxplayers 32'.
    Program terminated with signal 11, Segmentation fault.
    #0  0x00ced492 in mysql_next_result () from cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
    #0  0x00ced492 in mysql_next_result () from cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
    #1  0x00ce908c in ?? () from cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    No symbol table info available.
    From        To          Syms Read   Shared Object Library
    0x004aea40  0x004af988  Yes (*)     /lib/libdl.so.2
    0x0045a610  0x00466ad8  Yes (*)     /lib/libpthread.so.0
    0x00b5dac0  0x00c67a64  Yes (*)     /lib/libc.so.6
    0x004e5830  0x004fc5cf  Yes (*)     /lib/ld-linux.so.2
    0x00529d90  0x005accb4  Yes         /usr/hlds/engine_amd.so
    0x00f685f0  0x00f76ec4  Yes         ./libsteam_api_c.so
    0x001134b0  0x0012d7f8  Yes (*)     /lib/libm.so.6
    0x00fdba60  0x00fe9b4d  Yes         /usr/hlds/filesystem_stdio_i386.so
    0x08f0809c  0x09031668  Yes         ./cstrike/dlls/cs_i386.so
    0x0013b184  0x0014e6e0  Yes         ./cstrike/addons/metamod/dlls/metamod_i386.so
    0x087602e0  0x08776ef8  Yes (*)     /usr/hlds/cstrike/addons/dproto/dproto_i386.so
    0x002542e0  0x002c5cd8  Yes (*)     /usr/lib/libstdc++.so.6
    0x001ddf50  0x001f4438  Yes         /lib/libgcc_s.so.1
    0x00384630  0x003de9e4  Yes (*)     /usr/hlds/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
    0x00ce12c0  0x00d63294  Yes (*)     cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
    0x00ac3ca0  0x00ac9e34  Yes (*)     cstrike/addons/amxmodx/modules/csx_amxx_i386.so
    0x00202150  0x00207904  Yes (*)     cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so
    0x002fcbe0  0x002ff6f4  Yes (*)     cstrike/addons/amxmodx/modules/fun_amxx_i386.so
    0x003120e0  0x0031c0c4  Yes (*)     cstrike/addons/amxmodx/modules/engine_amxx_i386.so
    0x0047d9f0  0x004a83b4  Yes (*)     cstrike/addons/amxmodx/modules/hamsandwich_amxx_i386.so
    0x00a55ac0  0x00a80b84  Yes (*)     cstrike/addons/amxmodx/modules/fakemeta_amxx_i386.so
    0x00334f30  0x00338264  Yes (*)     cstrike/addons/amxmodx/modules/geoip_amxx_i386.so
    0x06679ef0  0x0670c958  Yes (*)     cstrike/addons/amxmodx/modules/orpheu_amxx_i386.so
    0x072378d0  0x072a1fb4  Yes (*)     cstrike/addons/amxmodx/modules/sqlite_amxx_i386.so
    0x00351000  0x0035bd64  Yes (*)     cstrike/addons/amxmodx/modules/csdm_amxx_i386.so
    0x046765f0  0x04c0a5a4  Yes (*)     ./steamclient.so
    0x00ea33c0  0x00ec1a68  Yes (*)     ./libtier0_s.so
    0x00edd050  0x00f14fe0  Yes (*)     ./libvstdlib_s.so
    0x06f7a4b0  0x0705ba04  Yes         ./libsteamvalidateuseridtickets.so
    0x0033da20  0x00344e08  Yes (*)     /lib/libnss_files.so.2
    (*): Shared library is missing debugging information.
    Stack level 0, frame at 0xbff71370:
     eip = 0xced492 in mysql_next_result; saved eip 0xce908c
     called by frame at 0x21a0
     Arglist at 0xbff71368, args: 
     Locals at 0xbff71368, Previous frame's sp is 0xbff71370
     Saved registers:
      ebx at 0xbff71360, ebp at 0xbff71368, esi at 0xbff71364, eip at 0xbff7136c
    End of crash report
    ----------------------------------------------
    

    I requested help to discover the problem on a lot of forums and thei sey it`s because of conflicts bettwen the ubnuntu glibc version and the glibc version wich metamod-p was compiled and i should recompile metamod again on mi server.
    Mi server has

    GNU C Library (Ubuntu EGLIBC 2.12.1-0ubuntu10) stable release version 2.12.1, by Roland McGrath et al.
    

    i downloaded the source of metamod-p from the site and tried to compile it with make command but i get this

    ./engineinfo.h:116: warning: âvisibilityâ attribute ignored on non-class types
    support_meta.cpp:104: warning: âvisibilityâ attribute ignored on non-class types
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/thread_logparse.o -c thread_logparse.cpp
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -DCOMPILE_TZ=\"EET\" -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/vdate.o -c vdate.cpp
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/osdep_linkent_linux.o -c osdep_linkent_linux.cpp
    osdep_linkent_linux.cpp:40: fatal error: asm/page.h: No such file or directory
    compilation terminated.
    make[1]: *** [debug.linux_i386/osdep_linkent_linux.o] Error 1
    make[1]: Leaving directory `/usr/metamod-p-1.19p32/metamod'
    make: *** [metamod] Error 2
    
    ./engineinfo.h:116: warning: âvisibilityâ attribute ignored on non-class types
    support_meta.cpp:104: warning: âvisibilityâ attribute ignored on non-class types
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/thread_logparse.o -c thread_logparse.cpp
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -DCOMPILE_TZ=\"EET\" -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/vdate.o -c vdate.cpp
    gcc -ggdb3 -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"debugging\"" -D__METAMOD_BUILD__  -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o debug.linux_i386/osdep_linkent_linux.o -c osdep_linkent_linux.cpp
    osdep_linkent_linux.cpp:40: fatal error: asm/page.h: No such file or directory
    compilation terminated.
    make[1]: *** [debug.linux_i386/osdep_linkent_linux.o] Error 1
    make[1]: Leaving directory `/usr/metamod-p-1.19p32/metamod'
    make: *** [metamod] Error 2
    [23:31:12] Tache Madalin: ======================
    [23:31:18] Tache Madalin: root@storm:/usr/metamod-p-1.19p32/metamod# gcc -v
    Using built-in specs.
    Target: i686-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    Thread model: posix
    gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
    root@storm:/usr/metamod-p-1.19p32/metamod#
    [23:31:23] Tache Madalin: root@storm:/usr/metamod-p-1.19p32/metamod# gcc --version
    gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

    Can you please tell me wath am i doing rong is how can i fix this.

    PS why did you stop developing this great mod?

    Beste regards and i hope you can help me.
    Popa Andrei Florin

     
  • Popa  Andrei
    Popa Andrei
    2010-12-28

    is there someone waching this forum?

     
  • Sorry, I read your message and then forgot.

    I tested metamod with Ubuntu 10.10 server, loads/runs without problems.

    Your problem seems to be in AMXModX, mysql plugin crashing. Maybe it has to be compiled for Ubuntu?
    Try contact http://www.amxmodx.org/

     
  • Not that I have stopped developing, it's 'mature'. No bugs have been reported (that is bugs that are actually in metamod-p) and it's old for game. So nothing ground breaking changes happening there.

     
  • edman747
    edman747
    2012-07-27

    Hello,
    Would it be possible Post a new Linux i586/i686 binary? With set the compiler flag to "intrinsic" SSE2
    I have tried to compile the source code in Debian 6.0, with gcc (Debian 4.4.5-8) 4.4.5

    many errors.

    Thank You,

     
  • I cannot see any reason, why one would want to recompile metamod-p with SSE2.

     
  • Since this Adam person has forked the metamod-p (not submitted his fix upstream), I recommend that you ask him.

    I see he is posting binary, then by GPL license (of metamod-p), he's obligated to give you the source-code (metamod-p32 + the fix) he used to create that binary.

     
  • I went through compiler generated assembler code of metamod-p32 (originally compiled with gcc-3.3.6), and recompile of metamod-p using ubuntu gcc-4.6.3.

    I just can't see what enabling SSE2 is supposed to archive. I think what is seen here is effect of compiling metamod-p with newer compiler, tuned for current processor architechtures. And before actual performance numbers are shown, 'SSE2+friends make things better' is just placebo effect.

     
  • CVS now contain updated version of metamod-p, that can be compiled with gcc-4.x. (however untested, might not work)

     
  • edman747
    edman747
    2012-07-27

    Hi,

    Can you link me? I will download the source files and compile metamod-p in Debian 6.0
    I will talk to Adam about the GPL.

    Thank You,

     
  • edman747
    edman747
    2012-07-27

    still seeing errors with gcc-4.4.5

    make: ***  Error 1
    make: Leaving directory `/home/edman747/metamod-1.19p33/trace_plugin'
    make: ***  Error 2
    edman747@sc:~/metamod-1.19p33$

     
  • Go to "metamod-1.19p33/metamod/" directory. Then compile with "make OPT=opt".

    OPT=opt is needed to build optimized binary instead of debug.

     
  • … after that new metamod should be at "opt.linux32/metamod_i386.so"

     
  • edman747
    edman747
    2012-07-27

    Ok,
    I used make "OPT=opt"

    still have errors:
    engine_api.cpp:1050: error: invalid conversion from 'void (*)(void*, char*, …)' to 'void (*)(void*, const char*, …)'
    make: ***  Error 1
    make: Leaving directory `/home/edman747/metamod-1.19p33/trace_plugin'
    make: ***  Error 2
    edman747@sc:~/metamod-1.19p33$

     
  • You're still compiling in the root directory. Change directory to "~/metamod-1.19p33/metamod" then use "make OPT=opt". Other directories are example plugins for metamod and I didn't fix those for gcc-4.x (yet).

     
  • edman747
    edman747
    2012-07-27

    edman747@sc:~/metamod-p/metamod-p-1.19p32/metamod$ make OPT=opt
    gcc -O2 -fomit-frame-pointer -ffast-math -march=i586 -mtune=pentium4 -fno-exceptions -fno-rtti -Wall -Wno-unknown-pragmas   -DOPT_TYPE="\"optimized\"" -D__METAMOD_BUILD__  -D__INTERNALS_USE_REGPARAMS__ -fPIC -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk -o opt.linux_i386/api_hook.o -c api_hook.cpp
    api_hook.cpp:1: error: CPU you selected does not support x86-64 instruction set
    api_hook.cpp:1: error: CPU you selected does not support x86-64 instruction set
    make: ***  Error 1

     
  • edman747
    edman747
    2012-07-27

    oops,
    edman747@sc:~/metamod-1.19p33/metamod$ make OPT=opt
    gcc -m32 -MM -I. -I../metamod -I../hlsdk/engine -I../hlsdk/common -I../hlsdk/pm_shared -I../hlsdk/dlls -I../hlsdk api_hook.cpp api_info.cpp commands_meta.cpp conf_meta.cpp dllapi.cpp engine_api.cpp engineinfo.cpp game_support.cpp game_autodetect.cpp h_export.cpp linkgame.cpp linkplug.cpp log_meta.cpp meta_eiface.cpp metamod.cpp mlist.cpp mplayer.cpp mplugin.cpp mqueue.cpp mreg.cpp mutil.cpp osdep.cpp osdep_p.cpp reg_support.cpp sdk_util.cpp studioapi.cpp support_meta.cpp thread_logparse.cpp vdate.cpp osdep_linkent_linux.cpp osdep_detect_gamedll_linux.cpp | sed "s;\(^*\):\(.*\);opt.linux_i386/\1: Makefile Config.mak \2;" > opt.linux_i386/Rules.depend
    make: Nothing to be done for `default'.

    Thank You,

     
  • Hmm, interesting. On Debian Squeeze, I can compile without problem using 'make OPT=opt'.

    Does 'make OPT=opt linux' work for you?

     
  • edman747
    edman747
    2012-07-28

    I did make clean, then make OPT=opt
    Should I do 'make OPT=opt linux'?

    Best Wishes,

     
  • Yes, try "make OPT=opt linux".

     
  • edman747
    edman747
    2012-07-28

    That works, ty
    24779c61f4ea4ad16307c5018a67b014  metamod_i386.so

     
  • edman747
    edman747
    2012-08-04

    Hello,
    segfault and core file.

    Core was generated by `./hlds_i686 -num_edicts 3072 -game svencoop -pingboost 2 +ip 178.33.47.48 +port'.
    Program terminated with signal 11, Segmentation fault.
    #0  0xb7668873 in _IO_vfprintf_internal (s=0xbf83793c, format=0xb36eb138 "Player '%s' isn't in the transition volume %s, aborting\n",
        ap=0xbf838a98 "\264\177\210\374\070\b\210\262p\215\203\277") at vfprintf.c:1614
    1614    vfprintf.c: No such file or directory.
            in vfprintf.c
    (gdb) bt
    #0  0xb7668873 in _IO_vfprintf_internal (s=0xbf83793c, format=0xb36eb138 "Player '%s' isn't in the transition volume %s, aborting\n",
        ap=0xbf838a98 "\264\177\210\374\070\b\210\262p\215\203\277") at vfprintf.c:1614
    #1  0xb7688eb0 in _IO_vsnprintf (string=0xbf837a74 "Player ' \277\002", maxlen=4096, format=0xb36eb138 "Player '%s' isn't in the transition volume %s, aborting\n",
        args=0xbf838a98 "\264\177\210\374\070\b\210\262p\215\203\277") at vsnprintf.c:120
    #2  0xb380f074 in safevoid_vsnprintf(char*, unsigned int, char const*, char*) () from ./svencoop/addons/metamod/dlls/metamod_i386.so
    #3  0xbf837a74 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    (gdb)

    stack overflow?

    ty,

     
  • edman747
    edman747
    2012-08-04

    ran gdb with a debug build of metamod-p33
    (gdb) bt
    #0  0xb7668873 in _IO_vfprintf_internal (s=0xbf83793c, format=0xb36eb138 "Player '%s' isn't in the transition volume %s, aborting\n",
        ap=0xbf838a98 "\264\177\210\374\070\b\210\262p\215\203\277") at vfprintf.c:1614
    #1  0xb7688eb0 in _IO_vsnprintf (string=0xbf837a74 "Player ' \277\002", maxlen=4096, format=0xb36eb138 "Player '%s' isn't in the transition volume %s, aborting\n",
        args=0xbf838a98 "\264\177\210\374\070\b\210\262p\215\203\277") at vsnprintf.c:120
    #2  0xb380f074 in MPluginList::ini_refresh (this=0xb3800690) at mlist.cpp:458
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)

    currently trying to compile an amxx debug build, not having much luck

     
1 2 > >> (Page 1 of 2)