wiki:FAQ

Version 62 (modified by Dimitar Misev, 13 years ago) ( diff )

How-To and FAQ

Here you find: Questions and Answers Submitting Patches

You may want to consult these sources of information in addition:

Questions and Answers

Installation

  • Q: Using automake I get an error message "directory should not contain /" - what can I do?

A: Probably you have an outdated automake version installed, we have seen such problems with 1.7.9. Upgrade to at least 1.10.1.

  • Q: While installing rasdaman I find out, during ./configure, that some further packages are required. Can you give a summary of these?

A: These are summarized on the RequiredPackages page.

  • Q: Having done all the above, ./configure complains about missing curses although ncurses is there.

A: You have run into a bug in the ncurses package; in /usr/lib, manually create symlinks libcurses.a → libncurses.a and libcurses.so → libncurses.so.

  • Q: configure complains that some required files, like install-sh, cannot be found.

A: retry ./configure after running

$ automake --add-missing
  • Q: 'make' complains about missing Makefiles, such as in the time/ directory, and issues error messages like "No rule to make target ../time/libtime.a', needed by rasserver'. Stop.".

A: retry ./configure after running

$ autoreconf
$ automake
  • Q: I get C++ compilation errors.

A: Make sure you use the proper compiler version (see RequiredPackages). GNU folks have a relaxed view on backwards compatibility even with minor release changes, and we have experienced problems related to this in the past.

PostgreSQL

  • Q: I get a link error, function ECPGget_connection cannot be found.

A: What appears to have happened is that in PostgreSQL 8.3.0 they removed ECPGget_connection and they have reintroduced it by 8.3.7. So PostgreSQL versions 8.3.0 up to (but excluding) 8.3.7 cannot be used.

  • Q: I want to use a different version of PostgreSQL. Is that possible?

A: You need to include a different JDBC postgresql driver (as a JAR) in the libraries folder and update the Makefile as needed. Then you can try out another PostgreSQL version, it may or may not work. Let us know your experiences to update this information!

  • Q: When running the script "create_db.sh", I get the following error message: Creating base RASBASE…Warning/error in AdminIf Connect: SQLSTATE: 08001 SQLCODE: -402

A: There are several possible reasons:

Execution permissions. Run the script as the user owning the postgresql processes. Use only that user for further work with rasdaman (see Installation Guide). If you use Ubuntu and installed postgres with apt-get, then logging in as user postgres is an option; I personally like to have a separate user rasdaman for this purpose where I also can set paths etc. to the executables once and for all. (The postgres db does not allow full access to rasdaman tools, because they do not run under the administrative user that launched the db server process.)

Blocked incoming connections. Another cause of the problem might be that postgres does not allow incoming connections. If you have Postgres v8 or more recent, modify file "postgresl.conf" and set (uncomment) the option

listen_addresses = 'localhost'

TCP-IP connection. If you have Postgres v7, set (uncomment) the following option:

tcpip_socket = true
  • Q: When I first try to run rasdl (or the rasdaman server, for that matter) against PostgreSQL after installation, the log says "server ok" but "wrong connect string"."

A: There are several possible reasons:

Port: Running a database cluster on a separate port requires proper setting of environment variable PGPORT to allow for communication between rasdaman and PostgreSQL. (thanks to Mario Uhlig!)

Socket directory: using '/var/lock/postgresql' as socket directory makes rasdl fail for a reason still to be found. Switching back to the default socket dir '/var/run/postgresql' resolves the issue. (thanks to Alexander Herzig!)

Rasql queries

  • Q: This query doesn't work:
    for c in (rgb) return encode(log(c.0), "jpeg")
    

A: The log function needs positive numbers as arguments, and will return -Infinity if the argument is 0. You need to make sure that the input does not contain any zeros. You can check that using the query

for c in (rgb) return count(c.0 = 0)

Solution : Add 1 to the input:

for c in (rgb) return encode(log(c.0+1), "jpeg")
  • Q: When using division "/" as an induced operation I get integer results instead of floats.

A: Division of two integers yields an integer. If you want to have a float result then you need to cast the operands (that is: at least one of them) to float or double.

  • Q: This insert query produces error 821 (cell type mismatch) although I provide a TIFF file with correct pixel type:
    insert into FloatCollection values inv_tiff( $1 )
    

A: You need to provide an explicit cast (see section 9.8 in the Rasql Guide); a correct phrasing of this query is:

insert into FloatCollection values (float) inv_tiff( $1 )
  • Q: How does the Storage Layout Language work?

A: See this description while the manual is not yet updated.

Rasj and Java

  • Q: Aggregation result from select max_cells(c.0) from rgb as c: If I send this query via command line (rasql utility), then the result is 255 as expected; if I send this query via RasJ, then the result is -1.

A: Java does not have an 8-bit unsigned data type. Byte is a signed 8 bit and hence 255 is represented as -1. What you can do is to transform bytes to char by adding 28 if the 27 bit is set. Tested, works.

  • Q: Using automake on petascope I get an error message "directory should not contain /" - what can I do?

A: Probably you have an outdated automake version installed, we have seen such problems with 1.7.9. Upgrade to at least 1.10.1.

  • Q: I get weird error messages from the Java runtime system which seems to hint at class version incompatibilities, such as "Class version error" or "Class not found".

A: There might be a conflict with the locally provided libraries, to be found at directory $PETASCOPE/lib. Check them, and if you find a mismatch then remove them and use the resp. libraries of your local installation instead. Alternatively, consider upgrading your Java SDK to version 1.6.

WCPS

Data formats

  • Q: HDF4 is said to be supported, but rasdaman reports an error when trying to use hdf() or inv_hdf() - what can I do?

A: HDF4 needs to be compiled in explicitly. Re-generate rasdaman saying

$ autoreconf;
$ ./configure --with-hdf4 ...other options...

Submitting Patches

  • Q: I want to submit a patch, how do I do this?

A: Follow these steps:

  1. Set your credentials:
    $ git config user.name "Konstantin Kozlov"
    $ git config user.email ...
    
  2. When you commit your changes to your local copy put a meaningful message:
    $ git commit -a -m "commit message"
    
  3. Then you can make the patch, e.g:
    $ git-format-patch HEAD~1 
    

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.