Initializing help system before first use

Error messages

Topics covered in this chapter:

The Mosel error messages listed in the following are grouped according to the following categories:

  • General errors: may occur either during compilation or when running a model.
  • Parser/compiler errors: raised during the model compilation.
  • Runtime errors: when running a model.

All messages are identified by their code number, preceded either by the letter E for error or W for warning. Errors cause the compilation or execution of a model to fail, warnings simply indicate that there may be something to look into without causing a failure or interruption.

This chapter documents the error mesages directly generated by Mosel, not the messages stemming from Mosel modules or from other libraries used by modules.

General errors

These errors may occur either during compilation or when running a model.

E-1   Internal error in `location' (errortype)

An unrecoverable error has been detected, Mosel exits. Please contact Xpress Support.

E-2   General error in `location' (errortype)

An internal error has been detected but Mosel can recover. Please contact Xpress Support.

E-4   Not enough memory

Your system has not enough memory available to compile or execute a Mosel model.

E-21   I cannot open file `file' for writing (driver_error)

Likely causes are an incorrect access path or write-protected files.

E-22   I cannot open file `file' for reading (driver_error)

Likely causes are an incorrect access path or filename or not read-enabled files.

E-23   Error when writing to the file `file' (driver_error)

The file could be opened for writing but an error occurred during writing (e.g. disk full).

E-24   Error when reading from the file `file' (driver_error)

The file could be opened for reading but an error occurred while reading it.

E-25   Unfinished string

A string is not terminated, or different types of quotes are used to indicate start and end of a string.

Example:

 writeln("mytext)

E-26   Identifier expected

May occur when reading data files: a label is missing or a numerical value has been found where a string is expected.

Example:

 declarations
  D: range
 end-declarations

 initializations from "test.dat"
  D
 end-initializations
Contents of test.dat:
 [1 2 3]
The label D: is missing.

E-27   Number expected

May occur when reading data files: another data type has been found where a numerical value is expected.

Example:

 declarations
  C: set of real
 end-declarations

 initializations from "test.dat"
  C
 end-initializations
Contents of test.dat:
 C: [1 2 c]
c is not a number.

E-28   Digit expected for constant exponent

May occur when using scientific notation for real values.

Example:

b:= 2E -10
E must be immediately followed by a signed integer ( i.e. no spaces).

E-29   Wrong file descriptor number for selection (num)

fselect is used with an incorrect parameter value.

E-34   I cannot find IO driver `driver'

The system cannot locate the IO driver driver for opening a file. This may happen if the driver is provided by a module not already loaded in memory. To avoid this problem the module name should be given with the driver name. For instance use "mmodbc.odbc" instead of "odbc" alone.

E-35   Error when closing file `file' (driver_error)

An error occurred while closing a file. Typically the last write operation for clearing buffers failed.

E-36   Read error (file)

I/O error during file reading.

E-37   Invalid character

Invalid character sequence found while reading a text file, non-conforming to the current encoding. Possibly an incorrect encoding (Mosel default is UTF-8) has been specified for accessing this file.

E-38   Unknown compiler flag(s) `flag' ignored

Some of the flag(s) used with compile have not been recognized, please refer to the list documented for compile.

E-39   Unknown BIM reader flag(s) `flag' ignored

Some of the flag(s) used with load have not been recognized, please refer to the list documented for load.

E-40   Unsupported encoding `encoding' (ignored)

The encoding name specified after the marker !@encoding is unknown.

Parser/compiler errors

Whenever possible Mosel displays the location where an error has been detected during compilation in the format (line_number/character_position_in_line).

E-100   Syntax error before token

The parser cannot continue to analyze the source file because it has encountered an unexpected token. When the error is not an obvious syntax error, make sure you are not using an identifier that has not been defined before.

Examples:

token: )
 writeln(3 mod)
mod must be followed by an integer (or a numerical expression evaluating to an integer).
token: write
 if i > 0
  write("greater")
 end-if
then has been omitted.
token: end
 if i > 0 then write("greater") end-if
A semicolon must be added to indicate termination of the statement preceeding the end-if.

E-101   Incompatible types (type_of_problem)

We try to apply an operation to incompatible types. Check the types of the operands.

Examples:

type_of_problem: assignment
 i:=0
 i:=1.5
The first assignment defines i as an integer, the second tries to re-assign it a real value: i needs to be explicitly declared as a real.
type_of_problem: cmp
 12=1=2
A truth value (the result of 12=1 is compared to a numerical value.

E-102   Incompatible types for parameters of `routine'

A subroutine is called with the wrong parameter type. This message may also be displayed instead of E-104 if a subroutine is called with the wrong number of parameters. (This is due to the possibility to overload the definition of subroutines).

Example:

 procedure myprint(a:integer)
  writeln("a: ", a)
 end-procedure

 myprint(1.5)
The subroutine myprint is called with a real-valued argument instead of an integer.

E-103   Incorrect number of subscripts for `array'(num1/num2)

An array is used with num2 subscripts instead of the number of subscripts num1 indicated at its declaration.

Example:

`array'(num1/num2): `A'(2/1)
 declarations
  A: array(1..5,range) of integer
 end-declarations

 writeln(A(3))

E-104   Incorrect number of parameters for `routine'(num1/num2)

Typically displayed if write or read are used without argument(s).

E-106   Division by zero detected

Explicit division by 0 (otherwise error only detected at runtime).

E-107   Math error detected on function `fct'

For example, a negative number is used with a fractional exponent.

E-108   Logical expression expected here

Something else than a logical condition is used in an if statement.

E-109   Trying to redefine `name'

Objects can only be defined once, changing their type is not possible.

Example:

 i:=0

 declarations
  i: real
 end-declarations
i is already defined as an integer by the assignment.

E-111   Logical expression expected for operator `op'

Example:

op: and
 2+3 and true

E-112   Numeric expression expected for operator `op'

Examples:

op: +
 12+{13}
op: *
 uses "mmxprs"

 declarations
  x:mpvar
 end-declarations

 minimize(x*x)
Multiplication of decision variables of type mpvar is only possible if a suitable module (like mmnl) supporting non-linear expressions is loaded.

E-113   Wrong type for conversion

Mosel performs automatic conversions when required (for instance from an integer to a real) or when explicitly requested by using the type name, e.g. integer(12.5). This error is raised when an unsupported conversion is requested or when no implicit conversion can be applied.

E-114   Unknown type for constant `const'

A constant is defined but there is not enough information to deduce its type or the type implied cannot be used for a constant (for instance a linear constraint).

E-115   Expression cannot be passed by reference

We try to use a constant where an identifier is expected. For instance, only non-constants can be used in an initializations block.

E-118   Wrong logical operator

A logical opeartor is used with a type for which it is not defined.

Example:

 if("abc" in "acd") then writeln("?"); end-if
The operator in is not defined for strings.

W-121   Statement with no effect

A statement is used that has no effet, for example r += 0.

E-122   Control parameter `param' unknown

The control parameters of Mosel are documented in the Mosel Reference manual under function getparam. All control parameters provided by a module, e.g. mmxprs, can be display with the command EXAM, e.g. exam -p mmxprs. In IVE this information is displayed by the module browser.

E-123   `identifier' is not defined

identifier is used without or before declaring it. Check the spelling of the name. If identifier is defined by a module, make sure that the corresponding module is loaded. If identifier is a subroutine that is defined later in the program, add a forward declaration at the beginning of the model.

E-124   An expression cannot be used as a statement

An expression stands where a statement is expected. In this case, the expression is ignored — typically, a constraint has been stated and the constraint type is missing (i.e. >= or <= ...) or an equality constraint occurs without decision variables, e.g. 2=1.
This error also appears when the return value of a function call is not retrieved.

E-125   Set expression expected

For instance when trying to compute the union between an integer constant and a set of integers: union(12+{13})

E-126   String expression expected

A string is expected here: for instance a file name for an initializations block.

E-127   A function cannot be of type `type'

Some types cannot be the return value of a function. Typically no function can return a decision variable (type mpvar).

E-128   Type `type' has no field named `field'

Trying to access an unknown field in a record type.

Example:

 declarations
  myrec=record
          i,j:integer
        end-record
  r:myrec
 end-declarations
 r.k:=0
k is not a field of r.

E-129   Type `type' is not a record

Trying to use a record dereference on an object that is not a record. For instance using i.j with i defined as an integer.

E-130   A type definition cannot be local

It is not possible to declare a type in a procedure or function.

W-131   Array `identifier' is not indexed by ranges: assignment may be incorrect

When performing an inline initialization (operator ::) on an array, it is recommended to list indices if the indexing sets are not ranges. Indeed, since order of set elements is not guaranteed the values provided may not be assigned to the expected cells in the array.

Example:

declarations
  a:array({3,2,1}) of integer
 end-declarations
 ! a::[3,2,1]        !=> a(1)=3 a(2)=2 a(3)=1
 a::([3,2,1])[3,2,1] !=> a(1)=1 a(2)=2 a(3)=3

E-132   Set or list expression expected

Aggregate operators (like sum or forall) require sets or lists to describe the domains for their loops.

Example:

declarations
  i:integer
 end-declarations
 forall(i = 2) writeln(i)
Since i is declared as an integer before the loop, the expression i=2 is a logical expression (it checks whether i is equal to 2) instead of an index definition.

W-144   Symbol `identifier' implicitly declared

When a model is compiled with option -wi this message gets displayed for every symbol that is not explicitly declared by the model.

E-147   Trying to interrupt a non existing loop

break or next is used outside of a loop.

E-148   Procedure/function `identifier' declared but not defined

A procedure or functions is declared with forward, but no definition of the subroutine body has been found or the subroutine body does not contain any statement.

E-149   Some requirements are not met

A package may declare requirements: these are symbols that must be declared by models using this package. This error occurs when a model uses a package without providing the definitions for all the requirements.

E-150   End of file inside a commentary

A commentary (usually started with (!) is not terminated. This error may occur, for instance, with several nested commentaries.

E-151   Incompatible type for subscript num of `identifier'

The subscript counter num may be wrong if an incorrect number of subscripts is used.

Example:

 declarations
  A:array(1..2,3..4) of integer
 end-declarations

 writeln(A(1.3))
This prints the value 2 for num, although the second subscript is actually missing.

W-152   Empty set for a loop detected

This warning will be printed in a few cases where it is possible to detect an empty set during compilation.

E-153   Trying to assign the index `idx'

Loop indices cannot be re-assigned.

Example:

 declarations
  C: set of string
  D: range
 end-declarations

 forall(d in D) d+=1
 forall(c in C) if (c='a') then c:='A'; end-if
Both of these assignments will raise the error. To replace an element of the set C, the element needs to be removed and the new element added to the set.

E-154   Unexpected end of file

May occur, for instance, if an expression at the end of the model file is incomplete and in addition end-model is missing.

E-155   Empty `case'

A case statement is used without defining any choices.

E-156   `identifier' has no type

The type of identifier cannot be deduced. Typically, an undeclared object is assigned an empty set.

E-157   Scalar expression expected

Examples:

 declarations
  B={'a','b','c'}
 end-declarations

 case B of
  1: writeln("stop")
 end-case
The case statement can only be used with the basic types (integer, real, boolean, string).
 D:: [1,2]
Declaration of arrays by assignment is only possible if the index set can be deduced ( e.g. definition of an array of linear constraints in a loop).

E-159   Compiler option `option' unknown

Valid compiler options include explterm and noimplicit. See section Directive options for more details.

E-160   Definition of functions and procedures cannot be nested

May occur, for instance, if end-procedure or end-function is missing and the definition of a second subroutine follows.

E-161   Expressions not allowed as procedure/function parameter

Occurs typically if the index set(s) of an array are defined directly in the procedure/function prototype.

Example:

 procedure myproc(F:array(1..5) of real)
  writeln("something")
 end-procedure 
Replace either by array(range) or array(set of integer) or define A:=1..5 outside of the subroutine definition and use array(A)

E-162   Non empty string expected here

This error is raised, for example, by uses ""

E-163   Array declarations in the form of a list are not allowed as procedure/function parameter

Basic types may be given in the form of a list, but not arrays.

Example:

 procedure myproc(F,G,H:array(range) of real, a,b,c:real)
  writeln("something")
 end-procedure
Separate declaration of every array is required:
 procedure myproc(F:array(range) of real, G:array(range) of real,
                  H:array(range) of real, a,b,c:real)

W-164   A local symbol cannot be made public

Example:

 procedure myproc
  declarations
   public i:integer
  end-declarations
  i:=1
 end-procedure
Any symbol declared in a subroutine is local and cannot be made public.

E-165   Declaration of `identifier' hides a parameter

The name of a function/procedure parameter is re-used in a local declaration.

Example:

 procedure myproc(D:array(range) of real)
  declarations
   D: integer
  end-declarations
  writeln(D)
 end-procedure
Rename either the subroutine argument or the name used in the declaration.

W-166   `;' missing at end of statement

If the option explterm is employed, then all statements must be terminated by a semicolon.

E-167   Operator `op' not defined

A constructor for a type is used in a form that is not defined.

Example:

 uses "complex"
 c:=complex(1,2,3)
The module complex defines constructors for complex numbers from one or two reals, but not from three.

E-168   `something' expected here

Special case of ``syntax error'' (E-100) where the parser is able to provide a guess of what is missing.

Examples:

something: :=
 a: 3
The assignment is indicated by :=.
something: of
 declarations
  S: set integer
 end-declarations
of has been omitted.
something: ..
 declarations
  A: array(1:2) of integer
 end-declarations
Ranges are specified by ...

E-169   `identifier' cannot be used as an index name (the identifier is already in use or declared)

Example:

 i:=0
 sum(i in 1..10)
The identifier i has to be replaced by a different name in one of these lines.

E-170   `=' expects a scalar here (use `in' for a set)

Special case of syntax error (E-100).

Example:

 sum(i = 1..10)
Replace = by in.

E-171   The [upper/lower] bound of a range is not an integer expression

Example:

 declarations
  A: array(1..2.5) of integer
 end-declarations
Ranges are intervals of integers, so the upper bound of the index range must be changed to either 2 or 3.

E-172   Only a reference to a public set is allowed here

All index sets of a public array must also be public.

E-173   Statement allowed in packages only

The block requirements can only be used in packages.

E-175   Index sets of array types must be named

User types defined as arrays must be indexed by named sets (i.e. declared separately). For instance it is not allowed to use range or set of string as an index of such an array.

E-176   Only a public type is allowed here

If a user type depending on another user type is declared declared public, the secondary type must also be public. For instance, assuming type T1 is private, it is not possible to declare T2 as a public T2=set of T1.

E-177   Incorrect number of initializers (n1/n2)

In an inline initialization (operator ::) the number of provided values to assign does not match the list of indices.

E-202   Integer constant expected

Versions numbers (stated by means of the version compiler directive) must consist in 1 to 3 numbers separated by dots (e.g. 1.2.3). This error is displayed if a version number does not conform to this syntax.

E-207   Problem reference/type expected here

The operator with is used with something that is not a problem.

E-208   There can be only one counter

The as counter declaration can appear only once in an iterator list.

E-209   Missing loop indices

Typically an iterator list contains only a counter declaration: it is necessary to provide at least one index.

E-210   String starting at line line is unfinished

A multiline string is not correctly terminated with the matching end marker.

E-211   Invalid annotation syntax (ignored)

Malformed annotation that cannot be identified (e.g. containing .. or invalid characters—only alphanumeric and underscore are allowed in annotation names).

E-212   Annotations: invalid path `name'

Some portion of the path forming an annotation identifier, e.g. cat1.cat2 is the path for the annotation !@cat1.cat2.name, cannot be accessed.

E-213   Annotations: name `name' not found

Some portion of the path forming an annotation identifier, e.g. cat1.cat2 is the path for the annotation !@cat1.cat2.name, is not defined.

E-214   Annotations: trying to redefine `name' (ignored)

An annotation can only be defined once.

E-215   Annotations: invalid definition string for `name' (value)

Incorrect or incomplete annotation declaration in an @mc.def statement, such as duplicate or missing property or value, use of an unknown keyword. Please refer to the list of permissible declaration statements in Section Declaration.

E-217   Annotations: wrong value `value' for `name' (expecting: value2)

An annotation is assigned a value that does not correpond to the value type or set of values that have been specified in its declaration (via @mc.def).

E-218   Annotations: missing chapter for `name'

moseldoc is trying to add a documentation entry under a chapter or section that has not (yet) been defined.

Errors related to modules

E-302   The symbol `identifier' from `module' cannot be defined (redefinition)

Two different modules used by a model define the same symbol (incompatible definitions).

E-303   Wrong type for symbol `identifier' from `module'

Internal error in the definition of a user module (an unknown type is used): refer to the list of type codes in the Native Interface reference manual.

W-306   Unknown operator `op' (code num) in module `module'

Internal error in the definition of a user module: refer to the list of operator codes in the Native Interface reference manual.

E-307   Operator `op' (code num) from module `module' rejected

Internal error in the definition of a user module: an operator is not defined correctly.

E-308   Parameter string of a native routine corrupted

Internal error in the definition of a user module: refer to the list of parameter type codes in the Native Interface reference manual.

W-309   Problem type `typ' unknown: extension `ext' ignored

A module declares a native type as a problem extension but the compiler cannot find the base type. For instance the new type is named "myprob.pb" but "myprob" does not exist.

Errors related to packages

E-320   Package `package' not found

A package has not been found in the module path (see section Directive uses for the search rules).

E-321   `file' is not a package

Typically displayed if a model is used as a package (the source for the bim file starts with the model keyword instead of package).

E-322   Wrong version for package `package'(using:num1.num2.num3/required:num4.num5.num6)

A model is compiled with package A depending on a package B. The bim file Mosel has loaded for B is not compatible with the one used for compiling A (found version num1.num2.num3, required version is num4.num5.num6).

E-323   Package `package' imported several times

A package cannot be imported several times in a model. This error occurs usually when a model uses packages A and B, and package B already includes A.

Runtime errors

Runtime errors are usually displayed without any information about where they have occurred. To obtain the location of the error, use the flag g with the COMPILE, CLOAD, or EXECUTE command.

Initializations

E-30   Duplicate label `label' at line num of file `file' (ignored)

The same label is used repeatedly in a data file.

Example:

 D: [1 2 3]
 D: [1 2 4]

E-31   Error when reading label `label' at (num1,num2) of file `file'

The data entry labeled label has not been read correctly. Usually this message is preceded by a more detailed one, e.g. E-24, E-27 or E-28.

E-32   Error when writing label `label' at (num1,num2) of file `file'

The data entry labeled label has not been written correctly. Usually this message is preceded by a more detailed one, e.g. E-23.

E-33   Initialization with file `file' failed for: list_of_identifier

Summary report at the end of an initializations section. Usually this message is preceded by more detailed ones, e.g. E-27, E-28, E-30, E-31.

General runtime errors

E-51   Division by zero

Division by 0 resulting from the evaluation of an expression.

E-52   Math error performing function `identifier'

For example ln used with inadmissible argument, such as 0 or negative values.

E-72   Not a runnable model (main procedure not found)

Most likely, you are trying to execute a 'package' as if it were a 'model'.

E-1000   Inconsistent range

Typically displayed if the lower bound specified for a range is greater than its upper bound.

Example:

 D:=3..-1

E-1001   Conflicting types in set operation (op)

A set operation can only be carried out between sets of the same type.

Example:

 declarations
  C: set of integer
  D: range
 end-declarations

 C:={5,7}
 D:=C
The inverse, C:=D, is correct because ranges are a special case of sets of integers.

E-1002   An index is out of range

An attempt is being made to access an array entry that lies outside of the index sets of the array.

E-1003   Trying to modify a finalized or fixed set

Occurs, for instance, when it is attempted to re-assign a constant set or to add elements to a fixed set.

E-1004   Trying to access an uninitialized object (type_of_object)

Occurs typically in models that define subroutines.

Example:

type_of_object: array
 forward procedure myprint
 myprint
 declarations
  A:array(1..2,3..4) of integer
 end-declarations

 procedure myprint
  writeln(A(1,2))
 end-procedure
Move the declaration of A before the call of the subroutine

E-1005   Wrong type for ``procedure''

Occurs when procedures settype or getvars are used with incorrect types.

E-1006   Null reference (internal_function)

This error is a special case of E-1004 when the problem is detected on an external type or scalar (e.g. accessing a record field on an object that has not been initialized).

E-1009   Too many initializers

The number of data elements exceeds the maximum size of an array.

Example:

 declarations
  A:array(1..3) of integer
 end-declarations

 A::[1,2,3,4]

E-1010   Trying to extend a unary constraint

Most types of unary constraints cannot be transformed into constraints on several variables.

Example:

 declarations
  x,y: mpvar
 end-declarations

 c:=x is_integer
 c+=y

E-1011   Dense array too big

The model is trying to create a dense array with more than 4 billion cells, typically such an array should have been declared as sparse (dynamic or hashmap). This error will be raised when the array is allocated (after its declaration or when it is first accessed).

E-1013   Infeasible constraint

The simple cases of infeasible unnamed constraints that are detected at run time include:

Example:

 declarations
  x:mpvar
 end-declarations
 i:=-1
 if(i>=0,x,0)>=1

! or:
 x-x>=1

E-1014   Conflicting types in array operation (op)

An array operation (like assignment) can only be carried out between arrays of the same type and structure.

E-1015   Trying to modify a constant list

Occurs, for instance, when it is attempted to apply a destructive operation (like splittail) to a constant list.

E-1016   Trying to get an element in an empty set

The function getfirst or getlast is applied to an empty set.

E-1017   Trying to get an element in an empty list

The function getfirst or getlast is applied to an empty list.

E-1018   Invalid identifier `identifier' for publish

The publish command has received an invalid identifier name (e.g. not a valid Mosel identifier or the name is already in use as Mosel idientifier).

E-1100   Empty problem

We are trying to generate or load an empty problem into a solver (i.e. no constraints; bounds do not count as constraints).

E-1103   Too many matrix coefficients

Matrix size exceeds machine capacity: for 32bit versions the limit are 2billion (2·10E9) elements.

BIM reader

E-80   `file' is not a BIM file

Trying to load a file that does not have the structure of a BIM file.

E-82   Wrong BIM format version (current:num1/required:num2) for file `file'

A BIM file is loaded with an incompatible version of Mosel: preferably the same versions should be used for generating and running a BIM file.

E-83   BIM file `file' corrupted

A BIM file has been corrupted, e.g. by saving it with a text editor.

E-84   File `file': model cannot be renamed

A model file that is being executed cannot be re-loaded at the same time.

W-85   Trailing data at end of file `file' ignored

At the end of a BIM file additional, unidentifiable data has been found (may be a sign of file corruption).

E-88   BIM file `file' corrupted

Incomplete or otherwise damaged BIM file.

E-90   Signature error (description)

During the generation of a BIM file, a problem with the signature has occurred.

E-91   Signature verification error (description)

While reading a BIM file, a problem with the signature has occurred (e.g. trying to check signature for a file that is not signed; or the keys that have been employed don't match).

E-92   Encryption error (description)

Problem with encryption during the generation of a BIM file (e.g. invalid or missing key).

E-93   Decryption error (description)

Problem with decryption while reading a BIM file (e.g. invalid or missing key).

Module manager errors

E-350   Module `module' not found

A module has not been found in the module path (see section Directive uses for the search rules). This message is also displayed, if a module depends on another library that has not been found (e.g. module mmxprs has been found but Xpress Optimizer has not been installed or cannot be located by the operating system).

E-351   File `file' is not a Mosel DSO

Typically displayed if Mosel cannot find the module initialization function.

E-352   Module `module' requires a more recent version of Mosel (unsupported interface)

A module is not compatible with the Mosel version used to load it.

E-353   Module `module' disabled by restrictions

Module module either does not implement restriction handling at all or it requires features that are not authorized. See section mosel command: restricted mode (restricted mode) and section Configuration file (Remote Launcher configuration) to learn how to relax the restrictions.

Example:

mmxprs will fail with the restriction setting NoTmp

E-354   Error when initializing module `module'

Usually preceded by an error message generated by the module. Please refer to the documentation of the module for further detail.

E-355   Wrong version for module `module'(using:num1.num2.num3/required:num4.num5.num6)

A model is run with a version of a module that is different from the version that has been used to compile the model (trying to run with version num1.num2.num3, required version is num4.num5.num6).

E-358   Error when resetting module `module'

A module cannot be executed (e.g. due to a lack of memory).

E-359   Driver `pkg.driver' rejected (reason)

A module publishes an IO driver which name is invalid or that is missing some mandatory function.

E-360   Control parameter `module.param' unknown (setting ignored)

It is possible to set module parameters when running a model (using the RUN command for instance): in the list of assignments, a control parameter cannot be found in the indicated module.

E-361   Version number truncated (`vernum')

A version number (for module, model or package) consists in three positive numbers a.b.c. This error is raised if one of these numbers is larger than 999.

E-362   The operating system failed to load file `file' (`description')

The module file has been found but cannot be loaded by the system—there will typically be some system error message indicating the exact cause, such as wrong architecture (e.g. using a library compiled for Windows under Linux or bitness mismatch) or missing additional files (e.g. tyring to use module matlab without having previously installed Matlab—see the manual Xpress MATLAB Interface for further detail, or attempting to use mmoci without having installed the Oracle Instant Client—see setup instructions in the whitepaper Using ODBC and other database interfaces with Mosel).


© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.