-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extra BSG dependencies #3
Comments
Dear Jessie, Sorry for the delay. Let me give you some background which might make things clearer from the getgo. Going from code to executable in C++ requires two steps: compilation and linking. A critical step of compilation is checking that all variables, functions, classes, etc which are invoked somewhere are properly defined. In order to do this the compiler needs to know how these are all defined, meaning it needs access to the appropriate header files. Typically, you need to tell the compiler what folder(s) it can find all the files in. Second step is linking, which combines everything into an executable by pulling in already-compiled & linked code and folding in the actual functionality, in contrast with simply making sure all definitions are compatible in the compilation step. CMake is a way of automating this build process, in part by making it OS-independent and by relegating the responsibility of making sure the correct folders are defined to the packages that you're pulling in. That what's a FindXXXX.cmake file does: it defines (at least) two variables: where to find the header files for compilation (XXXX_INCLUDE_DIR) and where to find library files (.so on Linux, .dll on Windows for shared libraries) (XXX_LIBRARIES). Now, to get to this package specifically: BSG stands for Beta Spectrum Generator and refers to this package: https://github.com/leenderthayen/BSG. It calculates allowed beta spectra to high precision. The combination with this package is currently not functional on the master branch, and only experimental on the development branch. This is still a WIP with a substantial overhaul of CRADLE, BSG and other packages, which has halted right now in the face of a lot of other work. If you absolutely need this, I can put it higher on the priority list. |
Dear Leendert, Thank you for the background! I think I'm still confused on why my machine thinks it is required. Should I go into the cmake list and remove it manually to resolve the issue, or should I install? |
It's probably easiest to comment out the find_package line in the CMakeLists.txt file, and try rebuilding that way. Note that the beta spectra are then not of the highest quality, since it's only the phase space and Fermi function. |
Dear Leendert, I took out the line after some digging but another error came up leading to a ".o." |
Hi Jessie, This looks like somehow a piece of the code is still trying to load some BSG files, specifically BSGOptionContainer.h and it's not able to find it due since we're not telling CMake to include it. What's the extended error message? I'll take a look at a clean master branch build and fix things, but in the mean time it's likely easiest to just have a zoom chat for getting you set up. |
That would be perfect! what would be the best way to exchange contact information? I prefer not to put my email out on public platforms. Thank you again for your help! |
Before I continue I would like to preface this with I am very new to Linux-based C++, and I don't really have an intuition for it just yet.
However, I was trying to run the cmake and I was returned with
CMake Error at source/CMakeLists.txt:21 (find_package): By not providing "FindBSG.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "BSG", but CMake did not find one.
I installed and build all of the other dependencies for this(geant4, boost, gsl ) so I thought it may be something in there. Where should I start resolving this issue? Thank you for your time
The text was updated successfully, but these errors were encountered: