summarylogtreecommitdiffstats
path: root/info.txt
blob: 95d9a7cf0eb11b17e6f5a40cb44559163b69516b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# extra/libraw1394            Provides an API to the Linux IEEE1394 (FireWire) driver
#     extra/libavc1394 0.5.4-2    A library to control A/V devices using the 1394ta AV/C commands.
#     extra/libdc1394 2.2.1-2     High level programming interface to control IEEE 1394 based cameras
#     extra/libiec61883 1.2.0-4   A higher level API for streaming DV, MPEG-2 and audio over Linux IEEE 1394

# git clone https://github.com/mdcurtis/micromanager-upstream.git
# git checkout tags/1.4.13
wget -c http://github.com/mdcurtis/micromanager-upstream/archive/1.4.13.tar.gz
Версия 1.4.13 вышла 
    16.11.2012 21:05:26 Смена текстовой версии
    30.11.2012 11:49:07 На сайте и GitHub

    05.07.2013 1.4.13 ebuild python
    22.09.2013 1.4.13 ebuild zlib
Версия 1.4.14
    20.03.2013 На сайте
Версия 1.4.15
    23.09.2013 на сайте, коммит svn 10680
    23.09.2013 12:35:02 исключили адаптер камеры svn 11822
    
    16.10.2013 собирают под Ubuntu 13.10 x64
    21.10.2013 Открыт тикет [MMCorePy Unix build is missing libraries](https://valelab.ucsf.edu/trac/micromanager/ticket/685)
    27.10.2013 добавил boost_system in setup.py, но это сломало сборку в других местах.

    # The error should be fixed in r11990 (i.e. there should no longer be
    # any need for -fpermissive).

    # Turns out the code causing the error wasn't actually ever being called
    # -- although it may have crashed if called, so the compiler was doing
    # its job right by making it an error.

    # I've also addressed the include path issue you raised (r11991).

    # Having looked at this code, I'd have to characterize MMCorePy
    # (especially its Unix build system) as an unfinished project (which
    # hasn't received much attention for a few years). Hopefully the basic
    # functionality is there, though, once it's built.

    # You are also right about the boost.system symbols missing (there are
    # actually more symbols missing on Mac OS X; it looks like the Mac build
    # has been broken for quite a while). There was also a source file
    # missing, which I added in r11992.

    # I think the best way to address the missing libraries issue is to
    # remove the setup.py and compile the module from Makefile.am (this
    # should allow it to use the same Boost as the other parts of MM,
    # determined by the configure script). I'm going to leave this as an
    # open ticket for now: 

prepare()

# Needed
# SWIG может для python2.
# Используется сборка при помощи distutils
$ sed -i -e 's/python setup.py build_ext --inplace/python2 setup.py build_ext --inplace/g' MMCorePy_wrap/Makefile.am
$ sed -i -e 's: $(DEVICEADAPTERPATH): $(DESTDIR)\/$(DEVICEADAPTERPATH):' MMCorePy_wrap/Makefile.am

# Z Вроде не обязательно.
libraries = ['boost_system', 'z'],

$ sh mmUnixBuild.sh
build()
$ ./configure --prefix=/usr --without-imagej --enable-python


# Fixed
# /usr/include/python2.7/numpy/
# include_dirs=numpy.distutils.misc_util.get_numpy_include_dirs(),
# $ sed -i -e "/include_dirs/s~=.*~= \[\/usr/include/python2.7/numpy/"\]~" MMCorePy_wrap/setup.py

# Fixed
# DeviceUtils.cpp add `include <unistd.h>`


$ make -j9
# cp MMCorePy.py ../bin
# cp _MMCorePy.so ../bin

package()
# make DESTDIR="/home/radioxoma/build/mm/pkg/" install
$ make DESTDIR="$pkgdir" install


# This particular error should be fixed in r11992, but let me know if it
# > still results in other undefined symbols (other than Boost.System).

# https://stackoverflow.com/questions/11643666/python-importerror-undefined-symbol-for-custom-c-module

g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy 
g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy