# 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 ` $ 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