Installation/Compilation problems: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(7 intermediate revisions by 2 users not shown)
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 ==
=== MacOS 10.11 (El Capitan) openssl errors ===  


=== How to recover from a corrupted ODB ===
Starting with version 10.11, MacOS has removed the openssl header files (they have been apparently deprecated for a while).    This causes a compiler error when trying to build the mongoose web server that MIDAS uses:


* Stop your front-ends, mlogger, mhttpd, etc.
<pre>
* Remove the shared memory associated to ODB buffer. Find the shared memory segment by doing
gcc -c -g -O2 -Wall <snip> src/mongoose.c
  ls -l /dev/shm
src/mongoose.c:322:10: fatal error: 'openssl/ssl.h' file not found
then remove the segment that will be something like /dev/shm/*_test_ODB_SHM
#include <openssl/ssl.h>
* Move the old ODB
</pre>
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 [[ODB#Save and reload the ODB|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.


In order to fix this you need to install the openssl libraries using MacPorts.  If you haven't used MacPorts, the instructions would be


[[Category:Contents]]
# Install MacPorts using [https://www.macports.org/install.php MacPorts Installation Guide]
# Install the openssl library
<pre>
sudo port install openssl
</pre>
Once you've done that the installation will work correctly.
 
 
[[Category:Installation]] [[Category:Troubleshooting]]

Latest revision as of 16:14, 20 November 2018


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.

MacOS 10.11 (El Capitan) openssl errors

Starting with version 10.11, MacOS has removed the openssl header files (they have been apparently deprecated for a while). This causes a compiler error when trying to build the mongoose web server that MIDAS uses:

gcc  -c -g -O2 -Wall <snip> src/mongoose.c
src/mongoose.c:322:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>

In order to fix this you need to install the openssl libraries using MacPorts. If you haven't used MacPorts, the instructions would be

  1. Install MacPorts using MacPorts Installation Guide
  2. Install the openssl library
sudo port install openssl

Once you've done that the installation will work correctly.