Author Topic: Compiling Ovito on Mac: Difficulty finding Qt4Qt5 & libqscintilla2.dylib  (Read 182 times)

ckunka

  • Newbie
  • *
  • Posts: 3
Hi. I'm new to Ovito and am trying to compile on Mac Mojave. I and several coworkers have attempted to follow the instructions here: http://www.ovito.org/manual_testing/development.build_macosx.html

[01] I successfully installed Xcode and MacPorts

[02] I successfully ran "sudo port install netcdf python35..."

[03] (likely problem) I first attempted to install Qt 5 though the tutorial's link. I selected the open-source option and then installed the dmg. However, the created "$HOME/Qt/" lacks the "5.7/clang_64/bin/qmake" mentioned later in the tutorial. Hence, I also tried installing Qt5 through Mac Ports (i.e., "sudo port install Qt5"). I had to run this command twice as the first one seemed to install Qt4. I still don't have the "qmake" mentioned above.

[04] Because I don't have "$HOME/Qt/5.7/clang_64/bin/qmake" as mentioned above, I installed PyQt5 though pip (i..e, sudo pip-3.5 install PyQt5) as mentioned in the link from the tutorial. It doesn't seem that PyQt5 is available on MacPorts.

[05] Likewise, I installed QScintilla through pip. I also installed through MacPorts. Neither way seems to yield the files I need later in the tutorial.

[06] I successfully installed Libav by navigating a browser to the provided URL and then running the remaining commands in this section of the tutorial.

[07] I also downloaded the version of Ovito I wanted (i.e., 2.7.1 as I want grain segmentation) from GitLab.

[08] I'm now stuck on the compiling Ovito step. First, it says to navigate to an empty build directory and then run the remaining commands. However, I get an error saying there is no cmakelist. Hence, I retried in the directory above (i.e., with that list). However, I still get a failure because I have none of the following listed in the tutorial:
$HOME/Qt/5.7/clang_64/
$HOME/QScintilla_gpl-2.9.3/Qt4Qt5
$HOME/QScintilla_gpl-2.9.3/Qt4Qt5/libqscintilla2.dylib

Of course, I've tried locating these items elsewhere with no success. The compilation fails without them.

Any help is greatly appreciated :)
- Cody
« Last Edit: June 07, 2019, 01:27:27 AM by ckunka »

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Hi Cody,

The macOS build instructions found in the Ovito manual are not up to date, I must say. Sorry for probably wasting some of your time with that.

There is a text file in the GitLab repo where I keep track of the installation+build steps required to build the official Ovito binaries for macOS:

https://gitlab.com/stuko/ovito/blob/master/doc/develop/build_macosx_howto.txt

This is a more personal memo with fewer explanations, but at least it is always fully up to date. Note, however, that it includes some extra steps which might not be necessary if you just want to building a locally running version of Ovito and not a redistributable program package.

I'm not sure if I read this right: You don't want to build the latest snapshot of the Ovito code but rather an older version (2.7.1). Is that right? This could make things more difficult, because build steps have changed over time and older versions of third-party libraries may not be easily available anymore. Please take a look at the archived version of the file build_macosx_howto.txt linked above, which was tagged with release 2.7.1 or whatever version you intend to build.

-Alex

ckunka

  • Newbie
  • *
  • Posts: 3
Thanks! Yes, I spent around a day trying those steps...

I'm actually interested in compiling ANY version of OVITO compatible with Grain Segmentation. I would like to produce a redistributable to pass along to others as well, but getting Grain Segmentation working is my main priority. Which version of OVITO do you recommend?

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
I don't think I can tell you anything positive, unfortunately. The grain segmentation function that was part of a development version of Ovito at some point in time (years ago) was a highly experimental and non-official feature, which I have been playing with. I didn't find time to complete it and later removed the function from the code base completely.

Together with Peter Mahler Larsen, the developer of the Polyhedral Template Matching method, we started a new attempt to develop a grain segmentation algorithm last year. But again, due to the general lack of time and resources, we didn't follow through. We suspended the work after experimenting with a few approaches and testing out several ideas. In its current state, the grain segmentation algorithm is not usable and I don't like the idea of anybody else using it. Our ongoing work is organized in the 'grain_segmentation' branch of the Ovito gitlab repository, by the way.

Please remind me again who you are. Have we been in contact before? Did I share the experimental Ovito build that included the grain segmentation function with you? I am trying to understand whether you are interested in only  (re)building the legacy grain segmentation code (to reproduce old analysis results perhaps) or rather in finding a robust segmentation tool for a new project.

Since this topic is not related to the official Ovito version, I suggest we continue this discussion via email, not in this forum thread.

-Alex

ckunka

  • Newbie
  • *
  • Posts: 3
Ok. Emailing to the address found on your Google-Scholar page: https://scholar.google.com/citations?user=f8Tw3eEAAAAJ&hl=en&oi=ao

Thanks,
- Cody