Alter the scidb source code 15.7 doesn't work


Hi, there!
When I modify the source code “src\array\MemArray.cpp” and the function “MemArray::pinChunk(LruMemChunk& chunk)”. I modify all of “_sDebug” change from false to true.

static const bool _sDebug = true;


const bool _sDebug = true;


const bool _sDebug = true;

And I add

LOG4CXX_TRACE(logger, "*********Test output*******");

The code is here:

 void MemArray::pinChunk(LruMemChunk& chunk)
 static const bool _sDebug = true;
       if (_sDebug) {
             LOG4CXX_TRACE(logger, "PIN: chunk="<<(void*)&chunk
                            << ",  accessCount is " << chunk._accessCount
                            << "Array="<<(void*)this << ",  name '" << chunk.arrayDesc->getName());
     LOG4CXX_TRACE(logger, "*********Test output*******");

I recompilation the source code with

./ -h # to learn its usage.
./ setup -f  # to configure build directories and cmake infrastructure
./ make -j4 
./ install
./deployment/ build_fast /tmp/packages

Recompilation is 100% and no error. When I debug with GDB, run these query

iquery -aq "create array foo<val:double> [x=1:10,10,0]"
iquery -q " insert into foo '[(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)]'"

GDB has a warning

Source file is more recent than executable 

1. But I have already recompilated the source code, I don’t know why the warning happened?

(gdb) p _sDebug
$4 = false

2.The variable " _sDebug" is still false.

**3. And "LOG4CXX_TRACE(logger, "Test output")" "Test output " doesn’t output in “scidb.log”.

gcc version 4.4.7 20120313 (Red Hat 4.4.7-16)
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-83.el6)

I don’t know why. Please help me.


Try running cleanup before setup:

./ cleanup


When installed from binary packages, SciDB doesn’t use but instead is started and managed with /opt/scidb//bin/ . The script places compiled binaries in a stage/build/ subdirectory, and when you use “./ install” you are installing into stage/install/ . Your note doesn’t say you ran “./ start”, so I wonder… could it be that the executable from the binary packages, and not the one you built, is the one actually running? That would explain the Gdb message.


Hi, rares
I tried ./ cleanup, but it doesn’t work. Thank you.