Installation/Compilation problems: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
m (Suz moved page Common problems & Debugging recipes to Installation/Compilation problems: split page and move to category "Installation")
mNo edit summary
Line 36: Line 36:
Unless you care about this functionality, the easiest solution is to unset the environment variable CERNLIB before compiling.
Unless you care about this functionality, the easiest solution is to unset the environment variable CERNLIB before compiling.


== Usage Problems ==
[[Recovery from Corrupted ODB]]


=== How to recover from a corrupted ODB ===
=== How to recover from a corrupted ODB ===
Line 55: Line 55:




[[Category:Contents]]
[[Category:Installation]]

Revision as of 14:45, 10 November 2015


Installation/Compilation Problems

SSL certificate errors

At some sites you might get a SSL server certificate error during the git clone operation, like

error: SSL certificate problem, verify that the CA cert is OK. Details:

This indicates that you don't have the proper certificate authority (CA) files installed on your computer. Possible solutions:

  • The easiest way out is to tell git to ignore the SSL verification with
 git config --global http.sslVerify false
  • Set the environment variable GIT_SSL_NO_VERIFY=true.
  • But the best solution is to just actually install the correct certificate authority files.

CERNLIB Errors

There are some older analyzer programs included in MIDAS that use PAW/HBOOK. MIDAS will try to build these programs if you have the CERNLIB environment variable set. This may cause errors trying to build mana.cxx, like

gcc  -Dextname -DHAVE_HBOOK -c -g -O2 -Wall -Wno-strict-aliasing -Wuninitialized -Iinclude -Idrivers -I../mxml -I./mscb 
-DHAVE_FTPLIB -D_LARGEFILE64_SOURCE -DHAVE_ROOT -pthread -m64 -I/usr/local/packages/root-5.32/include/root -DHAVE_ZLIB 
-DHAVE_MSCB -DOS_LINUX -fPIC -Wno-unused-function -o linux/lib/hmana.o src/mana.cxx
src/mana.cxx: In function 'INT book_ntuples()':
src/mana.cxx:791: error: invalid conversion from 'const void*' to 'void*'

Unless you care about this functionality, the easiest solution is to unset the environment variable CERNLIB before compiling.

Recovery from Corrupted ODB

How to recover from a corrupted ODB

  • Stop your front-ends, mlogger, mhttpd, etc.
  • Remove the shared memory associated to ODB buffer. Find the shared memory segment by doing
ls -l /dev/shm

then remove the segment that will be something like /dev/shm/*_test_ODB_SHM

  • Move the old ODB
cd online
mv .ODB.SHM .ODB.SHM.BAD
  • Restart ODB with larger size
odbedit -s 100000000
  • Reload the last saved ODB dump you have (see save and reload the ODB). These dumps are typically called something like 'online/history/*.xml'.

So from odbedit you do something like

odbedit> load history/run00071.xml
  • OK, now your ODB should be fixed.