anybody got a working makefile on SGI or Linux that I can look at?
my problem is that everytime I recompile gem and run it I get different
errors.
am I missing a something in the link stage?
dhomont 36% !!
./pd -lib /usr/LocalApps/pd/gem_new/src/Gem
pd: /usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: 24432:./pd: rld: Fatal
Error: unresolvable symbol in
/usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: class_addbang
pd: /usr/LocalApps/pd/gem_new/src/Gem: can't load library
dhomont 37% !!
./pd -lib /usr/LocalApps/pd/gem_new/src/Gem
pd: /usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: 24481:./pd: rld: Fatal
Error: unresolvable symbol in
/usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: class_new
pd: /usr/LocalApps/pd/gem_new/src/Gem: can't load library
pd: exiting
dhomont 38% !!
./pd -lib /usr/LocalApps/pd/gem_new/src/Gem
pd: /usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: 24417:./pd: rld: Fatal
Error: unresolvable symbol in
/usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: class_addbang
pd: /usr/LocalApps/pd/gem_new/src/Gem: can't load library
pd: exiting
dhomont 39% !!
./pd -lib /usr/LocalApps/pd/gem_new/src/Gem
pd: /usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: 24276:./pd: rld: Fatal
Error: unresolvable symbol in
/usr/LocalApps/pd/gem_new/src/Gem.pd_irix6: clock_new
pd: /usr/LocalApps/pd/gem_new/src/Gem: can't load library
pd: exiting
here is my makefile on SGI with egcs (g++):
##################################################
#
# Makefile for GEM
# Graphics Environment for Multimedia
#
# mark(a)danks.org
#
# Copyright (c) 1997-1999 Mark Danks.
# For information on usage and redistribution, and for a DISCLAIMER OF
ALL
# WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
#
#
##################################################
SHELL = /usr/bin/sh
# search path
#############
OBJ_DIR = Objects
VPATH = ${OBJ_DIR}
# the objects
#############
BASE_CORE = CPPExtern.o GemMan.o GemBase.o GemLoadObj.o GemEvent.o
BASE_EXT = TextBase.o GemPathBase.o GemShape.o GemGluObj.o GemPixObj.o
GemPixDualObj.o sgiimage.o
BASE_OBJ = ${BASE_CORE} ${BASE_EXT}
UTILS_BASE = Matrix.o GemSetup.o GemState.o GemCache.o GemDag.o
UTILS_PIX = GemFuncUtil.o GemPixUtil.o GemPixImageLoad.o GemModelData.o
UTILS_OS = GemWinCreateXWin.o
UTILS = ${UTILS_BASE} ${UTILS_PIX} ${UTILS_OS}
CONTROLS_A = gemwin.o gemhead.o camera.o
CONTROLS_B = gemmouse.o gemtablet.o gemorb.o render_trigger.o
CONTROLS = ${CONTROLS_A} ${CONTROLS_B}
MANIPS_A = translateXYZ.o scaleXYZ.o rotateXYZ.o colorRGB.o
MANIPS_B = rotate.o translate.o scale.o color.o depth.o alpha.o
separator.o
MANIPS_C = linear_path.o spline_path.o accumrotate.o ortho.o
MANIPULATORS = ${MANIPS_A} ${MANIPS_B} ${MANIPS_C}
2DGEOS = square.o triangle.o circle.o text2d.o
3DGEOS = cube.o cone.o sphere.o imageVert.o text3d.o textoutline.o
SPEC_GEOS = polygon.o model.o multimodel.o curve.o colorSquare.o
GEOS = ${2DGEOS} ${3DGEOS} ${SPEC_GEOS}
MARKEX_A = MarkExSetup.o randomF.o abs.o multiselect.o counter.o
hsvrgb.o
MARKEX_B = reson.o tripleLine.o average.o vector.o m_control.o strcat.o
MARKEX = ${MARKEX_A} ${MARKEX_B}
#NONGEOS = fillback.o world_light.o light.o particle.o
NONGEOS = world_light.o light.o
PART_A = part_color.o part_draw.o part_follow.o part_gravity.o
PART_B = part_head.o part_killold.o part_killslow.o part_orbitpoint.o
PART_C = part_size.o part_source.o part_velcone.o part_velsphere.o
PARTICLE = ${PART_A} ${PART_B} ${PART_C}
PIX_GEOS = pix_image.o pix_multiimage.o pix_imageInPlace.o pix_texture.o
PIX_CONTROLS = pix_resize.o pix_draw.o pix_snap.o pix_buf.o pix_zoom.o
PIX_MANA = pix_threshold.o pix_gain.o pix_color.o pix_multiply.o
PIX_MANB = pix_bitmask.o pix_add.o pix_subtract.o pix_flip.o
PIX_MANC = pix_colormatrix.o pix_alpha.o pix_convolve.o pix_composite.o
PIX_MAND = pix_coloralpha.o pix_mask.o pix_clearblock.o
PIX_MANE = pix_coordinate.o pix_2grey.o pix_invert.o pix_data.o
PIX_MANIPS = ${PIX_MANA} ${PIX_MANB} ${PIX_MANC} ${PIX_MAND} ${PIX_MANE}
PIXES = ${PIX_GEOS} ${PIX_CONTROLS} ${PIX_MANIPS}
SGI_SPECIFIC = pix_videoSGI.o pix_indycam.o
OBJ = ${BASE_OBJ} ${UTILS} ${CONTROLS} ${MANIPULATORS} \
${GEOS} ${NONGEOS} ${PIXES} ${MARKEX} ${PARTICLE}
SGI_OBJ = ${OBJ} ${SGI_SPECIFIC}
LINUX_OBJ = ${OBJ}
# the target
############
# SGI
TARGET = ../Gem.pd_irix6
# Linux
# TARGET = ../../Gem.pd_linux
# compile flags
###############
# compilation targets
REL_CC_FLAGS = -DNDEBUG -UDEBUG -O2
DBG_CC_FLAGS = -DDEBUG -g
# AuxLib includes
AUXDIR = ../AuxLibs
AUXINC_IMG = -I${AUXDIR}/Jpeg -I${AUXDIR}/tiff/libtiff
-I${AUXDIR}/liborb
AUXINC_POLY = -I${AUXDIR}/gltt -I${AUXDIR}/td -I${AUXDIR}/particle
AUXINC = ${AUXINC_IMG} ${AUXINC_POLY}
INC_FLAGS = -I. -I.. -I../../../src ${AUXINC}
COMP_FLAGS =
# SGI
#WARN_FLAGS = -woff 3157,3173
# Linux
WARN_FLAGS = -Wall
ALL_CC_FLAGS = ${COMP_FLAGS} ${WARN_FLAGS} ${INC_FLAGS}
#linker flags
#############
# AuxLib libraries
AUXLIB_IMG = -L/usr/freeware/lib32 -ljpeg -L${AUXDIR}/tiff -ltiff
AUXLIB_POLYA = -L/usr/local/lib -lgltt -L/usr/freeware/lib32 -lttf
AUXLIB_POLYB = -L${AUXDIR}/td -ltd -L${AUXDIR}/particle -lparticle
AUXLIB_POLYC = -L${AUXDIR}/liborb -lorb
AUXLIB_POLY = ${AUXLIB_POLYA} ${AUXLIB_POLYB} ${AUXLIB_POLYC}
AUXLIB = ${AUXLIB_IMG} ${AUXLIB_POLY}
# SGI
LIB = -lX11 -lGLU -lGL -lvl -lm ${AUXLIB}
LD_FLAGS = -elf -shared
# Linux
#LIB = -lMesaGLU -lMesaGL -lm ${AUXLIB} -lX11 -lXext -ldl
#LD_FLAGS = -shared -L/usr/X11R6/lib
all: debug
# debug version
#--------------
debug:
@echo "\n==========Compiling Debug=========="
${MAKE} Application_objects "CC_FLAGS = ${ALL_CC_FLAGS}
${DBG_CC_FLAGS}"
@echo "\n==========Linking Target=========="
@${MAKE} ${TARGET}
# release version
#----------------
release:
@echo "\n==========Compiling Release=========="
${MAKE} Application_objects "CC_FLAGS = ${ALL_CC_FLAGS}
${REL_CC_FLAGS}"
@echo "\n==========Linking Target=========="
@${MAKE} ${TARGET}
@echo "\n==========Striping Target=========="
cd ${OBJ_DIR}; strip -f ${TARGET}
# program target
################
# SGI
${TARGET}: ${SGI_OBJ}
cd ${OBJ_DIR}; c++ ${LD_FLAGS} -o $@ ${SGI_OBJ} ${LIB}
# Linux
#${TARGET}: ${LINUX_OBJ}
# cd ${OBJ_DIR}; ld ${LD_FLAGS} -o ${TARGET} ${LINUX_OBJ} ${LIB}
TARG_DIR = Base Geos Nongeos Controls Manips Pixes MarkEx Particles
# make target
#############
# SGI
MAKE_TARG = sgi
# Linux
#MAKE_TARG = all
Application_objects:
@for d in ${TARG_DIR}; do \
echo "\n----------$$d----------"; \
cd $$d ; ${MAKE} ${MAKE_TARG}; cd ..; \
done
# helper targets
################
AUX_FILES = gem/GEM.*
DOC_FILES = gem/help gem/examples gem/doc
SRC_FILES = gem/src
BCK_FILES = ${AUX_FILES} ${DOC_FILES} ${SRC_FILES}
backup:
cd ../..; tar cvf GEMbackupC++.tar ${BCK_FILES}; \
compress GEMbackupC++.tar; \
mv GEMbackupC++.tar.Z ~/Backup/
clean:
rm ${OBJ_DIR}/*.o
clobber: clean
rm ${TARGET}
rm Makefile.depend
#--------------------------
# Makedepend targets
#--------------------------
#
# header file dependencies
#---------
depend:
@for d in ${TARG_DIR}; do \
echo "==== $$d ===="; \
cd $$d ; ${MAKE} dependencies 1>/dev/null 2>&1; cd ..; \
done
# need a dummy file for Make.depend
#---------
firstTime:
@for d in ${TARG_DIR}; do \
cd $$d ; touch Make.depend; cd ..; \
done
I thought that maybe my machine is not configured correctly except I can
compile everything(pd, Gnome, KDE, other main stream Linux apps) but Gem
on it.
thanks
m
--
----------------------------------
Michael A. Thompson
[IRIX - NeXTStep - Linux - MacOS - Windows]
Home: (940)382-2086
E-Mail: mat0001(a)jove.acs.unt.edu
----------------------------------