Package Details: micromanager-git v2.0.0.beta2.r2147.gc6734e115-2

Git Clone URL: https://aur.archlinux.org/micromanager-git.git (read-only, click to copy)
Package Base: micromanager-git
Description: Software package for control of automated microscopes. CMMCore, MMStudio, python2 and Java bindings
Upstream URL: https://micro-manager.org
Licenses: BSD LGPL
Conflicts: micromanager
Provides: micromanager
Submitter: radioxoma
Maintainer: None
Last Packager: radioxoma
Votes: 2
Popularity: 0.000000
First Submitted: 2015-06-16 09:18 (UTC)
Last Updated: 2017-04-08 18:56 (UTC)

Dependencies (10)

Required by (0)

Sources (3)

Latest Comments

whitecrow commented on 2018-11-07 13:44 (UTC)

@a0a0, micro-manager works after following you commit!!!

a0a0 commented on 2018-10-27 04:05 (UTC) (edited on 2018-10-29 12:35 (UTC) by a0a0)

First type 'make fetchdeps' once to download Java build dependencies.
Type 'make' to build.
Then type 'make install' to install.

make: *** No rule to make target 'fetchdeps'.  Stop.
==> ERROR: A failure occurred in build().
    Aborting...

Looked up to see which programs are required. I had to install jdk8-openjdk (not 7, not 10 and not jre) and ant

afterward I got an error related to ant, I guess:

Total time: 4 seconds
make[1]: *** [Makefile:891: MMJ_.jar] Error 1
make[1]: Leaving directory '/tmp/yaourt-tmp-a/aur-micromanager-git/src/micromanager-git/mmstudio'
make: *** [Makefile:520: all-recursive] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

In the next step I changed the git to the latest version and its the md5sum as well in PKGBUILD:

source=("$pkgname::git+https://github.com/micro-manager/micro-manager.git/#commit=d7dd7ff1b7f64762f8ee7d521066c975bf312d98"  # Latest commit im 'mm2' branch
        "3rdpartypublic::svn+https://valelab.ucsf.edu/svn/3rdpartypublic/"
        "mmstudio.desktop")
md5sums=('SKIP'
         'SKIP'
         'SKIP')

We also need to define the Java source for the build in the build function, if we have more than one installed:

-        CXXCPP=/usr/bin/cpp ./configure --prefix=/usr --enable-imagej-plugin=${IJ_DIR} --with-python PYTHON=${_PYTHON}         +        CXXCPP=/usr/bin/cpp ./configure --prefix=/usr --enable-imagej-plugin=${IJ_DIR} --with-python PYTHON=${_PYTHON} --with-java=/usr/lib64/jvm/java-8-openjdk

Let it run one time.

If you get more error related to the build we need to change the PKGBUILD again after first run if we just get make errors to avoid overwriting the changed files. Just comment out the variables source and md5sum

# source=("$pkgname::git+https://github.com/micro-manager/micro-manager.git/#commit=d7dd7ff1b7f64762f8ee7d521066c975bf312d98"  # Latest commit im 'mm2' branch
#         "3rdpartypublic::svn+https://valelab.ucsf.edu/svn/3rdpartypublic/"
#         "mmstudio.desktop")
# md5sums=('SKIP'
#          'SKIP'
#          'SKIP')

The next steps are also forworded to the development team of micromanager; The folder in the following refers to /tmp/yaourt-tmp-${USER}/aur-micromanager-git/

if you get an error related to opencv change following in ./src/micromanager-git/DeviceAdapters/FakeCamera/FakeCamera.h

@@ -1,30 +1,30 @@
-#include "opencv/highgui.h"
+#include "opencv2/highgui.hpp"

in ./src/micromanager-git/DeviceAdapters/MicroPoint/MicroPoint.cpp because yaourt uses clang instead of make

@@ -1,188 +1,188 @@
-   unsigned char buf[] = {'C', (positive ? 0xc0 : 0x80), 'C', 0x00};
+   unsigned char buf[] = {'C', static_cast<unsigned char>(positive ? 0xc0 : 0x80), 'C', 0x00};

./src/micromanager-git/DeviceAdapters/WieneckeSinske/WieneckeSinske.cpp

@@ -1,240 +1,240 @@
-   unsigned char dta[2+CAN29LongSize] = {devID_, movemode};   
+   unsigned char dta[2+CAN29LongSize] = {devID_, static_cast<unsigned char>(movemode)};   

@@ -1,257 +1,257 @@
-   unsigned char dta[2+CAN29LongSize] = {devID_, movemode};   
+   unsigned char dta[2+CAN29LongSize] = {devID_, static_cast<unsigned char>(movemode)};   
@@ +1,43 @@
+#include <netinet/in.h>

in ./src/micromanager-git/DeviceAdapters/WieneckeSinske/CAN29.cpp

@@ +1,40 @@
+#include <netinet/in.h>