Changes between Version 63 and Version 64 of FAQ


Ignore:
Timestamp:
Jul 21, 2011, 2:53:03 PM (13 years ago)
Author:
Dimitar Misev
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v63 v64  
    11[[TracNav(TOC)]]
    22
    3 = How-To and FAQ =
     3= Rasdaman FAQ =
    44
    5 Here you find:
    6 [http://kahlua.eecs.jacobs-university.de/trac/rasdaman/wiki/FAQ#QuestionsandAnswers Questions and Answers]
    7 [http://kahlua.eecs.jacobs-university.de/trac/rasdaman/wiki/FAQ#SubmittingPatches Submitting Patches]
    8 
    9 
    10 You may want to consult these sources of information in addition:
    11    * [wiki:Install How to install]
     5Here you can find answers to some of the most frequently asked questions about `rasdaman`. If you have a question not answered on this page, you can ask it on the MailingLists. You may want to consult these sources of information in addition:
     6   * [wiki:Install Installation guide]
    127   * [wiki:RequiredPackages Further packages required]
    138   * [wiki:FormatsSupported Data formats supported]
    149
    15 == Questions and Answers ==
     10----
     11[[PageOutline(2-4,,inline)]]
     12----
    1613
    17 === Installation ===
    1814
    19  * '''Q: Using ''automake'' I get an error message "directory should not contain /" - what can I do?'''
     15== Installation ==
    2016
    21    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.
     17=== Using automake I get an error message "directory should not contain /" ===
    2218
    23  * '''Q: While installing rasdaman I find out, during ''./configure'', that some further packages are required. Can you give a summary of these?'''
     19 * Probably you have an outdated automake version installed, we have seen such problems with 1.7.9. Upgrade to at least 1.10.1.
    2420
    25    A: These are summarized on the [wiki:RequiredPackages] page.
     21=== While installing rasdaman I find out, during ''./configure'', that some further packages are required. Can you give a summary of these? ===
    2622
    27  * '''Q: Having done all the above, ''./configure'' complains about missing ''curses'' although ''ncurses'' is there.'''
     23 * These are summarized on the [wiki:RequiredPackages] page.
    2824
    29    A: You have run into a [http://bugs.gentoo.org/67481 bug in the ncurses package]; in /usr/lib, manually create symlinks ''libcurses.a -> libncurses.a'' and ''libcurses.so -> libncurses.so''.
     25=== ''./configure'' complains about missing ''curses'' ===
     26... although ''ncurses'' is there.
    3027
    31  * '''Q: configure complains that some required files, like install-sh, cannot be found.'''
     28 * You have run into a [http://bugs.gentoo.org/67481 bug in the ncurses package]; in /usr/lib, manually create symlinks ''libcurses.a -> libncurses.a'' and ''libcurses.so -> libncurses.so''.
    3229
    33     A: retry {{{./configure}}} after running
     30=== ''configure'' complains that some required files, like install-sh, cannot be found === 
     31
     32 * retry ''./configure'' after running
    3433{{{
    3534$ automake --add-missing
    3635}}}
    3736
    38  * '''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.".'''
     37=== make complains about missing Makefiles ===
     38...such as in the time/ directory, and issues error messages like "No rule to make target `../time/libtime.a', needed by `rasserver'.  Stop.".
    3939
    40     A: retry {{{./configure}}} after running
     40 * retry ''./configure'' after running
    4141{{{
    4242$ autoreconf
     
    4444}}}
    4545
    46  * '''Q: I get C++ compilation errors.'''
     46=== I get C++ compilation errors. ===
    4747
    48    A: Make sure you use the proper compiler version (see [wiki: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.
     48 * Make sure you use the proper compiler version (see [wiki: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.
    4949
    50 === PostgreSQL ===
     50== PostgreSQL ==
    5151
    52  * '''Q: I get a link error, function ECPGget_connection cannot be found.'''
     52=== I get a link error, function ECPGget_connection cannot be found ===
    5353
    54    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.
     54 * 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.
    5555
    56  * '''Q: I want to use a different version of PostgreSQL. Is that possible?'''
     56=== I want to use a different version of PostgreSQL. Is that possible? ===
    5757
    58    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!
     58 * 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!
    5959
    60  * '''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'' '''
     60=== When running the script "create_db.sh", I get !''AdminIf'' related error ===
     61...more specifically, ''Creating base RASBASE...Warning/error in AdminIf Connect: SQLSTATE: 08001 SQLCODE: -402''
    6162
    62    A: There are several possible reasons:
    63       '''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.)
    64 
    65       '''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
     63 * There are several possible reasons:
     64  1. '''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.)
     65  2. '''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
    6666{{{
    6767listen_addresses = 'localhost'
    6868}}}
    69 
    70       '''TCP-IP connection.''' If you have Postgres v7, set (uncomment) the following option:
     69  3. '''TCP-IP connection.''' If you have Postgres v7, set (uncomment) the following option:
    7170{{{
    7271tcpip_socket = true
    7372}}}
    7473
    75  * '''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"."'''
     74=== I get "wrong connect string" error when first running ''rasdl'' ===
     75When 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"
    7676
    77    A: There are several possible reasons:
    78       '''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!)
    79 
    80       '''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!)
     77 * There are several possible reasons:
     78  1. '''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!)
     79  2. '''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!)
    8180
    8281
    83 === Rasql queries ===
     82== Rasql queries ==
    8483
    85  * '''Q: This query doesn't work:'''
     84=== My query which uses ''log'' doesn't work ===
    8685{{{
    8786for c in (rgb) return encode(log(c.0), "jpeg")
    8887}}}
    8988
    90    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
     89 * 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
    9190{{{
    9291for c in (rgb) return count(c.0 = 0)
    9392}}}
    94 
    95    '''''Solution''''' : Add 1 to the input:
     93 '''''Solution''''' : Add 1 to the input:
    9694{{{
    9795for c in (rgb) return encode(log(c.0+1), "jpeg")
    9896}}}
    9997
    100  * '''Q: When using division "/" as an induced operation I get integer results instead of floats.'''
     98=== When using division "/" as an induced operation I get integer results instead of floats. ===
    10199
    102    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.
     100 * 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.
    103101
    104  * '''Q: This insert query produces error 821 (cell type mismatch) although I provide a TIFF file with correct pixel type:'''
     102=== My insert query produces error 821 (cell type mismatch) ===
     103... although I provide a TIFF file with correct pixel type:
    105104{{{
    106105insert into FloatCollection values inv_tiff( $1 )
    107106}}}
    108107
    109    A: You need to provide an explicit cast (see section 9.8 in the Rasql Guide); a correct phrasing of this query is:
     108 * You need to provide an explicit cast (see section 9.8 in the Rasql Guide); a correct phrasing of this query is:
    110109{{{
    111110insert into FloatCollection values (float) inv_tiff( $1 )
    112111}}}
    113112
    114  * '''Q: How does the Storage Layout Language work?'''
     113=== How does the Storage Layout Language work? ===
    115114
    116    A: See [http://kahlua.eecs.jacobs-university.de/trac/rasdaman/attachment/wiki/FAQ/sstdm2010.pdf this description] while the manual is not yet updated.
     115 * See [http://kahlua.eecs.jacobs-university.de/trac/rasdaman/attachment/wiki/FAQ/sstdm2010.pdf this description] while the manual is not yet updated.
    117116
    118117
     118== Rasj and Java ==
    119119
    120 === Rasj and Java ===
     120=== Overflow when unsigned bytes are retrieved with rasj ===
     121If I send the query ''select max_cells(c.0) from rgb as c'' via command line (rasql utility), then the result is 255 as expected; if I send this query via RasJ, then the result is -1.
    121122
    122  * '''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.'''
     123 * 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 2^8 if the 2^7 bit is set. Tested, works.
    123124
    124    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 2^8 if the 2^7 bit is set. Tested, works.
     125=== I get class version incompatibility error messages ===
     126I 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".
    125127
    126  * '''Q: Using ''automake'' on petascope I get an error message "directory should not contain /" - what can I do?'''
    127 
    128    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.
    129 
    130  * '''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".'''
    131 
    132    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.
     128 * 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.
    133129
    134130
    135 === WCPS ===
     131== Data formats ==
    136132
     133=== HDF4 is said to be supported, but rasdaman reports an error ===
     134...when trying to use ''hdf()'' or ''inv_hdf()'' - what can I do?
    137135
    138 
    139 === Data formats ===
    140 
    141  * '''Q: HDF4 is said to be supported, but rasdaman reports an error when trying to use ''hdf()'' or ''inv_hdf()'' - what can I do?'''
    142 
    143    A: HDF4 needs to be compiled in explicitly. Re-generate rasdaman saying
     136 * HDF4 needs to be compiled in explicitly. Re-generate rasdaman saying
    144137{{{
    145138$ autoreconf;
     
    148141
    149142
    150 === Submitting Patches ===
     143== Submitting Patches ==
    151144
    152 '''Q: I want to submit a patch, how do I do this?
     145=== I want to submit a patch, how do I do this? ===
    153146
    154 A: Follow these steps:
    155   1. Set your credentials:
     147 1. Set your credentials in your system:
    156148{{{
    157149$ git config user.name "Konstantin Kozlov"
    158150$ git config user.email ...
    159151}}}
    160   2. When you commit your changes to your local copy put a meaningful message:
     152 2. When you commit your changes to your local copy put a meaningful message:
    161153{{{
    162154$ git commit -a -m "commit message"
    163155}}}
    164   3. Then you can make the patch, e.g:
     156 3. Then you can make the patch, e.g:
    165157{{{
    166158$ git-format-patch HEAD~1
    167159}}}
     160 4. Finally submit your patch to the [http://kahlua.eecs.jacobs-university.de/trac/rasdaman/patchmanager rasdaman patchmanager]