[ome-users] C++ bindings : ticket #9705

Melissa Linkert melissa at glencoesoftware.com
Wed Oct 24 20:55:25 BST 2012


Hi Guy,

> I see that ticket #9705 is now closed, but I'm still getting the same error (pasted below) involving boost when trying to compile the bioformats C++ libraries, having followed the instructions for Mac on your website.
> I'm using Mac OS 10.8.2 - not sure if this is the difference that is causing the problem.
> 
> Should I be doing anything differently now that ticket 9705 has been closed, for example all the port and maven commands are the same as on your website?
> I synchronised git but how might I check that I have the new patched version?

As long as the branch you have checked out is based on the latest 'develop' branch
from github.com/openmicroscopy/bioformats, you should have the fix for #9705.

This command will tell you if your current branch contains the relevant commit:

$ git branch --contains f915a49ac7806d33f3044713b4600a18008981e3

You may also want to run 'mvn clean' before going through the build
instructions again, just to make sure that there are no old build
artifacts causing a problem.

Regards,
-Melissa

On Wed, Oct 24, 2012 at 09:46:06AM +0100, Guy Blanchard wrote:
> Hi Josh,
> I see that ticket #9705 is now closed, but I'm still getting the same error (pasted below) involving boost when trying to compile the bioformats C++ libraries, having followed the instructions for Mac on your website.
> I'm using Mac OS 10.8.2 - not sure if this is the difference that is causing the problem.
> 
> Should I be doing anything differently now that ticket 9705 has been closed, for example all the port and maven commands are the same as on your website?
> I synchronised git but how might I check that I have the new patched version?
> 
> I am very keen to use the C++ bindings to manage my image/movie input to a Cocoa application.
> 
> Thanks for your help
> Guy
> 
> .......
> [  5%] Building CXX object CMakeFiles/jace.dir/jace/source/jace/StaticVmLoader.cpp.o
> In file included from /Documents/bioformats/components/scifio/target/cppwrap/jace/source/jace/StaticVmLoader.cpp:2:
> /Documents/bioformats/components/scifio/target/cppwrap/jace/include/jace/StaticVmLoader.h:57:14: warning: 'JNI_GetCreatedJavaVMs'
>       is deprecated [-Wdeprecated-declarations]
>       return JNI_GetCreatedJavaVMs( vmBuf, bufLen, nVMs );
>              ^
> /Documents/bioformats/components/scifio/target/cppwrap/jace/include/jace/StaticVmLoader.h:68:14: warning: 'JNI_CreateJavaVM' is
>       deprecated [-Wdeprecated-declarations]
>       return JNI_CreateJavaVM( pvm, env, args );
>              ^
> 2 warnings generated.
> [  5%] Building CXX object CMakeFiles/jace.dir/jace/source/jace/UnixVmLoader.cpp.o
> [  5%] Building CXX object CMakeFiles/jace.dir/jace/source/jace/VmLoader.cpp.o
> [  5%] Building CXX object CMakeFiles/jace.dir/jace/source/jace/Win32VmLoader.cpp.o
> [  5%] Building CXX object CMakeFiles/jace.dir/jace/source/jace/WrapperVmLoader.cpp.o
> Linking CXX shared library libjace.jnilib
> Undefined symbols for architecture x86_64:
>   "boost::system::system_category()", referenced from:
>       ___cxx_global_var_init3 in JArray.cpp.o
>       boost::thread_exception::thread_exception(int, char const*) in JArray.cpp.o
>       ___cxx_global_var_init3 in JClassImpl.cpp.o
>       boost::thread_exception::thread_exception(int, char const*) in JClassImpl.cpp.o
>       ___cxx_global_var_init3 in JNIHelper.cpp.o
>       boost::thread_exception::thread_exception(int, char const*) in JNIHelper.cpp.o
>       ___cxx_global_var_init3 in JObject.cpp.o
>       ...
>   "boost::system::generic_category()", referenced from:
>       ___cxx_global_var_init1 in JArray.cpp.o
>       ___cxx_global_var_init2 in JArray.cpp.o
>       ___cxx_global_var_init1 in JClassImpl.cpp.o
>       ___cxx_global_var_init2 in JClassImpl.cpp.o
>       ___cxx_global_var_init1 in JNIHelper.cpp.o
>       ___cxx_global_var_init2 in JNIHelper.cpp.o
>       ___cxx_global_var_init1 in JObject.cpp.o
>       ...
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make[2]: *** [libjace.jnilib] Error 1
> make[1]: *** [CMakeFiles/jace.dir/all] Error 2
> make: *** [all] Error 2
> 
> 
> On 2 Oct 2012, at 08:43, Josh Moore <josh at glencoesoftware.com> wrote:
> 
> > 
> > On Oct 1, 2012, at 10:38 PM, Guy Blanchard wrote:
> > 
> >> Hi, 
> > 
> > Hi Guy,
> > 
> >> I've been trying to compile the C++ bindings, following your instructions on https://github.com/openmicroscopy/bioformats/blob/develop/components/scifio/cppwrap/readme.txt
> >> and on the MacOS related page.
> > 
> > I reproduced the same (or a very similar) error on Mac OSX 10.6 installing cmake and boost from Homebrew. By upping the cppwrap version number:
> > 
> > $ git diff
> > diff --git a/components/scifio/pom.xml b/components/scifio/pom.xml
> > index 7f0ca3d..2e3c8a5 100644
> > --- a/components/scifio/pom.xml
> > +++ b/components/scifio/pom.xml
> > @@ -104,7 +104,7 @@
> >       <plugin>
> >         <groupId>loci.maven.plugins</groupId>
> >         <artifactId>cppwrap-maven-plugin</artifactId>
> > -        <version>1.1.0</version>
> > +        <version>1.1.2-SNAPSHOT</version>
> >         <configuration>
> >           <headerFile>cppwrap/header.txt</headerFile>
> >           <conflictsFile>cppwrap/conflicts.txt</conflictsFile>
> > 
> > I was able to continue compiling. I've filed a ticket to have this or a similar change applied to the develop branch (https://trac.openmicroscopy.org.uk/ome/ticket/9705)
> > 
> > Cheers,
> > ~Josh
> > 
> >> I understand from some web discussions that it could be that gcc is being used instead of g++ but the cmake that you generate with your commands seems to know both these compilers and I don't know enough to chase down the error further. 
> >> Wondered if you'd been asked this before or have an obvious solution.
> >> 
> >> I'm on Mac OS 10.7.4 (Lion) with x86_64 architecture:
> >> Typing 'uname -a' gives:
> >> Darwin mallis.home 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr  9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
> >> 
> >> Thanks for your help,
> >> Guy
> >> 
> >> 
> >> ====================
> >> Dr Guy Blanchard
> >> Dept Physiology, Development and Neuroscience
> >> Downing Site
> >> Cambridge CB2 3DY
> >> 
> >> email: gb288 at cam.ac.uk
> >> m: 07930 988145
> >> 
> > 
> 
> _______________________________________________
> ome-users mailing list
> ome-users at lists.openmicroscopy.org.uk
> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users



More information about the ome-users mailing list