Is it possible to install in a location other than the default? On my cluster I would like to install in /nfs/software, for example, so that all nodes can see the binaries. Wouldn’t this be possible with something like this?

nbest@ec2-107-20-87-150:~/scidb-$ export CMAKE_INSTALL_PREFIX=/nfs/software/scidb/11.06
nbest@ec2-107-20-87-150:~/scidb-$ cmake .
– CMAKE_INSTALL_PREFIX not Initialized to default keeping: /opt/scidb/11.06
. . .

Why is it not respecting my environment variable?



all internal cmake variables passed through switch -D, so right command will be:


Great. Thanks, Artyom, that helped me make some progress. Now I have the install step failing like this:

nbest@ec2-50-17-43-211:~/scidb-$ sudo make install
. . .
[100%] Built target operators
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /nfs/software/scidb/11.06/bin/scidb
-- Installing: /nfs/software/scidb/11.06/lib/
CMake Error at cmake_install.cmake:44 (FILE):
  file INSTALL cannot find

make: *** [install] Error 1

In case there are any clues here:

nbest@ec2-50-17-43-211:~/scidb-$ pwd
nbest@ec2-50-17-43-211:~/scidb-$ ls -a bin
.         csv2scidb     gen_matrix   packaging_only      scidbtestharness
..        data     plugins
benchGen  iquery  scidb 
nbest@ec2-50-17-43-211:~/scidb-$ find . -name "libscidb*"
nbest@ec2-50-17-43-211:~/scidb-$ find . -name "_libscidb*"

Can anyone guess what has gone wrong here? Could this have anything to do with the fact that I am changing the installation location? I doubt it, which means I probably should have started a new thread . . . Thanks.


Hmm, I think you don’t building python binding for SciDB, but install target expecting this. I remember I fixed that after releasing 11.06… As quick fix I suggest you two ways: (1) install SWIG2 and build SciDB with binding or (2) just remove/comment all python related install commands in install.cmake (you can see bunch of such lines right at the end of install.cmake).


Thanks for your comments. I think this explains in part my confusion related to the statement in the install guide about SWIG not having a pre-built package. I had package “swig” installed the first time around, then I removed it and installed “swig2.0” and did make clean; make but I still don’t see bin/ appearing in the build tree, so something is failing silently, I guess. I don’t really care about Python bindings (yet) so I will try your second suggestion and report back. I am building from source on Ubuntu 11.04 “Natty”, by the way.


CMake’s SWIG package trying find ‘swig’ executable, but in Ubuntu it renamed to ‘swig2.0’, use:

cmake -DSWIG_EXECUTABLE=/usr/bin/swig2.0 

to force cmake using right SWIG binary.
I’m using Natty too, so python binding must build if SWIG will be found.


That allowed me to move forward. Now I’m stuck here:

nbest@ec2-184-73-77-157:~$ initall scidb
Traceback (most recent call last):
  File "/nfs/software/scidb/11.06/bin/", line 382, in <module>
  File "/nfs/software/scidb/11.06/bin/", line 83, in parse_global_options
    for (key, value) in config.items(section_name):
  File "/usr/lib/python2.7/", line 339, in items
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'scidb'
nbest@ec2-184-73-77-157:~$ cat /nfs/software/scidb/11.06/etc/config.ini

“section” refers to the name in square brackets in config.ini, right? why would it be ignored? I don’t understand what is happening now.


I just reviewed script and found bug — it always using config by default from “/opt/scidb/…” despite prefix during building. Looks like you already installed some files to /opt and they was used. Use third argument for pointing to your config ( initiall scidb /path/to/config.ini). Also note this script need root for configuring postgresql catalog.