Ptolemy 0.7.2devel Release Notes
Release notes
Changes between 0.7.1p1 and 0.7.2devel
The 0.7.2devel release includes changes for the Adaptive Computing System domain developed by Eric Pauer's group at Sanders, A Lockheed-Martin Corporatio.This release also provides support for Itcl3.0.1/Tcl8.0.4/Tk8.0.4. Ptolemy 0.7.1p1 used Itcl2.2/Tcl7.6/Tk4.2.
Most of the Itcl 3.0 changes are in Tycho.
In addition, Ptolemy 0.7.2devel provides better support for the NT platform.
0.7.1 and 0.7.2devel Compatibility
gcc-2.8 and gcc-2.95.1
Ptolemy 0.7.2devel should compile with gcc-2.7.2.2, but the default compiler we build the binaries with is gcc-2.95.1 Note that under gcc-2.8.2,
compiling with -O -fPIC causes an internal compiler error when
compiling Block.cc
, so we are shipping with gcc-2.95.1
For more information about egcs, see
http:/egcs.cygnus.com
.
The most common problem with using egcs is that
libg++
is no longer used, so certain include files, such
as std.h
are not found at compile time
and certain symbols, such as
ACG::ACG(unsigned int, int)
are missing at link time.
Usually, doing a make clean; make install
will solve the problem.
The way we work around this is by defining -DPT_EGCS
in config-egcs.mk
and then including that makefile
in the config-$PTARCH.mk
file instead of
config-g++.mk
.
Note that egcs does not need libg++
, so the
SYSLIBS
makefile variable is set to not include
-lg++
Ptcl with Tk
Olaf Lenzmann provided patches to Ptolemy that allow ptcl to be used with Tk. This functionality is experimental, and primarily for use with the Microsoft Visual C++ port.- Recompile
src/kernel/Star.cc
so that the Tk event loop is called from within Star::run()cd $PTOLEMY/obj.$PTARCH/kernel rm -f Star.o make USERFLAGS="-DPT_PTCL_WITH_TK -I$PTOLEMY/tcltk/tcl/include -I/usr/openwin/include" install
- Create the following
override.mk
file as$PTOLEMY/obj.$PTARCH/ptcl/override.mk
# Override.mk file to create a Ptcl with Tk binary. # You may need to modify the /usr/openwin/include path # to point to your X11 include files GPP_FLAGS += -DPT_PTCL_WITH_TK -I../../src/ptklib -I$PTOLEMY/tcltk/tcl/include -I/usr/openwin/include" PTCL_WITH_TK = 1 TK = 1 # If you are building under Unix, # copy src/tcltk/tk8.0.5pt/generic/tkConsole.c to src/ptcl and then # uncomment the next two lines: #LIBS += tkConsole.o #LIBFILES += tkConsole.o
- Rebuild ptcl
cd $PTOLEMY/obj.$PTARCH/ptcl make clean make
Pxgraph
Pxgraph has been converted to Java. See the troubleshooting guide at.$PTOLEMY/tycho/java/ptolemy/plot/doc/internals/troubleshooting.html
If you don't have Java, see
ftp://ptolemy.eecs.berkeley.edu/pub/misc/xgraph/index.html
for pxgraph X11 binaries and sources. See
$PTOLEMY/src/pxgraph/README.txt
for details.
To run the Java version of pxgraph, you must do one of the following:
- Set the
JAVAHOME
environment variable to point to the directory where the Java Development Kit is installed. For example, your.cshrc
might containsetenv JAVAHOME /opt/jdk1.1.7B
- If you do not set
JAVAHOME
, then the pxgraph script will search your path for thejavac
binary. Ifjavac
is found, then the directory above it is used for the value ofJAVAHOME
- You can also edit
$PTOLEMY/bin/pxgraph
directly and adjust theJAVADEFAULT
variable.
Detailed list of changes
Below we discuss the various changes that were made between 0.7.1p1 and 0.7.2devel before 2/6/99. For changes after 2/6/99, see $PTOLEMY/ChangeLog.Changes present in the 0.7.2devel src tar file made before 2/6/99
* .cshrc * ptolemy.faq: Updated for this patch * makefile: Added ntbuild rule that builds everything but xv and the GNU tools * bin/checkextra: Fix for long files. * bin/fixntpaths: Script to fix % chars and other problems in pathnames so that Ptolemy works under NT. * bin/g++-setup egcs version change and Itcl3.0 upgrade. * bin/mkarch Removed this /bin/csh script which was only called from MAKEARCH * bin/ptarch Return sol7 if we are on a Solaris 7 machine (untested) * bin/ptfixtree.tcl Added catch around calls to octls. Added pftPreLoadMap proc that preloads the conversion map * bin/mkPtolemyTree: Fixed itclsh path (Brian Evans) * bin/installColors bin/optfir bin/masters bin/pattache bin/ptgdb bin/ptcl bin/xwdtogif bin/wfir bin/ptfixtree bin/esterel2pl nt4: Converted from /bin/csh to /bin/sh scripts * mk/compile.mk: Updated optimization error message Added .obj .dll .lib to files removed by make clean * mk/config-alpha.mk: Don't include Matlab and Mathematica * mk/config-default.mk: Itcl3.0 upgrade Added OBJSUFFIX variable for use with nt4.vc * mk/config-g++.shared.mk: * mk/config-hppa.cfront.mk: * mk/config-irix5.cfront.mk: * mk/config-irix6.cfront.mk: * mk/config-sol2.cfront.mk: * mk/config-sun4.mk: Itcl3.0 upgrade * mk/config-linux.debug.mk: Now debug version will be built with DLLs otherwise statically linked debug binaries produced with egcs will occupy 1.2GB (!) disk space. This is ten (!) times more than with good old gcc-2.7.2.3. I regard this as an egcs bug. (Wolfgang Reimer) * mk/config-linux.mk: Lots of changes (Wolfgang Reimer) * mk/config-sol7.mk: Untested initial cut at Support for Solaris 7. * mk/config-nt4.mk: Support for Itcl3.0 and Cygwin b20 (Christopher Hylands) * mk/config-nt4.vc.mk.vc: * mk/matlab.mk.vc * mk/common.mk.vc * mk/compile.mk.vc * mk/config-default.mk.vc * mk/stars.mk.vc Support for Itcl3.0 and MSVC++ 6.0 Currently, only ptcl.ptiny compiles. (Christopher Hylands) * mk/ptbin.mk: * mk/ptbin.mk.vc: Set version number to 0.7.2devel * mk/stars.mk: Added SiP (SPIN in Ptolemy), which is a protocol simulator by Shang-Pin Chang Fixes for ptclInvokeInterp * mk/tycho.mk: Itcl3.0 changes * mk/tycho.mk: Various minor Java changes * mk/tydir.mk: Added rules to run Java code coverage tools * mk/scratch-srcs.mk: xv_install: HPUX strip will fail if we have already stripped * src/domains/bdf/stars/BNFNot.pl: nt4.vc: Modified << statement to avoid ambigous << operator complaints (Olaf Lenzmann) * src/domains/cgc/tcltk/lib/ptolemy-cgc.tcl: * src/domains/sdf/targets/CompileTarget.cc Updated for Tcl8.0/Tk8.0/Itcl3.0 * src/domains/cgc/tcltk/lib/CGCTychoTarget.cc: Itcl3.0: frameCode should call initProcedure such that the new tcl proc we are registering ends up in the ::tycho namespace * demo/whats_new/whats_new0.7.1/newwork.html: minor C50 text change * lib/Vem * lib/Vem-8.1 * lib/Vem-8.2 These files are not shipped with 0.7.2devel because the lib/Vem file was interfering with the lib/vem directory when extracting under NT. * lib/makefile: Split SCRIPT_SRCS off EXTRA_SRCS If tech and technology do not exist, then create them by linking * lib/oct2ps.pro: Added 0 setgray in two places * lib/tcl/pigilib.tcl: Itcl3.0 * lib/tcl/ptk.rc: New file for Ptcl with Tk. (Olaf Lenzmann) * lib/tcl/ptkParams.tcl: (FIXME: check the log) Fixed copyright * src/compat/ptolemy/compat.h sol7: don't declare bind * src/compat/cfront/ACG.h: Added #defined(linux) * src/compat/cfront/Random.h: Added #defined(linux) nt4.vc: Include stdlib.h appropriately nt4.vc: The problem was that the great MSVC's rand() function seems to produce 16bit random numbers: this in turn produces an endless loop in Normal.h:line 62. (Olaf Lenzmann) * src/compat/nt.vc/sys/time.h: nt4.vc: Problems compiling DERealTimeStar.cc The fix is to redefine far as ptfar here. * src/domains/c50/dsp/stars/C50LMS.pl: Added int i inside for loop * src/domains/c50/dsp/stars/C50IIR.pl: Declare int i outside for loop * src/domains/c50/stars/C50ACos.pl: src/domains/c50/stars/C50ASin.pl: Generalized the star so that it can work with either the C50 DSK or the C50 EVM (Brian Evans) * src/domains/c50/stars/C50ReadFile.pl Removed the A_NOINIT attribute for the inVal state (Brian Evans) * src/domains/c50/stars/C50WrtFile.pl Removed the A_NOINIT attribute for the outVal state (Brian Evans) src/domains/c50/dsp/stars/C50RaisedCosine.pl Minor change: cast excessBW to double (Brian Evans) * src/domains/fsm/kernel/FSMTarget.cc: hppa.cfront: Moved 'int i' to top of initCode. Error was: line 82: error: two declarations of i (1031) * src/domains/ddf/kernel/DDFWormhole.h: * src/domains/ddf/kernel/DDFWormhole.cc: New files (Bilung Lee) * src/domains/ddf/kernel/DDFDomain.cc: include DDFWormhole.h, refer to DDFWormhole everywhere * src/domains/ddf/kernel/make.template: Added DDFWormhole.cc * src/domains/de/contrib/stars/make.template: Workaround EGCS optimizer error * src/domains/de/contrib/stars/DECIR_uldl.pl hppa.cfront: Include iostream.h before iomanip.h * src/domains/sdf/matrix/stars/SDFUnPkInt_M.pl addStopSymbol and stopSymbol params added * src/domains/sdf/contrib/stars/SDFPipeOpen.pl: nt4.vc: call _popen() and _pclose() (Olaf Lenzmann) * src/domains/sdf/kernel/SDFCluster.cc: nt4.vc: near and far are reserved keywords * src/domains/sdf/kernel/make.template: * src/domains/sdf/stars/make.template: * src/domains/sdf/dsp/stars/make.template: nt4.vc: Added DLLDEPS makefile variable so that we can build .dlls * src/domains/sr/kernel: removed SRItclStar.h, it does not compile with Itcl3.0 * src/domains/sr/stars/make.template: Removed SRItcl*.pl files and *.itcl files * src/demos/rolodex: Removed this Itcl demo, SRItcl stars don't work with Itcl3.0 * src/domains/sr/stars/SRConst.pl: Add functionality to emit constant in every "interval" instants. (Bilung Lee) * src/kernel/Display.cc: If the system() call returns non-zero, print an error message * src/kernel/Display.cc: #include stdio * src/kernel/PortHole.h setPortIndices returns an int * src/kernel/Star.h setStarIndices returns an int * src/kernel/State.h: If PTNT is defined, then include errno.h various methods are not void, they actually return an int * src/kernel/Linker.sysdep.h: If PT_NT4VC is defined, then don't include dlcfn etc. * src/kernel/Message.cc Add #include* src/kernel/Star.cc If PT_PTCL_WITH_TK is defined, then we call Tcl_DoOneEvent() everytime a star is fired. This is currently only used by the nt4.vc port (Olaf Lenzmann) * src/kernel/isa.h: nt4.vc: ptcl starts up, but there are no commands The fix is to edit isa.h and modify the quote macro to use the ansi cpp syntax: * src/kernel/miscFuncs.h nt4.vc: DERealTimeStar.cc fails to compile, the fix The fix is to modify miscFuncs.h so that when we include stdlib.h, we undef min and max * src/kernel/miscFuncs.cc Increase the size of the tempFileName buffer nt4vc: Read the TEMP variable to determine what directory to use (Olaf Lenzmann) * src/kernel/paths.cc: ptcl.ptiny fails to start with messages about not being able to find the binary. The fix is to modify kernel/paths.cc so it searches for backslashes under nt4.vc However, a problem persists unless we call ptcl.ptiny.exe. This is because pathSearch does not look for .exe files * src/pxgraph/README.txt: Added message about running the X11 pxgraph from the Java version * src/pxgraph/makefile: Location of ptplot changed * src/pxgraph/pxgraph/configure.in: nt4: Added /usr/X11R6.4 in two places. * src/pxgraph/pxgraph/install-sh nt4: If the .exe file exists, use that instead. * src/pxgraph/pxgraph/makefile.in: added rule for config.status * src/pigilib/pigiMain.cc If we are compiling under TK 8, then call Tcl_FindExecutable() * src/pigilib/POct.cc: * src/pigilib/PVem.cc: * src/pitcl/PITcl.cc: * src/ptcl/PTcl.cc: redefine #define ENTRY and #define ENTRY2 to fix warnings (Wolfgang Reimer) * src/pigilib/local.h: Mention OCT_EXTERN in comment nt4: Fixes for % in pathnames. * src/pigilib/octIfc.c * src/pigilib/mkIcon.c nt4: Fixes for % in pathnames. * src/pigilib/pigiLoader.cc: de stars may need sip files * src/pigilib/ptkConsoleWindow.cc: Tcl8: deal with channels properly * src/pigilib/ptkTkSetup.c: Itcl3: do the proper package initializations and import namespaces * src/pitcl/displayFile.c: * src/ptcl/displayFile.c: If Tk is not present, start up Tycho as a separate process * src/ptcl/PTcl.h * src/ptcl/PTcl.cc * src/ptcl/ptclAppInit.cc: nt4.vc: Various changes for building ptcl with TK (Olaf Lenzmann) * src/ptcl/ptclInit.cc: * src/pitcl/ptclInit.cc: Include unistd.h to pick ups isatty() * src/pitcl/make.template: Use ITCLSH, moved ptclInvokeInterp.cc * src/ptcl/make.template: Added ptclInvokeInterp.cc * src/ptklib/ptkPicture.c: * src/ptklib/ptkPlot.c Tk8.0 changes * src/ptklib/ptk.h: nt4.vc: avoid unresolved symbol ptkInterp in HOFBaseHiOrderFun (Olaf Lenzmann) * src/ptlang/makefile: Use $(YACC) instead of yacc. Reported by Olaf Lenzmann * src/ptlang/ptlang.y: (FIXME: check log) Added # line 1 "Foo.pl" directive after pragma code. (James Lindblad) Don't read the PWD variable, not all shells have it set. Use getcwd instead. (Wolfgang Reimer) * src/tysh/SigHandle.cc: nt4: If SIGIOT is not defined, then use SIGABRT * src/tysh/TyTcl.cc: Tcl8.0 font change redefine #define ENTRY and #define ENTRY2 to fix warnings
Changes present in the pt0.7.devel other.src tar file
* src/octtools/include/ansi.h: * src/octtools/include/errtrap.h: * src/octtools/include/fang.h: * src/octtools/include/harpoon.h: * src/octtools/include/oct.h: * src/octtools/include/oh.h: * src/octtools/include/options.h: * src/octtools/include/pep.h: * src/octtools/include/rpc.h: * src/octtools/include/st.h: * src/octtools/include/symbolic.h: * src/octtools/include/symlib.h: * src/octtools/include/tap.h: * src/octtools/include/th.h: * src/octtools/include/timer.h: * src/octtools/include/tr.h: * src/octtools/include/uprintf.h: * src/octtools/include/vov.h: * src/octtools/Packages/oct/oct-big-id.h * src/octtools/Packages/oct/oct.h * src/octtools/Packages/pep/pepint.h * src/octtools/Packages/tr/tr.h * src/octtools/Packages/utility/csystem.c * src/octtools/Packages/utility/utility.h * src/octtools/Xpackages/rpc/appNet.c * src/octtools/vem/main/ansi.h * src/octtools/vem/rpc/rpc.c Change define of EXTERN to OCT_EXTERN for Tcl8.x * src/octtools/tkoct/top/tclMain.c: Tcl8.0 * src/octtools/tkoct/top/memCore.c: nt4: Added extern for end * src/octtools/tkoct/oct2ptcl/make.template: nt4: use BINARY_EXT * src/octtools/tkoct/oct2ptcl/oct2ptcl.c: In Ptolemy 0.7.1 and earlier, some of the facets in $PTOLEMY/lib/ptolemy had the % character in their names, which causes no end of trouble under NT4.0 with Cygwin 20.1. In Ptolemy 0.7.1 and later, we changed the name of these files and substituted in the string "percent" for the character "%". * src/octtools/vem/utility/colors.c: vuWhite(): Don't call WhitePixel here, instead, get the color by name. The value for WhitePixel apparently is the value for the default colormap. If we have a TrueColor map, then the value of WhitePixel will be out of range if we use it with a PseudoColor map * src/octtools/lib/make.template: Don't install the 'Vem' file, we don't use it anyway, and it causes problems when extracting the tar files under NT
Changes to the pt0.7.2devel gnu.src tar file
* Upgrades binutils-2.8.1 -> binutils-2.9.1 (Used only under HPUX) egcs-1.0.2 -> egcs-1.1.1 make-3.76.1 -> make-3.77 * src/gnu/README: Updated version numbers * src/gnu/makefile: GCC_VERSION updated for egcs1.1