.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Common Questions (http://forums.bots-united.com/forumdisplay.php?f=51)
-   -   Compile (http://forums.bots-united.com/showthread.php?t=9028)

DeitY 18-06-2012 20:55

Re: Compile
 
Quote:

Originally Posted by KWo (Post 64575)
Sources of podbot mm are correct - they do compile for me. Otherwise I couldn't release any binary and I would get a lot of complains they don't load. To load my previous binaries You need to have libstdc++.so.6 installed - as I stated it before. But that doesn't happen. I'm testing my binaries on windows real PC and on linux mandriva 2011 virual machine (VMware) and they are loading. I don't know what is the makefile You are using and what are settings for Your compiler - so You are getting so many errors.

can u send me your makefile?

KWo 18-06-2012 21:47

Re: Compile
 
http://filebase.bots-united.com/inde...ct=view&id=380

DeitY 18-06-2012 21:49

Re: Compile
 
Quote:

Originally Posted by KWo (Post 64577)


g++ -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti -DNDEBUG -Dstricmp=strcasecmp -Dstrcmpi=strcasecmp -Wall -Wno-unknown-pragmas -DOPT_TYPE=\"optimized\" -fPIC -I. -I../metamod/metamod -I../hlsdk/multiplayer/engine -I../hlsdk/multiplayer/common -I../hlsdk/multiplayer/pm_shared -I../hlsdk/multiplayer/dlls -I../hlsdk/multiplayer -DLINUX -o obj.linux/dll.o -c dll.cpp
dll.cpp:1: error: CPU you selected does not support x86-64 instruction set
make: *** [obj.linux/dll.o] Error 1

KWo 19-06-2012 07:39

Re: Compile
 
Try to use that second part - for AMD64. It is called "AMD64", but it was designed for 64 bit processors (that time the makefile was created there was no Intel 64 bit processors yet). But since long time nobody was using 64 bit binaries, so I don't know if they are compiling correctly. I have no possibility to check that. Wait for the help from The Storm. Another guy who can help is ghots of evilspy. PM him for the help - point him this topic.

DeitY 19-06-2012 10:57

Re: Compile
 
Quote:

Originally Posted by KWo (Post 64579)
Try to use that second part - for AMD64. It is called "AMD64", but it was designed for 64 bit processors (that time the makefile was created there was no Intel 64 bit processors yet). But since long time nobody was using 64 bit binaries, so I don't know if they are compiling correctly. I have no possibility to check that. Wait for the help from The Storm. Another guy who can help is ghots of evilspy. PM him for the help - point him this topic.

Okay.But i need compiled for podbot_mm_i368.so ,because my servers are on linux .

ghost of evilspy 19-06-2012 12:58

Re: Compile
 
Quote:

Originally Posted by DeitY (Post 64578)
g++ -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti -DNDEBUG -Dstricmp=strcasecmp -Dstrcmpi=strcasecmp -Wall -Wno-unknown-pragmas -DOPT_TYPE=\"optimized\" -fPIC -I. -I../metamod/metamod -I../hlsdk/multiplayer/engine -I../hlsdk/multiplayer/common -I../hlsdk/multiplayer/pm_shared -I../hlsdk/multiplayer/dlls -I../hlsdk/multiplayer -DLINUX -o obj.linux/dll.o -c dll.cpp
dll.cpp:1: error: CPU you selected does not support x86-64 instruction set
make: *** [obj.linux/dll.o] Error 1

This means that your have 64bit linux, and 64bit gcc. If you want to compile 32bit i386 binary on your system, you need to add "-m32" to CFLAGS (and CXXFLAGS) in Makefile.

So you get "g++ -m32 -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti ..." instead of current "g++ -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti ...".

(You probably would have found out this by googling the error message "CPU you selected does not support x86-64 instruction set". It's always good idea to google the error messages.)

KWo 19-06-2012 18:42

Re: Compile
 
Quote:

Originally Posted by DeitY (Post 64580)
Okay.But i need compiled for podbot_mm_i368.so ,because my servers are on linux .

I think You didn't get what I mean.
If I use the command:
make ARCH=AMD64
it compiles for the linux the file podbot_mm_amd64.so - which is used for 64 bits linux systems. It is called AMD64, because that time the makefile was created it was only AMD supporting 64 bit linux systems...

Anyway try to do what Jussi says.

DeitY 20-06-2012 14:39

Re: Compile
 
Quote:

Originally Posted by ghost of evilspy (Post 64581)
This means that your have 64bit linux, and 64bit gcc. If you want to compile 32bit i386 binary on your system, you need to add "-m32" to CFLAGS (and CXXFLAGS) in Makefile.

So you get "g++ -m32 -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti ..." instead of current "g++ -O2 -fomit-frame-pointer -march=i586 -mtune=i686 -fno-exceptions -fno-rtti ...".

(You probably would have found out this by googling the error message "CPU you selected does not support x86-64 instruction set". It's always good idea to google the error messages.)

I will try this,thanks

ghost of evilspy 20-06-2012 15:52

Re: Compile
 
Quote:

Originally Posted by KWo (Post 64584)
I think You didn't get what I mean.
If I use the command:
make ARCH=AMD64
it compiles for the linux the file podbot_mm_amd64.so - which is used for 64 bits linux systems. It is called AMD64, because that time the makefile was created it was only AMD supporting 64 bit linux systems...

Anyway try to do what Jussi says.

Valve dropped amd64 support long time ago.

DeitY 20-06-2012 18:25

Re: Compile
 
okay i edited as u said

dll.cpp:318: error: âSTRINGâ was not declared in this scope
dll.cpp: In function âvoid ClientPutInServer(edict_t*)â:
dll.cpp:441: warning: suggest explicit braces to avoid ambiguous âelseâ
dll.cpp: In function âvoid ClientCommand(edict_t*)â:
dll.cpp:584: warning: deprecated conversion from string constant to âchar*â
dll.cpp: In function âvoid ClientUserInfoChanged_Post(edict_t*, char*)â:
dll.cpp:1266: warning: deprecated conversion from string constant to âchar*â
dll.cpp: In function âvoid ServerActivate(edict_t*, int, int)â:
dll.cpp:1822: warning: deprecated conversion from string constant to âchar*â
dll.cpp: In function âvoid StartFrame()â:
dll.cpp:1909: warning: deprecated conversion from string constant to âchar*â
dll.cpp:1958: error: no matching function for call to
âedict_s::edict_s(edict_t*)â
../hlsdk-2.3-p3/multiplayer/engine/edict.h:20: note: candidates are:
edict_s::edict_s()
../hlsdk-2.3-p3/multiplayer/engine/edict.h:20: note:
edict_s::edict_s(const edict_s&)
dll.cpp:2352: warning: deprecated conversion from string constant to âchar*â

so its to source files,official doesnt work.


All times are GMT +2. The time now is 21:22.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.