janelia-flyem / buildem Goto Github PK
View Code? Open in Web Editor NEWCMake and other scripts to help build process of FlyEM software
License: Other
CMake and other scripts to help build process of FlyEM software
License: Other
The lemon-1.2.3 library fails to build on Mac 10.7.5 genrating this error message:
In file included from /Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:34:
In file included from /Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:40:
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/bits/bezier.h:162:17: warning:
unused variable 'f' [-Wunused-variable]
const Point f=(d+e)/2;
^
In file included from /Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:34:
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:85:3: note:
in instantiation of template class
'lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>'
requested here
graphToEps(g,"graph_to_eps_demo_out_1_pure.eps").
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:93:5: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::CoordsTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<lemon::dim2::Point<int>>>>'
requested here
coords(coords).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:110:5: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::NodeColorsTraits<lemon::ComposeMap<lemon::Palette,
lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<int>>>>' requested
here
nodeColors(composeMap(palette,colors)).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:137:5: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::NodeShapesTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<int>>>'
requested here
nodeShapes(shapes).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:152:18: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::NodeSizesTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<double>>>'
requested here
nodeScale(2).nodeSizes(sizes).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:170:5: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::NodeSizesTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<double>>>::CoordsTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<lemon::dim2::Point<int>>>>'
requested here
coords(coords).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:225:12: error:
dependent using declaration resolved to type without 'typename'
using T::NodeTextColorType;
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/demo/graph_to_eps_demo.cc:201:5: note:
in instantiation of template class
'lemon::GraphToEps<lemon::GraphToEps<lemon::GraphToEps<lemon::DefaultGraphToEpsTraits<lemon::ListDigraph>>::CoordsTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<lemon::dim2::Point<int>>>>::NodeTextsTraits<lemon::DigraphExtender<lemon::ListDigraphBase>::NodeMap<int>>>'
requested here
nodeTexts(hcolors).nodeTextSize(.6).
^
/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3/lemon/graph_to_eps.h:127:8: note:
target of using declaration
enum NodeTextColorType
^
1 warning and 7 errors generated.
make[5]: *** [demo/CMakeFiles/graph_to_eps_demo.dir/graph_to_eps_demo.cc.o] Error 1
make[4]: *** [demo/CMakeFiles/graph_to_eps_demo.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [/Volumes/SSD/ilastik/buildem/src/lemon-1.2.3-stamp/lemon-1.2.3-build] Error 2
make[1]: *** [CMakeFiles/lemon-1.2.3.dir/all] Error 2
make: *** [all] Error 2
Although the purpose of flyem-build is to have a consistent, version-controlled build of FlyEM apps, we can permit knowledgeable developers to point to outside packages instead of always building everything from scratch.
This can be done via a command-line option, similar to the current -D USE_PROJECT_DOWNLOAD method. Manual modules will be obtained through standard CMake find package commands.
When building ilastik with buildem, one can run into the problem that NumPy does not compile and complains about several Python Symbols not being found for the respective architecture. It took us quite a while to find out that this was caused by some CFLAGS being set, that overwrote the default numpy settings. (found here)
Experienced this on OSX Mavericks 10.9, with CFLAGS="-march=core2" set.
Should we unset the cflags and cxxflags for building with buildem? Or at least tell the user to do so.
buildem looks amazing to me but i think i am blocked because of OS specific command line functions in each projects .rule file in visual studio
'env' is not recognized as an internal or external command, operable program or batch file.
i believe we use 'set'...
i tried to set some of the variables in the BuildSupport.cmake without luck. @line 57...
set (BUILDEM_PLATFORM_SPECIFIC_ENV "set")
i also tried to replace 'env' with 'set' @line 64 without luck.
ideas?
gdb returns the following error
gdb: symbol lookup error: gdb: undefined symbol: PyUnicodeUCS4_FromEncodedObject
after buildem/lib added to the LD_LIBRARY_PATH. The problem might be related to incompatible python build in buildem.
Hi,
I am trying to use buildem to compile ilastik on ubuntu 12.04.02. I used the provided example CMakesList.txt and added the following includes:
include (qt4)
include (pyqt4)
include (vigra)
include (qimage2ndarray)
include (h5py)
include (ilastik)
include (ilastik-gui)
I get the following error
[ 44%] Performing patch step for 'pyqt4-4.9.5'
env: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: Permission denied
make[2]: *** [/home/dummy/junk/buildem/src/pyqt4-4.9.5-stamp/pyqt4-4.9.5-patch] Error 126
make[1]: *** [CMakeFiles/pyqt4-4.9.5.dir/all] Error 2
make: *** [all] Error 2
using sudo make results in the same error.
I checked the permissions of pyqt4-4.9.5/configure.py:
-rw-r--r--
However, changing them (chmod +wx) is not a good idea:
import: unable to grab mouse `': Resource temporarily unavailable @ error/xwindow.c/XSelectWindow/9052.
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 36: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: pyqt_version: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 37: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: pyqt_version_str: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 39: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: sip_min_version: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 41: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_version: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 42: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_edition: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 43: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_licensee: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 44: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_dir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 45: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_incdir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 46: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_libdir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 47: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_bindir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 48: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_datadir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 49: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_pluginsdir: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 50: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_xfeatures: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 51: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_shared: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 52: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_framework: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 56: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_macx_spec: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 58: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: qt_sip_flags: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 60: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: pyqt_modules: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 61: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: pyqt_modroot: not found
/home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: 62: /home/dummy/junk/buildem//src/pyqt4-4.9.5/configure.py: Syntax error: "(" unexpected
make[2]: *** [/home/dummy/junk/buildem/src/pyqt4-4.9.5-stamp/pyqt4-4.9.5-patch] Error 2
make[1]: *** [CMakeFiles/pyqt4-4.9.5.dir/all] Error 2
make: *** [all] Error 2
Any ideas?
Thanks,
Jens
The preprocessor macro HAVE_APPLE_OPENGL_FRAMEWORK is not set during configure and tool/tiffgt.c fails to compile. When setting HAVE_APPLE_OPENGL_FRAMEWORK to 1 it works. Perhaps that file should be patched?
OpenSSL has a license that is incompatible with the GPL. Hence, some projects may need to exclude openssl from their python builds. python.cmake
should exclude openssl by default, but provide a CMake switch to include it.
At present, a cmake script mystuff.cmake
has to specify a dependency twice, once via include(dependency)
and then again in DEPENDS ${dependency_NAME}
. The second spec is easily forgotten, which can lead to bad behavior of a fresh buildem checkout. Unfortunately, the omission is not easily noticed by the developer of mystuff.cmake
because dependency
is usually already present in his build. Is it possible to remove the redundancy, e.g. by something like DEPENDS ${all_includes}
which automatically makes all includes a dependency?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.