Size: 1471
Comment:
|
Size: 3120
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from ModularSimulation/Help | #pragma section-numbers 2 |
Line 3: | Line 3: |
[[TableOfContents]] | |
Line 4: | Line 5: |
== Matlab does not compile (Windows only) == Under Windows, if the BCVTB is compiled using the Microsoft compiler, then the Matlab libraries also need to be compiled with the Microsoft compiler. Otherwise, the you may get a compilation error like: |
== Compilation problems == === Error when compiling Ptolemy II (Windows only) === If running |
Line 9: | Line 9: |
Writing library for establishBSDSocket.mexw32 c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_establishclientsocket' c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_exchangewithsocket' |
make configPt }}} or running {{{ ./configure && make fast install }}} gives the following error {{{ /bin/sh: -c: line 1: unexpected EOF while looking for matching `'' /bin/sh: -c: line 4: syntax error: unexpected end of file }}} then the source code is most likely with Unix line endings. Download the Windows source code from the Ptolemy web page. === Error when compiling MATLAB (Windows only) === Under Windows, if the BCVTB is compiled using the Microsoft compiler, then the MATLAB libraries also need to be compiled with the Microsoft compiler. If, however, the gcc compiler has been used when compiling the BCVTB, then the following compilation error may be obtained when compiling the MATLAB libraries: {{{ Writing library for establishBSDSocket.mexw32 c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_establishclientsocket' c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_exchangewithsocket' |
Line 14: | Line 30: |
To fix this problem, open Matlab, run | To fix this problem, open Matlab, run |
Line 20: | Line 36: |
Line 21: | Line 38: |
The following steps typically help analyzing problems if a simulation program does not work as expected. | |
Line 22: | Line 40: |
If something goes wrong during the simulation, check the files {{{utilSocket.log}}} and {{{utilClient.log}}}. They contain log messages that may indicate the cause of the problem. If these files do not exist, go to the directory {{{bcvtb/lib}}}, open the file {{{defines.h}}} and add the line |
=== Check log files === If something goes wrong during the simulation, check the files {{{simulation.log}}}, {{{utilSocket.log}}} and {{{utilClient.log}}}. They contain log messages that may indicate the cause of the problem. If these files do not exist, go to the directory {{{bcvtb/lib}}}, open the file {{{defines.h}}} and add the line |
Line 30: | Line 46: |
Then, from the directory {{{bcvtb/lib}}} compile the libraries using | Then, from the directory {{{bcvtb/lib/util}}} compile the libraries using{{{ ant clean all }}} and rerun the simulation. Now the log files should be written to the directory from which you started the BCVTB. === Display program output === Depending on how simulation programs are called by the {{{Simulation}}} actor in Ptolemy, the console output written by the simulation program may not be visible. To see the console output, change the command line of the Ptolemy actor from |
Line 32: | Line 55: |
make clean make |
bash ./runClient.sh |
Line 35: | Line 57: |
and rerun the simulation. Now the log files should be written to the directory from which you started the BCVTB. |
to {{{ xterm -e bash ./runClient.sh }}} This will start a terminal that shows the output of the running simulation program which help analyzing what goes wrong, for example, when the simulation program terminates due to an error before connecting to the BCVTB. === Memory problem === If the following error occurs:{{{ java.lang.OutOfMemoryError: Java heap space}}} then increase the Java heap space by running vergil with the command{{{ java -Xmx1024m ptolemy.vergil.VergilApplication system.xml}}} The argument {{{-Xmx1024m}}} declares how much memory is allocated. The default for Java is -Xmx128m |
Help
1. Compilation problems
1.1. Error when compiling Ptolemy II (Windows only)
If running
make configPt
- or running
./configure && make fast install
- gives the following error
/bin/sh: -c: line 1: unexpected EOF while looking for matching `'' /bin/sh: -c: line 4: syntax error: unexpected end of file
then the source code is most likely with Unix line endings. Download the Windows source code from the Ptolemy web page.
1.2. Error when compiling MATLAB (Windows only)
Under Windows, if the BCVTB is compiled using the Microsoft compiler, then the MATLAB libraries also need to be compiled with the Microsoft compiler. If, however, the gcc compiler has been used when compiling the BCVTB, then the following compilation error may be obtained when compiling the MATLAB libraries:
Writing library for establishBSDSocket.mexw32 c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_establishclientsocket' c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_exchangewithsocket' c:\docume~1\mwetter\locals~1\temp\mex_ae679\simulinksocket.obj .text: undefined reference to '_closeipc'
To fix this problem, open Matlab, run
mex -setup
and select the Microsoft Visual C++ compiler from the menu. This need to be done only once as it updates your Matlab settings.
2. Runtime problems
The following steps typically help analyzing problems if a simulation program does not work as expected.
2.1. Check log files
If something goes wrong during the simulation, check the files simulation.log, utilSocket.log and utilClient.log. They contain log messages that may indicate the cause of the problem. If these files do not exist, go to the directory bcvtb/lib, open the file defines.h and add the line
#define NDEBUG
Then, from the directory bcvtb/lib/util compile the libraries using
ant clean all
and rerun the simulation. Now the log files should be written to the directory from which you started the BCVTB.
2.2. Display program output
Depending on how simulation programs are called by the Simulation actor in Ptolemy, the console output written by the simulation program may not be visible. To see the console output, change the command line of the Ptolemy actor from
bash ./runClient.sh
to
xterm -e bash ./runClient.sh
This will start a terminal that shows the output of the running simulation program which help analyzing what goes wrong, for example, when the simulation program terminates due to an error before connecting to the BCVTB.
2.3. Memory problem
If the following error occurs:
java.lang.OutOfMemoryError: Java heap space
then increase the Java heap space by running vergil with the command
java -Xmx1024m ptolemy.vergil.VergilApplication system.xml
The argument -Xmx1024m declares how much memory is allocated. The default for Java is -Xmx128m