David, I was putting together a tarball to take you up on your kind offer and in the process I looked more closely at the MDF file. Sure 'nuff the LOADABLE specification was not right along with a couple of other details. So I'm back up and running again. But not without stepping in another gopher hole. Beware using old versions of ImageMagick; very odd things can happen, like the compute module stops working. I modified version 5.3.9 of ImageMagick back when it was current. It installed, seemingly correctly, on RH 8.0; but removing it from the DX build made the compute module funnies go away. I'm guessing that this is more updated libtool unpleasantness. Eventually, I'll modify the current IM and try again but at least I'm on my feet and stable again.
Thanks for your time and assistance. -Ned David Thompson wrote: > > Can you tar up your module and send it to me and I will see if I can > determine what you may be having problems with? > > David > > >David, > > > >Thanks for the info on linux shared libraries. I > >compiled and linked using the Makefile below. > >Unfortunately, on execution the results are the same as > >with inlining; same "ignoring redefinition" messages > >and same "function does not exist" message. > > > >-Ned > > > ># Makefile to generate a new dxexec executable with > ># the OTI spin routines as loadable modules. > > > >OBJ = ColorList.o \ > > CylArea.o \ > > EditCamera.o \ > > FixContourOrientation.o \ > > Insideout.o \ > > ProcessBnd.o \ > > RemovePlane.o \ > > ShiftCamera.o \ > > SortLoops.o \ > > SpinLines.o \ > > SweepCylinder.o \ > > user_loadable.o > > > >BASE = /usr/local/dx > >ARCH = linux > >CFLAGS= -I$(BASE)/include > >LDFLAGS = -Wall -I/usr/X11R6/include -D_GNU_SOURCE --shared -eDXEntry > > > >LIBS_1 = -L$(BASE)/lib_$(ARCH) -L/usr/lib -L/usr/X11R6/lib > >-L/usr/local/lib -lDX > >LIBS_2 = /home/ned/a.cvs/dx/src/exec/hwrender/opengl/.libs/libOPENGL.a > >LIBS_3 = -lnsl -lXpm -ldl -lXm -lXp -lGLU -lGL > >LIBS_4 = -lMagick -ltiff -lfreetype -ljpeg -lpng -ldpstk -ldps -lXext > >LIBS_5 = -lXt -lSM -lICE -lX11 -lz -lpthread -lm > >LIBS = $(LIBS_1) $(LIBS_2) $(LIBS_3) $(LIBS_4) $(LIBS_5) > > > >CC = gcc > > > >dxexec: $(OBJ) > > $(CC) $(LDFLAGS) $(OBJ) $(OBJ2) $(LIBS) -o dxexec > > > >user_loadable.c: OTI_loadable.mdf > > $(BASE)/bin/mdf2c -m OTI_loadable.mdf > user_loadable.c > > > >clean: > > -rm -f core $(OBJ) user_loadable.c > >=============================================================== > > > >David Thompson wrote: > >> > >> For Linux its actually quite easy. Using a similar setup, shown below: > >> > >> BASE = /usr/local/dx > >> LDFLAGS = --shared -eDXEntry > >> CFLAGS = -I$(BASE)/include > >> LIBS = "$LIBS -L$(BASE)/lib_$ARCH" > >> CC = cc > >> > >> OTI_loadable: $(OBJ) > >> $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o OTI_loadable > >> > >> Of course you may need to add more libraries. > >> > >> David > >> > >> >On the broader question; no, I'm not wedded to the use > >> >of inboard modules. I used loadables on the DEC ALPHA > >> >under OSF1 but the last time I visited this question > >> >for linux, sharable modules were not an option. Below > >> >are the linker options that I used for the ALPHA, can > >> >you tell me what the syntax is for linux? > >> > > >> >BASE = /usr/lpp/dx > >> >LDFLAGS = -shared -all -e DXEntry -expect_unresolved main > >> >-expect_unresolved DX* > >> >CFLAGS= -O -Dalphax -I$(BASE)/include > >> >LIBS = -lDX -ly -ll -lm -lX11 > >> >SYSLIBS = -lm -lc > >> >CC = cc > >> > > >> >OTI_loadable: $(OBJ) > >> > $(CC) $(LDFLAGS) $(OBJ) $(SYSLIBS) -o OTI_loadable > >> > > >> >Best, > >> >Ned > >> > > >> > >> -- > >> > >>............................................................................. > >> David L. Thompson Visualization and Imagery > >>Solutions, Inc. > >> mailto:[EMAIL PROTECTED] 5515 Skyway Drive, Missoula, MT 59804 > >> Phone : (406)756-7472 > > -- > ............................................................................. > David L. Thompson Visualization and Imagery Solutions, Inc. > mailto:[EMAIL PROTECTED] 5515 Skyway Drive, Missoula, MT 59804 > Phone : (406)756-7472
