Raised This Month: $51 Target: $400
 12% 

Compiling under cygwin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Yeah=}
Member
Join Date: Apr 2010
Location: Ural, Russia
Old 08-06-2011 , 12:34   Compiling under cygwin
Reply With Quote #1

Can anybody help me? When I try to compile stub_mm plugin under cygwin I have the errors during compilation.

Code:
Петр@▒▒▒▒-▒▒ ~
$ cd /cygdrive/c/sample_mm/mmsource1.8/stub_mm

Петр@▒▒▒▒-▒▒ /cygdrive/c/sample_mm/mmsource1.8/stub_mm
$ make ENGINE=orangeboxvalve
if [ "true" = "false" ]; then \
                echo "You must supply one of the following values for ENGINE:";
\
                echo "left4dead2, left4dead, orangeboxvalve, orangebox, or origi
nal"; \
                exit 1; \
        fi
mkdir -p Release.orangeboxvalve
ln -sf ../../hl2sdk-ob-valve/lib/linux/libvstdlib.so
ln -sf ../../hl2sdk-ob-valve/lib/linux/libtier0.so
make -f Makefile stub_mm
make[1]: Entering directory `/cygdrive/c/sample_mm/mmsource1.8/stub_mm'
if [ "true" = "false" ]; then \
                echo "You must supply one of the following values for ENGINE:";
\
                echo "left4dead2, left4dead, orangeboxvalve, orangebox, or origi
nal"; \
                exit 1; \
        fi
gcc -I../../hl2sdk-ob-valve/public/game/server -I. -I.. -I../../hl2sdk-ob-valve/
public -I../../hl2sdk-ob-valve/public/engine -I../../hl2sdk-ob-valve/public/math
lib -I../../hl2sdk-ob-valve/public/vstdlib -I../../hl2sdk-ob-valve/public/tier0
-I../../hl2sdk-ob-valve/public/tier1 -I. -I../../mmsource1.8/core -I../../mmsour
ce1.8/core/sourcehook -DSOURCE_ENGINE=4 -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DS
E_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6 -DSE_ALIE
NSWARM=7 -O3 -funroll-loops -s -pipe -D_LINUX -Dstricmp=strcasecmp -D_stricmp=st
rcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_
vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Wno-non-virtual
-dtor -Werror -fPIC -fno-exceptions -fno-rtti -msse -m32 -fno-strict-aliasing -o
 Release.orangeboxvalve/stub_mm.o -c stub_mm.cpp
stub_mm.cpp:1: warning: -fPIC ignored for target (all code is position independe
nt)
make[1]: *** [Release.orangeboxvalve/stub_mm.o] Error 1
make[1]: Leaving directory `/cygdrive/c/sample_mm/mmsource1.8/stub_mm'
make: *** [all] Error 2

Петр@▒▒▒▒-▒▒ /cygdrive/c/sample_mm/mmsource1.8/stub_mm
I have installed cygwin with this instruction http://wiki.alliedmods.net/Cross_Com...amod:Source%29 but I couldn't download "srcds_l_binaries.zip" cuz each link has been broken.


Files in sample_mm folder: hl2sdk-ob-valve, mmsource1.8

Path in my Makefile:
Code:
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
MMSOURCE18 = ../../mmsource1.8

Last edited by Yeah=}; 08-06-2011 at 13:31.
Yeah=} is offline
BAILOPAN
Join Date: Jan 2004
Old 08-07-2011 , 14:38   Re: Compiling under cygwin
Reply With Quote #2

It would be much easier to compile on a Linux machine - even better if you can just virtualize (VMWare or Parallels).
__________________
egg
BAILOPAN is offline
Yeah=}
Member
Join Date: Apr 2010
Location: Ural, Russia
Old 08-07-2011 , 16:44   Re: Compiling under cygwin
Reply With Quote #3

Thanks but I don't want to install second OS. Can you help me with this compiler?)

Last edited by Yeah=}; 08-07-2011 at 16:49.
Yeah=} is offline
DJ Tsunami
DJ Post Spammer
Join Date: Feb 2008
Location: The Netherlands
Old 08-14-2011 , 11:34   Re: Compiling under cygwin
Reply With Quote #4

Installing a second OS isn't a big deal (assuming you have enough space left on your hard drive) if you use VirtualBox and Ubuntu, which are both free.

But what does it say if you open up Cygwin and type: gcc -v
Mine says 4.1.2, and I believe I was able to compile with that, although it has been a while since I tried it. CrossTool is meant for GCC 3.4.1, so you might have to change CPP = gcc in the Makefile to CPP = gcc-3
__________________
Advertisements | REST in Pawn - HTTP client for JSON REST APIs
Please do not PM me with questions. Post in the plugin thread.
DJ Tsunami is offline
Yeah=}
Member
Join Date: Apr 2010
Location: Ural, Russia
Old 08-16-2011 , 05:39   Re: Compiling under cygwin
Reply With Quote #5

Thanks, I'll say gcc's version when i'll come home, because I dont have cygwin on my telephone )
Yeah=} is offline
Yeah=}
Member
Join Date: Apr 2010
Location: Ural, Russia
Old 08-28-2011 , 04:48   Re: Compiling under cygwin
Reply With Quote #6

Here is my Makefile:
Code:
# (C)2004-2010 Metamod:Source Development Team
# Makefile written by David "BAILOPAN" Anderson

###########################################
### EDIT THESE PATHS FOR YOUR OWN SETUP ###
###########################################

HL2SDK_ORIG = ../../hl2sdk
HL2SDK_OB = ../../hl2sdk-ob
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
HL2SDK_L4D = ../../hl2sdk-l4d
HL2SDK_L4D2 = ../../hl2sdk-l4d2
MMSOURCE18 = ..

#####################################
### EDIT BELOW FOR OTHER PROJECTS ###
#####################################

PROJECT = sample_mm
OBJECTS = sample_mm.cpp

##############################################
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
##############################################

OPT_FLAGS = -O3 -funroll-loops -s -pipe
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
DEBUG_FLAGS = -g -ggdb3 -D_DEBUG
CPP = gcc-3

##########################
### SDK CONFIGURATIONS ###
##########################

override ENGSET = false

# Check for valid list of engines
ifneq (,$(filter original orangebox orangeboxvalve left4dead left4dead2,$(ENGINE)))
	override ENGSET = true
endif

ifeq "$(ENGINE)" "original"
	HL2SDK = $(HL2SDK_ORIG)
	CFLAGS += -DSOURCE_ENGINE=1
endif
ifeq "$(ENGINE)" "orangebox"
	HL2SDK = $(HL2SDK_OB)
	CFLAGS += -DSOURCE_ENGINE=3
endif
ifeq "$(ENGINE)" "orangeboxvalve"
	HL2SDK = $(HL2SDK_OB_VALVE)
	CFLAGS += -DSOURCE_ENGINE=4
endif
ifeq "$(ENGINE)" "left4dead"
	HL2SDK = $(HL2SDK_L4D)
	CFLAGS += -DSOURCE_ENGINE=5
endif
ifeq "$(ENGINE)" "left4dead2"
	HL2SDK = $(HL2SDK_L4D2)
	CFLAGS += -DSOURCE_ENGINE=6
endif

HL2PUB = $(HL2SDK)/public

ifeq "$(ENGINE)" "original"
	INCLUDE += -I$(HL2SDK)/public/dlls
	METAMOD = $(MMSOURCE18)/core-legacy
else
	INCLUDE += -I$(HL2SDK)/public/game/server
	METAMOD = $(MMSOURCE18)/core
endif

OS := $(shell uname -s)

ifeq "$(OS)" "Darwin"
	LIB_EXT = dylib
	HL2LIB = $(HL2SDK)/lib/mac
else
	LIB_EXT = so
	ifeq "$(ENGINE)" "original"
		HL2LIB = $(HL2SDK)/linux_sdk
	else
		HL2LIB = $(HL2SDK)/lib/linux
	endif
endif

# if ENGINE is original or OB
ifneq (,$(filter original orangebox,$(ENGINE)))
	LIB_SUFFIX = _i486.$(LIB_EXT)
else
	LIB_PREFIX = lib
	LIB_SUFFIX = .$(LIB_EXT)
endif

CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 \
	-DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6 -DSE_ALIENSWARM=7

LINK += $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX) \
	-static-libgcc

INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
	-I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I. -I$(METAMOD) -I$(METAMOD)/sourcehook

################################################
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
################################################

BINARY = $(PROJECT).$(LIB_EXT)

ifeq "$(DEBUG)" "true"
	BIN_DIR = Debug.$(ENGINE)
	CFLAGS += $(DEBUG_FLAGS)
else
	BIN_DIR = Release.$(ENGINE)
	CFLAGS += $(OPT_FLAGS)
endif

GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)

ifeq "$(OS)" "Darwin"
	LIB_EXT = dylib
	CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk
	LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
else
	LIB_EXT = so
	CFLAGS += -D_LINUX
	LINK += -shared
endif

CFLAGS += -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
	-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
	-Dstrcmpi=strcasecmp -Wall -Wno-non-virtual-dtor -Werror -fPIC -fno-exceptions \
	-fno-rtti -msse -m32 -fno-strict-aliasing

ifeq "$(GCC_VERSION)" "4"
	CFLAGS += $(GCC4_FLAGS)
endif

OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)

$(BIN_DIR)/%.o: %.cpp
	$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<

all: check
	mkdir -p $(BIN_DIR)
	ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX)
	ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX)
	$(MAKE) -f Makefile sample_mm
	
check:
	if [ "$(ENGSET)" = "false" ]; then \
		echo "You must supply one of the following values for ENGINE:"; \
		echo "left4dead2, left4dead, orangeboxvalve, orangebox, or original"; \
		exit 1; \
	fi

sample_mm: check $(OBJ_BIN)
	$(CPP) $(INCLUDE) -m32 $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)

default: all

clean: check
	rm -rf $(BIN_DIR)/*.o
	rm -rf $(BIN_DIR)/$(BINARY)
and gcc version:
Code:
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Yeah=} is offline
psychonic

BAFFLED
Join Date: May 2008
Old 08-28-2011 , 11:38   Re: Compiling under cygwin
Reply With Quote #7

Quote:
Originally Posted by Yeah=} View Post
Here is my Makefile:
Code:
# (C)2004-2010 Metamod:Source Development Team
# Makefile written by David "BAILOPAN" Anderson

###########################################
### EDIT THESE PATHS FOR YOUR OWN SETUP ###
###########################################

HL2SDK_ORIG = ../../hl2sdk
HL2SDK_OB = ../../hl2sdk-ob
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
HL2SDK_L4D = ../../hl2sdk-l4d
HL2SDK_L4D2 = ../../hl2sdk-l4d2
MMSOURCE18 = ..

#####################################
### EDIT BELOW FOR OTHER PROJECTS ###
#####################################

PROJECT = sample_mm
OBJECTS = sample_mm.cpp

##############################################
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
##############################################

OPT_FLAGS = -O3 -funroll-loops -s -pipe
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
DEBUG_FLAGS = -g -ggdb3 -D_DEBUG
CPP = gcc-3

##########################
### SDK CONFIGURATIONS ###
##########################

override ENGSET = false

# Check for valid list of engines
ifneq (,$(filter original orangebox orangeboxvalve left4dead left4dead2,$(ENGINE)))
	override ENGSET = true
endif

ifeq "$(ENGINE)" "original"
	HL2SDK = $(HL2SDK_ORIG)
	CFLAGS += -DSOURCE_ENGINE=1
endif
ifeq "$(ENGINE)" "orangebox"
	HL2SDK = $(HL2SDK_OB)
	CFLAGS += -DSOURCE_ENGINE=3
endif
ifeq "$(ENGINE)" "orangeboxvalve"
	HL2SDK = $(HL2SDK_OB_VALVE)
	CFLAGS += -DSOURCE_ENGINE=4
endif
ifeq "$(ENGINE)" "left4dead"
	HL2SDK = $(HL2SDK_L4D)
	CFLAGS += -DSOURCE_ENGINE=5
endif
ifeq "$(ENGINE)" "left4dead2"
	HL2SDK = $(HL2SDK_L4D2)
	CFLAGS += -DSOURCE_ENGINE=6
endif

HL2PUB = $(HL2SDK)/public

ifeq "$(ENGINE)" "original"
	INCLUDE += -I$(HL2SDK)/public/dlls
	METAMOD = $(MMSOURCE18)/core-legacy
else
	INCLUDE += -I$(HL2SDK)/public/game/server
	METAMOD = $(MMSOURCE18)/core
endif

OS := $(shell uname -s)

ifeq "$(OS)" "Darwin"
	LIB_EXT = dylib
	HL2LIB = $(HL2SDK)/lib/mac
else
	LIB_EXT = so
	ifeq "$(ENGINE)" "original"
		HL2LIB = $(HL2SDK)/linux_sdk
	else
		HL2LIB = $(HL2SDK)/lib/linux
	endif
endif

# if ENGINE is original or OB
ifneq (,$(filter original orangebox,$(ENGINE)))
	LIB_SUFFIX = _i486.$(LIB_EXT)
else
	LIB_PREFIX = lib
	LIB_SUFFIX = .$(LIB_EXT)
endif

CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 \
	-DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6 -DSE_ALIENSWARM=7

LINK += $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX) \
	-static-libgcc

INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
	-I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I. -I$(METAMOD) -I$(METAMOD)/sourcehook

################################################
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
################################################

BINARY = $(PROJECT).$(LIB_EXT)

ifeq "$(DEBUG)" "true"
	BIN_DIR = Debug.$(ENGINE)
	CFLAGS += $(DEBUG_FLAGS)
else
	BIN_DIR = Release.$(ENGINE)
	CFLAGS += $(OPT_FLAGS)
endif

GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)

ifeq "$(OS)" "Darwin"
	LIB_EXT = dylib
	CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk
	LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
else
	LIB_EXT = so
	CFLAGS += -D_LINUX
	LINK += -shared
endif

CFLAGS += -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
	-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
	-Dstrcmpi=strcasecmp -Wall -Wno-non-virtual-dtor -Werror -fPIC -fno-exceptions \
	-fno-rtti -msse -m32 -fno-strict-aliasing

ifeq "$(GCC_VERSION)" "4"
	CFLAGS += $(GCC4_FLAGS)
endif

OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)

$(BIN_DIR)/%.o: %.cpp
	$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<

all: check
	mkdir -p $(BIN_DIR)
	ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX)
	ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX)
	$(MAKE) -f Makefile sample_mm
	
check:
	if [ "$(ENGSET)" = "false" ]; then \
		echo "You must supply one of the following values for ENGINE:"; \
		echo "left4dead2, left4dead, orangeboxvalve, orangebox, or original"; \
		exit 1; \
	fi

sample_mm: check $(OBJ_BIN)
	$(CPP) $(INCLUDE) -m32 $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)

default: all

clean: check
	rm -rf $(BIN_DIR)/*.o
	rm -rf $(BIN_DIR)/$(BINARY)
and gcc version:
Code:
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
That's not the version from the crosstool package.

Try specifying the absolute path to it or symlinking it somewhere more friendly. By default, it ends up at /opt/crosstool/gcc-3.4.1-glibc-2.3.2/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-gcc

Version should read:
Code:
Reading specs from /opt/crosstool/gcc-3.4.1-glibc-2.3.2/i686-unknown-linux-gnu/lib/gcc/i686-unknown-linux-gnu/3.4.1/specs
Configured with: /opt/crosstool-0.37/build/i686-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=i686-unknown-linux-gnu --host=i686-host_pc-cygwin --prefix=/opt/crosstool/gcc-3.4.1-glibc-2.3.2/i686-unknown-linux-gnu --with-headers=/opt/crosstool/gcc-3.4.1-glibc-2.3.2/i686-unknown-linux-gnu/i686-unknown-linux-gnu/include --with-local-prefix=/opt/crosstool/gcc-3.4.1-glibc-2.3.2/i686-unknown-linux-gnu/i686-unknown-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
psychonic is offline
Reply



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:05.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode