Installation Errors: Needed Help Please :-)
Hi NetTax Team, I am trying to install NetRax on my server and I am not in the sudo-er list. I installed the dependencies manual and I attached a txt file to list the versions for each dependencies. However, I always got error 2 when installing NetRax. I also attached my terminal_saved_output.txt to this message. The end of the output shows the exact error I got each time. I really hope to use NetRax for my research and would appreciate any help. [ Dependencies.txt ](url)
Dear bingli8899,
In Terminal_Saved_Output.txt file I noticed significant challenges with setting the correct paths for the gcc/g++ versions. In your initial configuration/building attempt, CMAKE detected GNU version 4.8.5 for both C and C++ compiler, which is quite old for the Netrax tool. You then attempted to reset the path variables and reconfigure, but CMake still failed to locate the correct files. This is likely because CMake cached paths and variables from the initial execution.
In general, if you try to reset the path variables and the initial configuration error persists, it may be due to conflicting information in the cache. In such cases, it's helpful to clear the cache. You can do this by either by deleting CMakeCache.txt file (inside the build/ directory), or by running cmake with the -U option to unset specific variables or using -DCMAKE_CACHE_VARIABLE_TO_CLEAR=.... In any case, if those configuration errors persist after clearing the cache, an effective solution would be to delete the entire build/ directory and start again.
Regarding the building error:
/home/bli283/local/include/mpfr.h:885:64: error: no matching function for call to ‘mpfr::mpreal::mpfr_srcptr(mpfr_srcptr)
I found a similar issue to yours on Stack Overflow: https://stackoverflow.com/questions/67756873/why-does-gcc-misinterpret-this-macro
The mpreal class is likely expecting a specific type or signature for mpfr_srcptr, but the provided call does not match any available overloads. This can occur due to:
- Version Mismatch: The MPFR library version used in your system does not match the version expected by the code being compiled (this seems unlikely in your case).
- Header/Library Conflicts: Multiple installations of MPFR may exist on your system, causing the wrong header or library to be included/linked (also less likely here)
- Incorrect Compiler or C++ Standard: The MPFR C++ wrapper may rely on specific compiler versions or C++ standards. Given your use of GCC 13.x, I suspect this is the most probable cause. NetRAX was implemented a few years ago and may have been tested on earlier compiler versions.
I recommend downgrading your GCC version to one that aligns with the period when NetRAX was developed—perhaps versions 12.x, 11.x, or even 8.x. These versions are more likely to be compatible with the code.
I noticed the (base) environment in your terminal, which suggests you might be using Conda. If so, you could consider using it to install the prerequisite packages for NetRAX. Conda can be useful if you need to alternate between different versions of dependencies or compilers without requiring sudo rights. This might help streamline your setup process.
Let me know if this helps. If you still encounter issues installing NetRAX on your server, I’m happy to try setting it up on the cluster that I'm working, and provide a working configuration for you.