Differences between revisions 17 and 29 (spanning 12 versions)
Revision 17 as of 2009-07-01 22:29:10
Size: 3120
Comment:
Revision 29 as of 2011-02-28 17:58:55
Size: 6471
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
[[TableOfContents]] <<TableOfContents>>

For questions that are not addressed here or in the manual, send email to https://groups.google.com/group/bcvtb
Line 6: Line 8:
=== 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.
Line 22: Line 9:
=== Error when compiling MATLAB (Windows only) === === Error when compiling MATLAB ===
====
Windows ====
Line 36: Line 24:
==== Linux Ubuntu 10.10 64-bit ====
In MATLAB R2010b, the command
{{{
cd lib/matlab
ant all
}}}
may fail with the error message
{{{
Warning: You are using gcc version "4.4.4-14ubuntu5)". The version
     [exec] currently supported with MEX is "4.3.4".
     [exec] For a list of currently supported compilers see:
     [exec] http://www.mathworks.com/support/compilers/current_release/
     [exec]
     [exec] /usr/bin/ld: cannot find -lstdc++
     [exec] collect2: ld returned 1 exit status
     [exec]
     [exec] mex: link of ' "establishBSDSocket.mexa64"' failed.
     [exec]
     [exec] ??? Error using ==> mex at 208
     [exec] Unable to complete successfully.
     [exec]
     [exec] Error in ==>
     [exec] /usr/local/matlab/R2010b/toolbox/simulink/simuli>> nk/+legacycode/@LCT/compile.p>compile
     [exec] at 264
     [exec]
     [exec]
     [exec] Error in ==>
     [exec] /usr/local/matlab/R2010b/toolbox/simulink/simulink/+legacycode/@LCT/legacyCodeImpl.p>legacyCodeImpl
     [exec] at 84
     [exec]
     [exec]
     [exec] Error in ==> legacy_code at 87
     [exec] [varargout{1:nargout}] = legacycode.LCT.legacyCodeImpl(action,
     [exec] varargin{1:end});
     [exec]
     [exec] Error in ==> compile at 90
     [exec] legacy_code('compile', def, ...
     [exec]
}}}
This problem is caused by {{{/usr/bin/ld}}} not finding the {{{stdc++}}} library. As a work-around, proceed as follows:

Type
{{{
sudo emacs ~/.matlab/R2010b/mexopts.sh
}}}
In the section {{{ glnxa64) }}}, change the line
{{{
CLIBS="$CLIBS -lstdc++"
}}}
to
{{{
CLIBS="$CLIBS"
}}}
Now, the command {{{ant all}}} should work and produce the files {{{libbcvtb_thunk_glnxa64.so}}}, {{{establishBSDSocket.mexa64}}}, {{{exchangeDoublesWithBSDSocket.mexa64}}} and {{{closeBSDSocket.mexa64}}}.


Line 39: Line 84:

=== Check program output ===
By default, the {{{Simulation}}} actor in Ptolemy writes a copy of the console output of the simulation program to a file called {{{simulation.log}}}. This file can typically be found in the directory from which the simulation program has been started.
Line 51: Line 99:
=== 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.
Line 68: Line 104:
java -Xmx1024m ptolemy.vergil.VergilApplication system.xml}}} java -jar path_to_bcvtb\bin\BCVTB.jar -Xmx1024m system.xml}}}
Line 70: Line 106:

=== Wrong Java version ===
The following error occurs if a too old Java version is used:{{{
java.lang.UnsupportedClassVersionError: Bad version number in .class file}}}
To fix this problem, update your Java.

=== EnergyPlus on Windows cannot find Java ===

If !EnergyPlus writes the error{{{
Instantiating Building Controls Virtual Test Bed
 ExternalInterface initializes.
'java' is not recognized as an internal or external command,
operable program or batch file.
 **FATAL:Error in ExternalInterface: Check EnergyPlus *.err file.
}}}
then Java is installed, but not on the {{{Path}}} variable of the operating system.
This situation occurred on a Windows 7, 64-bit, installation. The Windows Explorer associated the file
extension {{{.jar}}} with Java (which allowed the user to start the BCVTB from the Windows Explorer),
but Java could not be found by !EnergyPlus as the Java binary directory was not on the Windows {{{Path}}} variable.

To fix this problem, add the directory that contains {{{java.exe}}} to your system path. Java may
be installed in {{{C:\Program Files (x86)\Java\jre6\bin}}}.

=== Java cannot find VergilApplication ===
If running{{{
bin/bcvtb examples/c-room/system.xml
}}}
causes the following error{{{
Exception in thread "main" java.lang.NoClassDefFoundError: ptolemy/vergil/VergilApplication
Caused by: java.lang.ClassNotFoundException: ptolemy.vergil.VergilApplication
}}}
then the system environment variable {{{PTII}}} is set to a directory that does not contain a Ptolemy II installation.
This may happen if a user installed !OpenModelica, as !OpenModelica sets the PTII variable.

To fix this error, proceed as follows:
 * on Windows, add the line{{{
<entry key="PTII">$BCVTB_HOME\lib\ptII</entry>}}} to the file {{{bin\systemVariables-windows.properties}}} in the BCVTB home directory.
 * on Linux or Mac, add the line{{{
<entry key="PTII">$BCVTB_HOME/lib/ptII</entry>}}} to the file {{{bin/systemVariables-linux.properties}}} or {{{bin/systemVariables-mac.properties}}} in the BCVTB home directory.

Help

For questions that are not addressed here or in the manual, send email to https://groups.google.com/group/bcvtb

1. Compilation problems

1.1. Error when compiling MATLAB

1.1.1. Windows

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.

1.1.2. Linux Ubuntu 10.10 64-bit

In MATLAB R2010b, the command

cd lib/matlab
ant all

may fail with the error message

Warning: You are using gcc version "4.4.4-14ubuntu5)".  The version
     [exec]          currently supported with MEX is "4.3.4".
     [exec]          For a list of currently supported compilers see: 
     [exec]          http://www.mathworks.com/support/compilers/current_release/
     [exec]