Error messages generated by BEAST and its associated utilities.

## BEAST Error Messages

This error is most likely because the input file was not actually an XML file.
The input file was recognized as an XML document but the document broke some fundemental rules for XML (it was not "well-formed").
The input file was recognized as an XML file but the content was not as expected by BEAST. The exact element in the file will be listed along with details of the problem. For example:
Parsing error - poorly formed BEAST file:
The '<alignment>' element with id, 'alignment1', is incorrectly constructed.
The following was expected:
One of
ATTRIBUTE String dataType REQUIRED
ELEMENT of type dataType REQUIRED

In this case, although the input file was a valid XML document, there was an error in the syntax that BEAST requires. For example, above, an element of type <alignment> does not conform to the requirement that it either has an attribute called 'dataType' or contains an element called '<dataType>'.
Look at the answer to this FAQ question for possible reasons for this error and solutions.
For slightly older versions of BEAST (which do not yet enforce the use of the BEAGLE library), a possible solution is exactly to use the BEAGLE library. Not using BEAGLE results in BEAST using the java implementation of the likelihood calculator which means all your data will be loaded into the Java heap, which then leads to this error. Additionally, the use of BEAGLE will also increase the performance of BEAST, i.e. make it run faster.
There will be an error message displayed in the BEAST GUI window, but that window closes to quickly to observe what the error message was. Your BEAST download folder will typically contain a lib folder, with a beast.jar file in it. We suggest to run your BEAST XML using this .jar file as follows from a terminal:
java -jar beast.jar dataset.xml

The error message shown in the terminal will further help determine the actual problem in running your BEAST XML file.

## BEAGLE Error Messages

This (linux-based) error occurs because BEAST is unable to locate the BEAGLE library. When following the installation instructions and specifically the part on how to set the environment variables, BEAST should be able to locate BEAGLE without any additional instructions. Should setting the environment variables no take care of this issue, you can manually provide the location of BEAGLE when running BEAST as follows:
java -Djava.library.path=/usr/local/lib -jar beast.jar test.xml

in the case that you installed BEAGLE in /usr/local/lib. When following the installation instructions, BEAGLE will be installed in the /lib folder within your HOME directory. If you're unsure where you've installed BEAGLE, you can locate the BEAGLE library as follows:
locate libhmsbeagle-jni.so

On Windows, it may be necessary to restart your computer after installing BEAGLE, in order for the system's environment variables to be set up correctly. If that doesn't work, you can try copying the BEAGLE DLL files from C:\Program Files\Common Files:
hmsbeagle64.dll
hmsbeagle-cpu64.dll
hmsbeagle-opencl64.dll

to the same directory that holds you BEAST executable, e.g. BEASTv1.10.4.exe.
If you're not determined to use OpenCL and this error hence only prevents you from running BEAST with BEAGLE, you can uninstall the OpenCL package ocl-icd-opencl-dev:
sudo apt-get remove ocl-icd-libopencl1

Reinstalling the BEAGLE library according to the installation instructions will complete fixing the problem. Note that uninstalling the OpenCL package will prevent other software that relies on OpenCL from running properly.
After installing the BEAGLE library according to the installation instructions, the suggested 'make check' command may indicate that the installation was not successfull:
FAIL: genomictest.sh
============================================================================
Testsuite summary for libhmsbeagle 2.1.2
============================================================================
# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See examples/genomictest/test-suite.log
============================================================================


One possible solution is to uninstall the OpenCL package on your (linux-based) system:
sudo apt-get remove ocl-icd-libopencl1

Reinstalling the BEAGLE library according to the installation instructions can complete fixing the problem. Note that uninstalling the OpenCL package will prevent other software that relies on OpenCL from running properly.
This can be fixed by being more explicit when specifying the command-line options for BEAGLE. For example, if your graphics card is detected by BEAGLE and assigned resource number 1, you can specify the following:
-beagle_gpu -beagle_double -beagle_order 1

If your data has multiple partitions and you want to distribute the likelihood evaluations for those partitions across multiple graphics cards (with assigned resource numbers 1 and 2):
-beagle_gpu -beagle_double -beagle_order 1,2

We have a separate webpage on how to increase computational performance.
This error has to do with your Java installation, specifically whether or not you have a potential mismatch between a 32-bit operating system and a 64-bit Java installation. This can easily be checked by trying the following in a terminal:
java -version

When a full 64-bit Java has been installed, you should see on screen something similar to this:
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

To check whether you're running a 32-bit or a 64-bit operating system, in linux or in OSX:
uname -a

The output might look like this:
Linux 2.6.32-642.6.2.el6.x86_64 #1 SMP Mon Oct 24 10:22:33 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

Specifically, the x86_64 indicates a 64-bit environment. In Windows, you can right-click on My Computer and it should show whether you're running a 32-bit or a 64-bit Windows version. When both your operating system and Java environment are 64-bit, this problem should not appear. Ideally, you should have 64-bit versions installed of both operating system and Java environment.
This error message indicates a problem with the CUDA installation on your system. When running the ./configure script as part of the BEAGLE installation instructions, pay attention to possible error messages at the end. For example, you may get the following message:
configure: WARNING: NVIDIA CUDA nvcc compiler not found or CUDA support disabled.
CUDA implementation will not be built.
If CUDA support is desired, check the path to CUDA and specify --with-cuda=/path/to/cuda

If so, you may need to give it the path to the CUDA SDK installation (or perhaps you haven’t installed the CUDA SDK - i.e., not just the drivers).
Tags: