Unable to install GranOO

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Unable to install GranOO

arun15
Hi,
While installing this on my mac, I am getting this error. I followed each and every step as provided by the installation procedure.
CMake Error at /Users/hitesharunagiri/Desktop/granoo/tags/3.0/Tool/GddViewer/CMakeLists.txt:45 (find_package):
  By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!

Can you please provide the solution for this.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Hi,

Looks like there is an error (or at leat a missing update) in the install tutorial.

GranOO relies on Qt5, but the command
brew install qt
 actually installs Qt6.
Try installing Qt5 by issuing this command:
brew install qt@5

Since Qt5 is an old version, from the Homebrew point of view, you also need to manually symlink some stuff (you may need to adjust paths and version):

ln -s /opt/homebrew/Cellar/qt@5/5.15.12_1/mkspecs /opt/homebrew/
ln -s /opt/homebrew/Cellar/qt@5/5.15.12_1/plugins /opt/homebrew/
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
I am extremely thankful for your reply. I tried it, and it works. But now, I am facing a new issue.
While specifying the "make" command, I am getting the following error,
/Users/hitesharunagiri/desktop/granoo/tags/3.0/Lib/GranOO3/Core/Domain.cpp:35:10: fatal error: 'boost/filesystem/convenience.hpp' file not found
#include <boost/filesystem/convenience.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [Lib/CMakeFiles/GranOO3.dir/GranOO3/Core/Domain.cpp.o] Error 1
make[1]: *** [Lib/CMakeFiles/GranOO3.dir/all] Error 2
make: *** [all] Error 2
But I have installed Boost 1.85 on my PC.
{
hitesharunagiri@Hiteshs-MacBook-Pro build % brew info boost
==> boost: stable 1.85.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
Installed
/opt/homebrew/Cellar/boost/1.85.0 (16,160 files, 510.6MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-05-07 at 21:55:47
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/b/boost.rb
License: BSL-1.0
==> Dependencies
Required: icu4c ✔, xz ✔, zstd ✔
==> Options
--HEAD
        Install HEAD version
==> Analytics
install: 64,840 (30 days), 173,036 (90 days), 597,630 (365 days)
install-on-request: 32,667 (30 days), 87,348 (90 days), 298,821 (365 days)
build-error: 18 (30 days)
}
Please provide me with a solution. I apologise for the inconvenience caused, as I am new to using the terminal.  
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Looks like there is a change in Boost 1.85 (GranOO compiles fine with 1.84).
See for instance the issue in this project: https://github.com/EttusResearch/uhd/issues/740
They fixed the error by simply removing the include line:

#include <boost/filesystem/convenience.hpp>

Please test and let us know.

Regards
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
After deleting the #include line in the domain.cpp, I am getting the following error,
hitesharunagiri@Hiteshs-MacBook-Pro build % make          
[  0%] Built target embedfile
[  0%] Building CXX object Lib/CMakeFiles/GranOO3.dir/GranOO3/Core/Domain.cpp.o
/Users/hitesharunagiri/desktop/granoo/tags/3.0/Lib/GranOO3/Core/Domain.cpp:64:20: error: no member named 'branch_path' in 'boost::filesystem::path'
        dir = file.branch_path();
              ~~~~ ^
/Users/hitesharunagiri/desktop/granoo/tags/3.0/Lib/GranOO3/Core/Domain.cpp:79:24: error: no member named 'leaf' in 'boost::filesystem::path'
      << " in " << dir.leaf() << granoo::endl;
                   ~~~ ^
/Users/hitesharunagiri/desktop/granoo/tags/3.0/Lib/GranOO3/Core/Domain.cpp:126:20: error: no member named 'branch_path' in 'boost::filesystem::path'
        dir = file.branch_path();
              ~~~~ ^
/Users/hitesharunagiri/desktop/granoo/tags/3.0/Lib/GranOO3/Core/Domain.cpp:172:20: error: no member named 'branch_path' in 'boost::filesystem::path'
        dir = file.branch_path();
              ~~~~ ^
4 errors generated.
make[2]: *** [Lib/CMakeFiles/GranOO3.dir/GranOO3/Core/Domain.cpp.o] Error 1
make[1]: *** [Lib/CMakeFiles/GranOO3.dir/all] Error 2
make: *** [all] Error 2
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
There is more job than expected...
The most simple for you is to install an earlier version of Boost.
I will work with the team to support Boost 1.85 in GranOO in a future release.

Best regards
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
Can you guys tell me which version of Boost is most suitable for GranOO? I installed Boost version 1.76 but still had some issues. If you could specify the version, I could try installing it.

Thanks.

Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
What kind of issue ?
As I said earlier, GranOO compiles fine with 1.84 on my Mac.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
I had installed boost version 1.84 on my mac. After the "make" command, and after reaching 58%, it is showing this error,
/Users/hitesharunagiri/Desktop/granoo/tags/3.0/Lib/GranOO3/3rdParty/Eigen/src/CholmodSupport/CholmodSupport.h:195:163: error: no matching function for call to 'cholmod_l_factorize_p'
inline int  cm_factorize_p<long> (cholmod_sparse*  A, double beta[2], long* fset,          std::size_t fsize, cholmod_factor* L, cholmod_common &Common) { return cholmod_l_factorize_p (A, beta, fset, fsize, L, &Common); }
                                                                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/include/suitesparse/cholmod.h:2700:5: note: candidate function not viable: no known conversion from 'long *' to 'int64_t *' (aka 'long long *') for 3rd argument
int cholmod_l_factorize_p (cholmod_sparse *, double *, int64_t *, size_t,
    ^
6 warnings and 1 error generated.
make[2]: *** [Lib/CMakeFiles/GranOO3.dir/GranOO3/PlugIn/StaticSolve.cpp.o] Error 1
make[1]: *** [Lib/CMakeFiles/GranOO3.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
nevermind that, i was able to solve that issue.
At the end of the make stage, at 99%, I am getting this error,

clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Binding/Python/libPyGranOO3.so] Error 1
make[1]: *** [Binding/Python/CMakeFiles/libPyGranOO3.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %

Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
To give you more detailed information, i faced 2 errors while compiling, the first one was the one given above, where
/Users/hitesharunagiri/Desktop/granoo/tags/3.0/Lib/GranOO3/3rdParty/Eigen/src/CholmodSupport/CholmodSupport.h:195:163: error: no matching function for call to 'cholmod_l_factorize_p'
inline int  cm_factorize_p<long> (cholmod_sparse*  A, double beta[2], long* fset,          std::size_t fsize, cholmod_factor* L, cholmod_common &Common) { return cholmod_l_factorize_p (A, beta, fset, fsize, L, &Common); }
                                                                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/include/suitesparse/cholmod.h:2700:5: note: candidate function not viable: no known conversion from 'long *' to 'int64_t *' (aka 'long long *') for 3rd argument
int cholmod_l_factorize_p (cholmod_sparse *, double *, int64_t *, size_t,
    ^
6 warnings and 1 error generated.
make[2]: *** [Lib/CMakeFiles/GranOO3.dir/GranOO3/PlugIn/StaticSolve.cpp.o] Error 1
make[1]: *** [Lib/CMakeFiles/GranOO3.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %

where i changed
inline int cm_factorize_p(cholmod_sparse* A, double beta[2], long* fset, std::size_t fsize, cholmod_factor* L, cholmod_common& Common) {
    return cholmod_l_factorize_p(A, beta, reinterpret_cast<long long*>(fset), fsize, L, &Common);
}
"reinterpret_cast<long long*>(fset)" in the /Users/hitesharunagiri/Desktop/granoo/tags/3.0/Lib/GranOO3/3rdParty/Eigen/src/CholmodSupport/CholmodSupport.h file.


Second,
/Users/hitesharunagiri/Desktop/granoo/tags/3.0/Tool/Cooker/PlugIn_StopFill.cpp:55:32: error: implicit instantiation of undefined template 'boost::array<std::string, 3>'
  boost::array<std::string, 3> val = { {"Cardinality", "Compacity", "ElementNumber"} };
                               ^
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:56:11: note: template is declared here
    class array;
          ^
2 warnings and 1 error generated.
make[2]: *** [Tool/Cooker/CMakeFiles/cooker.dir/PlugIn_StopFill.cpp.o] Error 1
make[1]: *** [Tool/Cooker/CMakeFiles/cooker.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %

where i added #include <boost/array.hpp> in the /Users/hitesharunagiri/Desktop/granoo/tags/3.0/Tool/Cooker/PlugIn_StopFill.cpp file.

After adding the two changes, I didnt face any errors, untill at the end, i faced the clang error. Is it due to the python version perhaps?
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Hi,

Just add this line:

#include <boost/array.hpp>

on top of the PlugIn_StopFill.cpp file. This should fix the error.

Best regards
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
I fixed that error too. At the end of the processes, after 99% of the make command, I am getting this error,

clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Binding/Python/libPyGranOO3.so] Error 1
make[1]: *** [Binding/Python/CMakeFiles/libPyGranOO3.dir/all] Error 2
make: *** [all] Error 2
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Sorry, I missed your last comment.

For this error, please print the error (missing library, etc...) that should be mentioned by the linker a few line above.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
After this line,
[ 85%] Linking CXX shared library libPyGranOO3.so
There was a enormous set of lines which didn't show any error or missing libraries, and after which I was shown the clang error. I have created a doc where I attached all the lines.

https://docs.google.com/document/d/12hbLjzLUWAzLkbaSPvnx3lJZ70y5_95rxrQ7UeyU3qQ/edit?usp=sharing

Please go through it.

Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
Any updates regarding this issue?

Regards.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Hi,

I've fixed the issues with the latest Boost version (currently 1.85).
Please find below a link to download an archive of the current state of the developments.

By the way, I can't reproduce your last issue. I hope this update also fixes this problem.
Please tell us if this works.

Thanks,
Regards.

https://filesender.renater.fr/?s=download&token=325f7a3b-7b21-439e-85d1-1af16a2497ef
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
I had re-installed boost 1.85, and ran the installation steps. I had replaced the Lib folder in my system, from the archive folder given, to solve most of the errors. But after some processing from the make command, I am getting this error,
[ 64%] Linking CXX executable granoo3
ld: warning: ignoring duplicate libraries: '-ldl', '-lm'
ld: Undefined symbols:
  GranOO3::DEM::Plate::Plate(GranOO3::DEM::Element&, GranOO3::DEM::Element&, GranOO3::DEM::Element&), referenced from:
      GranOO3::DEM::Domain::load_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in libGranOO3.a[94](Domain.cpp.o)
  GranOO3::Core::SetOf<GranOO3::DEM::Plate>::get(), referenced from:
      GranOO3::DEM::Domain::save_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) const in libGranOO3.a[94](Domain.cpp.o)
      GranOO3::DEM::Domain::save_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) const in libGranOO3.a[94](Domain.cpp.o)
      GranOO3::DEM::Domain::load_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in libGranOO3.a[94](Domain.cpp.o)
      GranOO3::DEM::Domain::load_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in libGranOO3.a[94](Domain.cpp.o)
  GranOO3::Core::SetOf<GranOO3::DEM::Plate>::pull(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&), referenced from:
      GranOO3::DEM::Domain::load_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in libGranOO3.a[94](Domain.cpp.o)
  GranOO3::Core::SetOfMap<GranOO3::DEM::Plate>::map(), referenced from:
      GranOO3::DEM::Domain::save_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) const in libGranOO3.a[94](Domain.cpp.o)
  GranOO3::Core::SetOfMap<GranOO3::DEM::Plate>::SetOfMap(), referenced from:
      GranOO3::DEM::Domain::save_roga(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) const in libGranOO3.a[94](Domain.cpp.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Tool/GranOO/granoo3] Error 1
make[1]: *** [Tool/GranOO/CMakeFiles/granoo.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %

Please help me resolve this.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

Cédric Hubert
Administrator
Please clear your build directory, reconfigure using CMake and then make.
It should work fine, like I just tested from a fresh build directory.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to install GranOO

arun15
Hi,
I was able to solve the previous issue, but unfortunately, at the end of the process I am facing the same error as I was facing when working with Boost 1.84(see message on May 31).

clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Binding/Python/libPyGranOO3.so] Error 1
make[1]: *** [Binding/Python/CMakeFiles/libPyGranOO3.dir/all] Error 2
make: *** [all] Error 2
hitesharunagiri@Hiteshs-MacBook-Pro build %

While cmake, I get this output,

hitesharunagiri@Hiteshs-MacBook-Pro build % cmake ../CMake
-- Found Boost: /opt/homebrew/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.53.0") found components: chrono program_options serialization regex system filesystem iostreams thread
-- VTK_VERSION: 9.3.0
-- VTK Libraries: VTK::CommonCore;VTK::CommonDataModel;VTK::CommonExecutionModel;VTK::CommonTransforms;VTK::FiltersCore;VTK::FiltersGeneral;VTK::FiltersSources;VTK::IOXML
-- Found AMD headers in: /opt/homebrew/include/suitesparse
-- Found AMD library: /opt/homebrew/lib/libamd.dylib
-- Found CAMD headers in: /opt/homebrew/include/suitesparse
-- Found CAMD library: /opt/homebrew/lib/libcamd.dylib
-- Found COLAMD headers in: /opt/homebrew/include/suitesparse
-- Found COLAMD library: /opt/homebrew/lib/libcolamd.dylib
-- Found CCOLAMD headers in: /opt/homebrew/include/suitesparse
-- Found CCOLAMD library: /opt/homebrew/lib/libccolamd.dylib
-- Found CHOLMOD headers in: /opt/homebrew/include/suitesparse
-- Found CHOLMOD library: /opt/homebrew/lib/libcholmod.dylib
-- Found SUITESPARSEQR headers in: /opt/homebrew/include/suitesparse
-- Found SUITESPARSEQR library: /opt/homebrew/lib/libspqr.dylib
-- Did not find Intel TBB library, assuming SuiteSparseQR was not compiled with TBB.
-- Found SUITESPARSE_CONFIG headers in: /opt/homebrew/include/suitesparse
-- Found SUITESPARSE_CONFIG library: /opt/homebrew/lib/libsuitesparseconfig.dylib
-- Found METIS library: /opt/homebrew/lib/libmetis.dylib
CMake Warning (dev) at /Users/hitesharunagiri/desktop/granoo/tags/3.0/Binding/Python/CMakeLists.txt:45 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /Users/hitesharunagiri/desktop/granoo/tags/3.0/Binding/Python/CMakeLists.txt:46 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /opt/homebrew/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0")
-- Could NOT find Boost: missing: python312 (found /opt/homebrew/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0"))
-- Configuring done (0.8s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/hitesharunagiri/desktop/granoo/tags/3.0/build
hitesharunagiri@Hiteshs-MacBook-Pro build %


I guess this line"-- Could NOT find Boost: missing: python312 (found /opt/homebrew/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0"))" is what is causing the problem?

Note-"I was facing a lot of issues while compiling with boost 1.85, so i had to copy paste the lib folder and the python binding folder from the archive to my system, whoch solved the problems"
12