Resources

ERROR 'Undefined symbols"

0

When I run a file from the GAUSS (version 10) command line like this:

» run C:\gauss10\src\rmethods.src.src;

I get the following error:

Undefined symbols:
statchek C:\gauss10\src\rmethods.src.src(30)
v C:\gauss10\src\rmethods.src.src(579)

Can someone help guide me in the right direction?

asked April 12, 2014
admin
27

1 Answer

0

It looks like in your file rmethods.src.src there is a call to a GAUSS procedure or variable named statchek. GAUSS cannot find the definition of that variable or procedure.

Here are some ways that you can make GAUSS know about a procedure definition:

  1. Place the procedure definition in the file in which it is used.
  2. Place as the only contents in a file called my_procedure.g in your current working directory. (my_procedure needs to be replaced with the actual name of your GAUSS procedure.
  3. Add the procedure to a GAUSS library.

If your procedure is in a GAUSS library, then the library needs to be "active" or "loaded". You can load a library in GAUSS with the library statement like this:

//load a library named 'my_library'
library my_library;

Inside of the library file, is a reference to the procedure and file that it is in. It will look like this:

my_source_file.src
        myProcedure          : proc : 25

Or with a full path like this:

C:\path\to\my\file\my_source_file.src
        myProcedure          : proc : 25. 

You can open and look at the library file. It is just a text file. If the reference to your procedure contains the full path, then you need to make sure that your source file (my_source_file.src in the example above) is actually in the folder specified and that it does in fact contain the procedure in it. The 25 in these examples is the line number of the procedure. GAUSS does not demand that this is accurate.

If your library file does NOT contain a full path to the file, but just the file name instead, then the file needs to be in either:
A) Your current working directory
B) In your GAUSS SRC_PATH

Your GAUSS SRC_PATH is controlled by the src_path variable in your gauss.cfg file. (gauss.cfg is located in your GAUSSHOME directory). You can print your current GAUSS SRC_PATH with the command:

sysstate(22,0);

This will print out a semi-colon separated list of all paths in your SRC_PATH. It will be something like:

C:\gauss14\examples;C:\gauss14\src
aptech
342