Hi Johannes,
I am an idiot! Avian uses the "make" command. That will compile things
into a subdirectory of build/. It actually requires JAVA_HOME to point
to a JDK and javac to be in the PATH. Sorry for not describing this
correctly.
OK, I tried make, but the makefile doesn't support Visual Studio (only on
Windows Phone, not on Windows 7). So I guess I'll have to start over on a
Linux box, because a mingw build will most certainly be incompatible with the
maven-compiled stuff, which used Visual Studio.
Again, I did not have problems with ming64 with nar-maven-plugin. But
maybe you are referring to Avian?
Indeed, I was referring to the make-based compilation of Avian, not to
maven.
And why are you trying to get things to work on the platform that is
notorious for being the most difficult to develop platform-independently
for?
Last week, we simply tried Tobias' code on my Windows box, and (thanks
to maven) it worked more or less out of the box, except for the extra
paths we had to add to pom.xml (see my earlier mail) and an
incompatibility in some macro magic that turned out to be easy to fix.
Encouraged by this success, I simply tried your code as well.
I don't mind switching to Linux for the time being, it just means that I
have to install all prerequisites again, which will take some time.
As I said, Windows is notorious for being hard to compile
platform-independent code on. It is not only the insistence on a
non-standard C++ ABI (you cannot mix and match Visual C++-compiled code
with GNU C++-compiled code because GNU C++ *adheres* to the standard while
Visual C++ does not).
GNU's standard adherence notwithstanding, different versions of gcc
still produce mutually incompatible shared libraries, see our other
conversation on the VIGRA mailing list. So Linux and Mac are not really
much better in this respect. In the end, it is the complexity of C++
that bites everyone.
It is also the chronical problems with a lack of
standardized installation paths for headers and libraries,
Indeed. I opted for a Unix-like path structure according to
c:\install\bin, c:\install\include etc., which makes life a lot easier.
the lack of
speed with its filesystem drivers (and as a consequence insane runtimes of
compilation and Git operations compared to every other operating system).
VIGRA compilation takes about the same time on Windows and Linux, and I
haven't experienced any latency in git either. In contrast, maven did
indeed seem to be a bit on the slow side.
And of course it is the complete and utter lack of POSIX routines,
something industry outside Microsoft's area of influence settled on a long
time ago.
I guess, the boost libraries have solved this problem for most purposes,
and better than POSIX for that matter.
Yes, there is another thing I completely forgot to mention: in
vigra-imglib2, I ran "mvn dependency:copy-dependencies" a long time ago
(back when I mentioned to Tobias that I was working on this),
so long ago that I forgot in the meantime. Very sorry for this!
OK. I executed "mvn dependency:copy-dependencies", followed by "mvn
install", and am back to
[ERROR] Error: Class net.imglib2.Interval could not be found.
But since Avian won't work easily on this machine anyway, it's probably
not worth fixing now.
Best regards
Ulli
_______________________________________________
ImageJ-devel mailing list
ImageJ-devel@imagej.net
http://imagej.net/mailman/listinfo/imagej-devel