Starting to contribute

Hello everyone,
I am Dhruv, a third year Computer Engineering undergrad from Mumbai, India. I am interested in contributing to Avogadro but I am unaware of the path to do so (Very new to Open source):

  • Should I first try to compile Avogardo from the source and then move to solving the issues …but the doc stated

Compiling Avogadro for Windows is a complex task and it is recommended that you download the pre-made installer found on the download page.

OR

  • Directly fork and clone the repo, download the pre-made installer and start working on a beginner friendly or good first issue?

Can you also confirm whether there are set of docs other than these for new contributors?

  1. Preface - Avogadro
  2. Avogadro: Avogadro API Documentation

Thank you very much

  • Should I first try to compile Avogadro from the source and then move to solving the issues …but the doc stated

First off, we are currently working on Avogadro2 (https://two.avogadro.cc/) so you’d want to work on that. Avogadro v1 isn’t something we can develop, not the least because Qt4 and OpenBabel v2 aren’t supported.

Yes, compiling on Windows isn’t trivial, but it is a necessary step if you want to contribute code.

If you want newer docs for new contributors, I’d suggest this:

https://two.avogadro.cc/contrib/index.html

Hope that helps!

1 Like

Hello sir,
I have started building OpenChemistry (super build) using these docs. I am not able to install Qt as on their website they are giving 10 day trail for the free version perhaps. And does installing OpenGL refer to configuring visual studio using a package manager like vcpkg ?? Can you please confirm and guide how to proceed ahead.
Thank you very much

Since you are compiling an open source program, I suggest you install the open source version of Qt. Open Source Development | Open Source License | Qt

No, it refers to 3D graphics. If you have a modern graphics card or integrated GPU, you should be fine. The Qt install will include the appropriate code.

1 Like

Hello Sir,
I am facing many build errors while building open chemistry (super build).
I downloaded qt5 (msvc2019_64 package only due to lack of disk space) using the link you provided.
I have selected the below components to be built using cmake gui


While I was building the release version using Visual Studio 2022, I encountered these errors

Can you please tell how can I know the exact error since in the output log there were errors stating “configuration incomplete errors occurred” but I am unable to understand the same.

I previously encountered similar errors in debug version as well…Can you please help
Thanks

Sorry, I don’t use Visual Studio, so I have no idea what the errors are or how to get more … it’s just saying “code 1” and that’s obviously not enough to know the problem.

Do you feel comfortable running from the terminal? That’s probably easier to find the error messages.

You can run, for example cmake --build from that directory and it will run the build for you.

1 Like

Thank you sir,
I have built OpenChemistry , now I am trying to work on this issue #795 So can you please provide me with some guide so that I can understand the codebase as it is very large and am not able to understand where to make changes ?
Do we have to make changes here that is after selection of the required molecules which need to be replaced (or as separate entity)?
Very Sorry …I am very new to open source and thus need your help to understand the codebase and the path… how to proceed ahead.
Thank you!

For a new command, you’d want to copy one of the avogadro/qtplugins/ directories. The selection plugin you linked is probably okay, but perhaps the lineformatinput plugin or insertdna are better … all fairly small commands.

To make sure your new alchemy plugin is built, you’ll need to add your new directory to avogadro/qtplugins/CMakeLists.txt

At first, I’d just concentrate on putting up a small dialog to change one element to another, e.g. a popup menu of the element to find and the element to change.

Does that help? Yes, it’s a big codebase, but most of the features are in the individual directories, so you just need to concentrate in one area.

@Dhruv_J Hey! can you help me build openchemistry, when I use cmake it give me error in configuration


How did you configured it?

***PS C:\project\openchemistry-build> cmake …/openchemistry
CMake Error at CMakeLists.txt:2 (project):
Running

‘nmake’ ‘-?’

failed with:

The system cannot find the file specified

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!***

Also when I run cmake …/openchemistry on terminal it gives me the above error @ghutchis

Do you have Visual Studio installed? Your screenshot above says “Could not find any instance of Visual Studio.”

Much of the code is in C++ and so you will need a C++ compiler to build.

Yes, Visual studio is intstalled.

In your second post, when you’re running from the command-line, are you running from a VS command prompt?

The tools like nmake must be in the path.

Looks like its almost done, please help me resolve this

CMake Error at CMakeLists.txt:81 (find_package):
By not providing “FindQt5.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “Qt5”, but
CMake did not find one.

Could not find a package configuration file provided by “Qt5” with any of
the following names:

Qt5Config.cmake
qt5-config.cmake

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

Have you installed Qt? Open Source Development | Open Source License | Qt

Yes,I have qt installed, I have also tried updated the qt5/qt6 dir path.

Hello sir,
Thanks for your help,
Can you please state what would be the format for the dialog gui and input-output

Also state should I create 2 separate classes for selection and replacement? But when I refered to insertdna there was one class for one dialog hence here also I think there would be just one class with multiple methods inside it. Am I right?

avogadro_plugin(NucleicInput
  "Insert DNA/RNA sequences."
  ExtensionPlugin
  insertdna.h
  InsertDna
  "insertdna.cpp"
  "insertdnadialog.ui"
)

Here NucleicInput is just for representing the plugin or does it mean certain kind of input?
Also how can I see the output after I make any changes in the code? Do I have to build the target or just run something
Thanks

Hello, even I encountered certain errors while building but then I followed this

I even referred the docs. That worked for me!

Configured successfully by adding few lines to the cmake file, it was bit tricky for windows
But I am getting these errors now when I ran cmake --build . --config Release

Could NOT find Boost (missing: Boost_INCLUDE_DIR program_options iostreams)
– Found Eigen3: C:/project/openchemistry-build/prefix/include/eigen3 (Required is at least version “2.91.0”)
– Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem iostreams unit_test_framework)
– Maestro formats will NOT be supported. Please install Boost to enable Maestro formats.
– Coordinate generation with Coordgen will NOT be supported. Please install Boost to enable Maestro formats.
– Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
– Could NOT find RapidJSON (missing: RAPIDJSON_INCLUDE_DIRS) (Required is at least version “1.1.0”)
– Downloaded RapidJSON to C:/project/openchemistry-build/thirdparty/openbabel-prefix/src/openbabel/external/rapidjson-1.1.0.
– JSON formats will be supported. Using RapidJSON 1.1.0 at C:/project/openchemistry-build/thirdparty/openbabel-prefix/src/openbabel/external/rapidjson-1.1.
0/include
– Could NOT find Cairo (missing: CAIRO_LIBRARIES CAIRO_INCLUDE_DIRS)
– Could NOT find Cairo. PNG output will NOT be supported.
CMake Error at C:/Program Files/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Perl (missing: PERL_EXECUTABLE)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/CMake/share/cmake-3.27/Modules/FindPerl.cmake:84 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
data/CMakeLists.txt:81 (find_package)

– Configuring incomplete, errors occurred!
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(248,5): error MSB8066: Custom build for ‘C:\proj
ect\openchemistry-build\CMakeFiles\5cc1293c7e8035b480701d38fafaa83b\openbabel-mkdir.rule;C:\project\openchemistry-build\CMakeFiles\5cc1293c7e8035b480701d38faf
aa83b\openbabel-download.rule;C:\project\openchemistry-build\CMakeFiles\5cc1293c7e8035b480701d38fafaa83b\openbabel-update.rule;C:\project\openchemistry-build
CMakeFiles\5cc1293c7e8035b480701d38fafaa83b\openbabel-patch.rule;C:\project\openchemistry-build\CMakeFiles\5cc1293c7e8035b480701d38fafaa83b\openbabel-configur
e.rule;C:\project\openchemistry-build\CMakeFiles\5cc1293c7e8035b480701d38fafaa83b\openbabel-build.rule;C:\project\openchemistry-build\CMakeFiles\5cc1293c7e803
5b480701d38fafaa83b\openbabel-install.rule;C:\project\openchemistry-build\CMakeFiles\b06a6507a02b0eba5a32e93e2a473242\openbabel-complete.rule;C:\project\openc
hemistry-build\CMakeFiles\307eac8877e45de3dbafd42f06287329\openbabel.rule;C:\project\openchemistry\thirdparty\CMakeLists.txt’ exited with code 1. [C:\project
openchemistry-build\thirdparty\openbabel.vcxproj]
PS C:\project\openchemistry-build>
Please help me with this @ghutchis
Have you incurred this error @Dhruv_J

Hello, I don’t think I had encountered these errors. Did you go with superbuild? As, I said docs and running through the terminal worked for me.
I feel mentors could help us better if we concentrate on one topic in one thread, So I am creating another topic for this issue #795 .
Thanks