[Insight-users] Anyone built ITK + Java bindings on OS X?

Gaetan Lehmann gaetan.lehmann at jouy.inra.fr
Mon Jan 22 04:10:02 EST 2007


Hi,

On Mon, 22 Jan 2007 04:31:07 +0100, Blair Cruz <blair.cruz at gmail.com>  
wrote:

> As far as I can tell, it is not possible to build ITK+Java Bindings on
> OS X.  I found this thread:
>
> http://public.kitware.com/pipermail/insight-users/2006-December/020316.html
>
> Which had no resolution.

We have found a simple workaround, see below - I'm not sure that all the  
mails are public though.

> I'm not sure what to do now.  I have about
> 40 hours invested in ITK registration that I have written for Windows.
>  I was under the impression that I would be able to run this on OS X
> as well, which was a requirement.  It was my fault that I didn't build
> ITK+Java Bindings first to mitigate my risk, but I viewed getting the
> code working first as a larger risk.
>
> I think ITK needs to make it clear that you can't build ITK with the
> Java Bindings on OS X.  If for no other reason then to save someone
> else the time wasted on this.
>

I do agree with you on that point: the status of what work and what  
doesn't work should be clearer in ITK.
Your problem is known already: cable swig can't be built within ITK with  
xcode. The workaroung is very simple: just build cable swig outside ITK,  
and, in ITK, point the CableSwig_DIR var to the cable swig build directory.

> If I am incorrect, and ITK+Java Bindings will build on OS X, I will
> gladly paypal someone $50 USD to either supply compiled libraries, or
> figure out how I can build them myself.
>

Please, keep your money, and try that:
- build cable swig outside ITK - prefer using make: I'm sure it works that  
way
- run ccmake -G Xcode in your ITK build dir
- set CMAKE_BUILD_TYPE to Release
- set CableSwig_DIR to the cable swig build dir
- in advanced options, turn USE_WRAP_ITK, ITK_USE_REVIEW, and  
BUILD_SHARED_LIBS to ON
- configure ITK (by hitting "c")
- be sure that the java vars are correctly set, and that WRAP_ITK_PYTHON  
and WRAP_ITK_TCL are set to OFF if you don't want them
- configure
- generate
- build
- run the tests with the command "ctest -C Release -R Java" to be sure  
that the Java wrappers are working
- let us know the result of your build

Regards,

Gaetan


> Thanks,
> Blair Cruz
>
> On 1/21/07, Blair Cruz <blair.cruz at gmail.com > wrote:
>> Here are the error messages I get when trying to build ITK + Java
>> bindings in different ways:
>>
>> Whats odd is that I can build ITK alone with Xcode.  This means that
>> the Xcode generator from CMake works fine in this case, but not when
>> building ITK with CableSwig.
>>
>> If I take ITK 3.0 and put CableSwig  3.0 in the Utilities directory, I
>> get the following error from Xcode:
>> -----------------
>> 2007-01-21 17:23:41.107 xcodebuild[27300] CFLog (0):
>> CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
>>  semicolon in dictionary.
>> 2007-01-21 17:23:41.140 xcodebuild[27300] CFLog (0):
>> CFPropertyListCreateFromXMLData(): The file name for this data might
>> be (or it might not):
>> /Users/jannettdean/Desktop/JC_Stuff/testBuild2/ITK.xcodeproj/project.pbxproj
>> 2007-01-21 17:23:41.238 xcodebuild[27300] XML parser error:
>>         Unexpected character / at line 1
>> Old-style plist parser error:
>>         Missing ';' on line 643
>> xcodebuild: Error: couldn't load project
>> /Users/jannettdean/Desktop/JC_Stuff/testBuild2/ITK.xcodeproj
>> -----------------
>>
>>
>> If I build ITK + CableSwig 3.0 together with make, I get the following
>> error from make:
>> -----------------
>> /Users/jannettdean/Desktop/JC_Stuff/test2/InsightToolkit-  
>> 3.0.0/Utilities/CableSwig/Cable/Expat/xmlparse.c:1311:
>> error: for each function it appears in.)
>> make[2]: ***  
>> [Utilities/CableSwig/Cable/Expat/CMakeFiles/CableExpat.dir/xmlparse.o]
>> Error 1
>> make[1]: ***  
>> [Utilities/CableSwig/Cable/Expat/CMakeFiles/CableExpat.dir/all]
>> Error 2
>> make: *** [all] Error 2
>> -----------------
>>
>>
>> If I build CableSwig 3.0 alone with Xcode, I get the following error  
>> from Xcode:
>> -----------------
>> 2007-01-21 17:47:16.789 xcodebuild[14100] CFLog (0):
>> CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
>> semicolon in dictionary.
>> 2007-01-21 17:47:16.825 xcodebuild[14100] CFLog (0):
>> CFPropertyListCreateFromXMLData(): The file name for this data might
>> be (or it might not):
>> /Users/jannettdean/Desktop/JC_Stuff/testBuild2/CableSwig.xcodeproj/project.pbxproj
>> 2007-01-21 17:47:16.929 xcodebuild[14100] XML parser error:
>>         Unexpected character / at line 1
>>  Old-style plist parser error:
>>         Missing ';' on line 531
>> xcodebuild: Error: couldn't load project
>> /Users/jannettdean/Desktop/JC_Stuff/testBuild2/CableSwig.xcodeproj
>> -----------------
>>
>>
>>  If I build CableSwig alone for make, I get the following error from  
>> make:
>> -----------------
>> /Users/jannettdean/Desktop/JC_Stuff/CableSwig-ITK-3.0.0/Cable/Expat/xmlparse.c:6:25:
>> error: expatConfig.h: No such file or directory
>> /Users/jannettdean/Desktop/JC_Stuff/CableSwig-ITK-3.0.0/Cable/Expat/xmlparse.c:
>> In function 'XML_ExpatVersion':
>> /Users/jannettdean/Desktop/JC_Stuff/CableSwig-ITK-3.0.0/Cable/Expat/xmlparse.c:1311:
>> error: 'VERSION' undeclared (first use in this function)
>> /Users/jannettdean/Desktop/JC_Stuff/CableSwig-ITK-3.0.0/Cable/Expat/xmlparse.c:1311:
>> error: (Each undeclared identifier is reported only once
>> /Users/jannettdean/Desktop/JC_Stuff/CableSwig-ITK-3.0.0/Cable/Expat/xmlparse.c:1311:
>> error: for each function it appears in.)
>> make[2]: *** [Cable/Expat/CMakeFiles/CableExpat.dir/xmlparse.o] Error 1
>> make[1]: *** [Cable/Expat/CMakeFiles/CableExpat.dir/all] Error 2
>> make: *** [all] Error 2
>> -----------------
>>
>> So thats ITK with CableSwig on Make and Xcode, and CableSwig alone
>> with Make and Xcode, none of those combos work.
>>
>> -blair
>> On 1/21/07, Mike Jackson <mike.jackson at imts.us > wrote:
>> > Blair,
>> >      Have you tried using make instead of xcode to build these
>> > things? I looks like something in the Xcode generator is borked in
>> > CMake. If all you are really after is a build of ITK then you do not
>> > really have to use Xcode to build it. Try generating make files and
>> > see what happens.
>> >
>> > I have not actually tried building ITK with Java Bindings on OS X. I
>> > have built ITK 2.8.1 with out a problem
>> >
>> > I am on OS X Intel 10.4.8 with the latest set of Xcode tools.
>> >
>> > --
>> > Mike Jackson   Senior Research Engineer
>> > Innovative Management & Technology Services
>> >
>> >
>>  > On Jan 21, 2007, at 5:55 PM, Blair Cruz wrote:
>> >
>> > > Hello Again,
>> > > I've been at this for a few days now and I'm out of ideas.  Please,
>> > > please let me know if you have ANY ideas that may help.  Again,  
>> heres
>> > > what's going on:
>> > >
>> > > I need to build ITK with the java bindings on OS X.  I can build
>> > > ITK+Java Bindings on XP/Visual Studion 8.  I can build ITK without
>> > > Java Bindings on OS X/Xcode.
>> > >
>> > > If I build CableSwig outside of ITK I get the following error:
>> > > ------------------
>> > > 2007-01-21 12:25:23.358 xcodebuild[9899] CFLog (0):
>> > > CFPropertyListCreateFromXMLDat
>> > > a(): Old-style plist parser: missing
>> > > semicolon in dictionary.
>> > > 2007-01-21 12:25:23.393 xcodebuild[9899] CFLog (0):
>> > > CFPropertyListCreateFromXMLData(): The file name for this data might
>> > > be (or it might not):
>> > > /Users/jannettdean/Desktop/JC_Stuff/cableBuild/CableSwig.xcodeproj/
>> > > project.pbxproj
>> > > 2007-01-21 12:25:23.489 xcodebuild[9899] XML parser error:
>>  > >       Unexpected character / at line 1
>> > > Old-style plist parser error:
>> > >       Missing ';' on line 531
>> > > xcodebuild: Error: couldn't load project
>> > > /Users/jannettdean/Desktop/JC_Stuff/cableBuild/CableSwig.xcodeproj
>> > > -----------------
>> > >
>> > > If I build CableSwig with ITK I get the following error:
>> > > ----------------
>> > > CMake Error: Cannot find gcc_platform.cmake.
>> > > ----------------
>> > > I found a thread regarding this here:
>> > > http://public.kitware.com/pipermail/insight-users/2004-December/
>> > >  011585.html
>> > > And tried what was recommended but that did not resolve the error.
>> > >
>> > > I haved tried so many different ways to build and nothing works.  My
>> > > only OS X machine is an old iBook, so it's really painful testing
>> > > different ways to build.  Every cmake configuration takes about 20
>> > > minutes.
>> > >
>> > > Does anyone have a CableSwig binary for OS X that I could use?  Or  
>> the
>> > > compiled libraries+jar for the java bindings.  I have all my  
>> ITK+ Java
>> > > bindings code written and I really need to port it to a mac.
>> > >
>> > > My environment is:
>> > > OS: OS X 10.4.6
>> > > CMake:  2.4 patch 6
>> > > Xcode: DevToolsCore-762.0;  DevToolsSupport-764.0
>> > >
>> > > Thanks,
>> > > Blair Cruz
>> > > _______________________________________________
>> > > Insight-users mailing list
>> > >  Insight-users at itk.org
>> > > http://www.itk.org/mailman/listinfo/insight-users
>> >
>> >
>> >
>>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users



-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr


More information about the Insight-users mailing list