From: Smith, M. T <MSmith@SIKORSKY.COM> - 2003-04-04 18:53:44
|
Hello, I am new at OS X development, coming from a strictly UNIX background. I have a simple program written in Tcl/Tk with a C++ backend which I use on my IRIX machine. Taking the program to Mac OS X has been mostly simple, but, I can't seem to get AquaTcl8.4.2 to load the .so file. when i try: <wish prompt> load ./logbook.so logbook I get a message about logbook.so is not a Mach-o library. The makefile is below. The weird thing is a friend's G4 with wish8.3 it worked fine. I am using 10.2.4, G4 1.25 dual Firewire800 with the 10.2.3 developer tools disk. Thanks Todd Smith CPP = CC -g -fno-common LD = CC -bundle -undefined suppress -flat_namespace ...SUFFIXES: ...SUFFIXES: .o .cpp ...cpp.o: ${CPP} ${IFLAGS} -c $< -o $*.o OBJS1 = aircraft.o airplane.o glider.o \ flight.o flight_g.o flight_a.o \ logbook.o default: logbook.so logbook.so: ${OBJS1} logbook_tcl.o ${LD} -o logbook.so logbook_tcl.o ${OBJS1} -lstdc++ -lm |
From: Jim I. <ji...@ap...> - 2003-04-04 19:41:02
|
Between 8.3 & 8.4 we changed Tcl so that it loaded dylibs, not bundles. The reason for this is that traditionally on Unix Tcl extensions were built so you could either load them by hand or build a custom shell that linked to the extension and called the init function directly. You can't do the latter with bundles. So just change -bundle to -dynamiclib and you should be okay. Note, on most Unix'es, Tcl generates a file called tclConfig.sh that contains instructions on how to link with the installed Tcl. On MacOS X, this lives in the Tcl.framework at the top level, so if you used Daniel's installer it is /Library/Frameworks/Tcl.framework/tclConfig.sh. Have a look at this, it will tell you the CFLAGS that you should use, how to build the .so (except call it .dylib on X and things will be easier) etc... Jim On Friday, April 4, 2003, at 10:53 AM, Smith, Matthew T wrote: > Hello, > > I am new at OS X development, coming from a strictly UNIX > background. > > I have a simple program written in Tcl/Tk with a C++ backend > which I use on my IRIX machine. > > Taking the program to Mac OS X has been mostly simple, > but, I can't seem to get AquaTcl8.4.2 to load the .so file. > > when i try: > > <wish prompt> load ./logbook.so logbook > > I get a message about logbook.so is not a Mach-o library. > > The makefile is below. The weird thing is a friend's G4 with wish8.3 > it worked fine. > > I am using 10.2.4, G4 1.25 dual Firewire800 > with the 10.2.3 developer tools disk. > > Thanks > Todd Smith > > CPP = CC -g -fno-common > LD = CC -bundle -undefined suppress -flat_namespace > > ...SUFFIXES: > ...SUFFIXES: .o .cpp > > ...cpp.o: > ${CPP} ${IFLAGS} -c $< -o $*.o > > OBJS1 = aircraft.o airplane.o glider.o \ > flight.o flight_g.o flight_a.o \ > logbook.o > > default: logbook.so > > logbook.so: ${OBJS1} logbook_tcl.o > ${LD} -o logbook.so logbook_tcl.o ${OBJS1} -lstdc++ -lm > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: ValueWeb: > Dedicated Hosting for just $79/mo with 500 GB of bandwidth! > No other company gives more support or power for your dedicated server > http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > -- Jim Ingham ji...@ap... Developer Tools Apple Computer |