GeoscienceAustralia / ginan

The Australian Government, through Positioning Australia (part of Geoscience Australia), is funding the design, development and operational service of a Global Navigation Satellite System (GNSS) position correction system - the Ginan service and toolkit. The application of the Ginan correction service by a GNSS device has the potential to increase positioning accuracy from meters to centimetres across Australia. The suite of software systems in this repository (the Ginan toolkit) will be used to create the service. It is available now under an open source licence. Ginan will give individuals and organisations no-cost access to the Ginan software and service as a public good.
https://geoscienceaustralia.github.io/ginan/
Other
210 stars 100 forks source link

Installation Challenge — MongocxxConfig #35

Closed Waley04 closed 1 year ago

Waley04 commented 1 year ago

Greetings Developers,

I am very impressed with the level of detail and thought that has gone into its Ginan Software.

However, I am writing to report an issue that we have encountered during the installation process. I have followed the installation instructions provided, but I am unable to complete the installation successfully. Here is the error message as shown in the screenshot.

image

  1. System: Linux
  2. Issue: CMake Error at CMakeLists.txt:154 (find_package)

I have tried to troubleshoot the issue on my own (by following similar in this repository), but I have been unable to find a solution.

I would appreciate your assistance in resolving this matter as soon as possible, as I am eager to continue with the installation.

Regards,

Waley.

JohnDonovanGA commented 1 year ago

Hi Waley, it looks like you are trying to install Ginan on WSL2 (Windows service for Linux). Is this correct? Did you actually manage to get mongoCXX installed? You may need to tinker with the mongocxxConfig.cmake file if it did install. Just trying to replicate your exact environment. Thanks John

gnssLa commented 1 year ago

Hi John,

Thank you for your response. Just like @Waley04, I am experiencing a similar issue with the installation. I successfully installed mongoCXX. However, I am also facing some difficulties with the installation process, specifically with the MongoDB (PEA, optional) step.

I have tried several approaches to overcome this issue, but I have not been able to make any significant progress so far.

My wish is to have this software installed on WSL. Unfortunately, I still have the same error.

Best regards,

Duarte.

Waley04 commented 1 year ago

@JohnDonovanGA,

Yes, I am on WSL as you noted. I could not install the software on WSL despite my efforts. I suspect it is due to compatibility or dependency issues.

I managed the following:

Mongo_cxx_driver (PEA): Mongo_cxx_driver.log

MongoDB (PEA, optional): mongoDb

I am still working on it and will keep you posted.

Thanks,

Waley.

JohnDonovanGA commented 1 year ago

Hi, I have had a look at my WSL build. All the dependencies have been installed in /usr/local. This is also true of your mongo-cxx install from what I can see (in the log file attached). Can you please check you have libmongocxx.so and libbsoncxx.so in your /usr/local/lib directory? While your log looks OK it is not clear if these files were created. (They will probably be softlinks to other files in the same directory) Thanks John

JohnDonovanGA commented 1 year ago

Can you also give ,me a listing of what you find in /usr/local/lib/cmake (and if there, mongocxx-3.6.0 in that directory)

Waley04 commented 1 year ago

@JohnDonovanGA,

Thank you for your unwavering passion to help. Check below and advise:

user_local_lib_cmake.log

Let me know if you need further information from my end.

Regards,

Waley04 commented 1 year ago

Hi, I have had a look at my WSL build. All the dependencies have been installed in /usr/local. This is also true of your mongo-cxx install from what I can see (in the log file attached). Can you please check you have libmongocxx.so and libbsoncxx.so in your /usr/local/lib directory? While your log looks OK it is not clear if these files were created. (They will probably be softlinks to other files in the same directory) Thanks John

@JohnDonovanGA,

Attached is a file containing the contents of the '/usr/local/lib' directory:

Check this ==> <user_local_lib.log>

Looking forward to hearing from you soon.

Regards

JohnDonovanGA commented 1 year ago

Hi Waley, it looks like the install did not work properly as the files for mongocxx were not created. I have attached tar.gz files from my machine that you can try to unpack and see if things work for you. libmongocxx.tar.gz is unpacked in /usr/local/lib, mongocxx-include.tar.gz is unpacked in /usr/local/include, and mongocxx-cmake.tar.gz in /usr/local/lib/cmake. Let me know how you get on. libmongocxx.tar.gz mongocxx-include.tar.gz mongocxx-cmake.tar.gz

Waley04 commented 1 year ago

Hi @JohnDonovanGA ,

Thank you for the libraries and dependencies. I did as advised and I managed to install POD successfully.

For example: podWorksForMe

However, I am still having trouble with PEA. Please see the attached installation log for details.

PEA Installation Log makePeaJ2.log

Your usual support would be appreciated.

Thank you.

JohnDonovanGA commented 1 year ago

Hi Waley, it looks like your version of the C++ compiler is not up to our specifications. Can you g++ --version and let me know what it says? You should be using gcc 9.4.0 or thereabouts.

Waley04 commented 1 year ago

Hi John,

Here is what I have: g++

Please, advise.

Thanks.

JohnDonovanGA commented 1 year ago

OK, but your log shows you are using C++ 11 std and you should be using at least c++ 2017 std. Let me get back to you on this one, the CXX args in the cmakefile should be specifying which std to be using.

JohnDonovanGA commented 1 year ago

Hi waley, we have done some research and find that if you make the switch to boost 1.74.0 you will get over the compilation hump. To do this you need to remove boost 1.73.0 from your system (ie remove all boost libs and includes from /usr/local and also the /usr/local/lib/cmake boost dir. Now install boost-1.74.0 (just use the instructions from installing 1.73.0). Lastly you need to modify the top level CMakeLists.txt file to specify boost 1.74.0 is required. Let us know how you get on. It compiled for me, but I have not checked if it works on WSL yet or not. We also think you may need to install mongo-c-driver 1.21.2, mongocxx 3.7.0 as well but as yet I am having some difficulty with these as well on WSL.

JohnDonovanGA commented 1 year ago

Hi Duarte, the issue is likely to be an incompatability between mongo and SSL. We think it is fixed if you moved to Ubuntu 22.04. You may need to follow the steps advised to Waley though, please advise.

Waley04 commented 1 year ago

Hi waley, we have done some research and find that if you make the switch to boost 1.74.0 you will get over the compilation hump. To do this you need to remove boost 1.73.0 from your system (ie remove all boost libs and includes from /usr/local and also the /usr/local/lib/cmake boost dir. Now install boost-1.74.0 (just use the instructions from installing 1.73.0). Lastly you need to modify the top level CMakeLists.txt file to specify boost 1.74.0 is required. Let us know how you get on. It compiled for me, but I have not checked if it works on WSL yet or not. We also think you may need to install mongo-c-driver 1.21.2, mongocxx 3.7.0 as well but as yet I am having some difficulty with these as well on WSL.

Hi John,

I have diligently adhered to your guidance, and I am happy to share that the valuable tips you provided have proven useful. Consequently, I have accomplished the successful installation of the PEA software.

=== For example === image

Thanks for your support.

Regards,

Waley.

JohnDonovanGA commented 1 year ago

that's great news Waley. Good luck

JohnDonovanGA commented 1 year ago

No response from Duarte. Closing