discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compiling Osirix with GnuStep


From: Fred Kiefer
Subject: Re: Compiling Osirix with GnuStep
Date: Sun, 18 Oct 2009 19:46:41 +0200
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

delafond gerard schrieb:
> Hi all
> 
> I am a Doctor, and I am trying to get Osirix (http://www.osirix-viewer.com/), 
> a free medical imaging editor with Gnustep.
> 
> I installed all gnustep software, I compiled pbxbuild, and tried to execute 
> it 
> as said in this page :
> http://osirix.svn.sourceforge.net/viewvc/osirix/Documentation/Developers 
> Guide/index.html
> 
> $ pbxbuild OsiriX.xcodeproj/   
> 
> First, I get numerous messages like this:                          
> 2009-10-17 09:36:56.879 pbxbuild[22110] Warning: Unknown reference type 
> 'PBXVariantGroup' in PBXGroup!                                                
>        
> 2009-10-17 09:36:56.886 pbxbuild[22110] Warning: Unknown reference type 
> 'PBXVariantGroup' in PBXGroup!      
> 
> Then this:
> 2009-10-17 09:36:57.230 pbxbuild[22110] Found Target OsiriX                   
>                                                                               
>  
> 2009-10-17 09:36:57.267 pbxbuild[22110] Found Target DCM Framework            
>                                                                               
>  
> 2009-10-17 09:36:57.291 pbxbuild[22110] Found Target DCM StaticLibrary        
>                                                                               
>  
> 2009-10-17 09:36:57.291 pbxbuild[22110] Don't know how to handle target type: 
> 'PBXAggregateTarget', skipping...                                             
>  
> 2009-10-17 09:36:57.292 pbxbuild[22110] Don't know how to handle target type: 
> 'PBXAggregateTarget', skipping...                                             
>  
> 2009-10-17 09:36:57.330 pbxbuild[22110] Found Target Decompress               
>                                                                               
>  
> 2009-10-17 09:36:57.331 pbxbuild[22110] Found Target DICOMPrint               
>                                                                               
>  
> 2009-10-17 09:36:57.331 pbxbuild[22110] Found Target 32-bit shell             
>                                                                               
>  
> 2009-10-17 09:36:57.332 pbxbuild[22110] Don't know how to handle target type: 
> 'PBXAggregateTarget', skipping...                                             
>  
> 2009-10-17 09:36:57.332 pbxbuild[22110] Found Target OsiriX Headers           
>                                                                               
>  
> 2009-10-17 09:36:57.333 pbxbuild[22110] Removing old build dir...             
>                                                                               
>  
> This is gnustep-make 2.0.8. Type 'make print-gnustep-make-help' for help.     
>                                                                               
>  
> Making all in OsiriX.app...                                                   
>                                                                               
>  
> mkdir -p ./obj/./ITK180                                                       
>               
> 
> Then this:
> sh /mnt/sda2/osirix/osirix/pbxbuild/scripts/script_26928318.sh                
>                                                                               
>  
> /mnt/sda2/osirix/osirix/pbxbuild/scripts/script_26928318.sh: line 17: syntax 
> error: unexpected end of file                                                 
>   
> make[1]: [before-all] Erreur 2 (ignorée)                                      
>                                                                               
>  
> sh /mnt/sda2/osirix/osirix/pbxbuild/scripts/script_135614455.sh               
>                                                                               
>  
> 
> 
> Then this:
> /mnt/sda2/osirix/osirix/pbxbuild/scripts/script_135614455.sh: line 41: `      
>   
> open(FH, "$INFO") or die "$0: $INFO: $!";'                                   
> make[1]: [before-all] Erreur 2 (ignorée)                                      
>                                                                               
>  
> Making all for app OsiriX...                                                  
>                                                                               
>  
>  Creating OsiriX.app/....                                                     
>                                                                               
>  
>  Compiling file NIfTI_Library/nifti1_io.c ...                                 
>                                                                               
>  
> NIfTI_Library/nifti1_io.c:295: attention : deprecated conversion from string 
> constant to ‘char*’                                                           
>   
> NIfTI_Library/nifti1_io.c:295: attention : deprecated conversion from string 
> constant to ‘char*’                                                           
>   
> 
> Then this:
> NIfTI_Library/nifti1_io.c: In function ‘int is_nifti_file(const char*)’:      
>                                                                               
>  
> NIfTI_Library/nifti1_io.c:2874: attention : comparaison entre des expressions 
> entières signée et non signée                                                 
>  
> NIfTI_Library/nifti1_io.c: In function ‘nifti_image* 
> nifti_convert_nhdr2nim(nifti_1_header, const char*)’:                         
>                           
> NIfTI_Library/nifti1_io.c:3248: attention : comparaison entre des expressions 
> entières signée et non signée                                                 
>  
> NIfTI_Library/nifti1_io.c: In function ‘nifti_image* nifti_image_read(const 
> char*, int)’:                                                                 
>    
> NIfTI_Library/nifti1_io.c:3606: attention : comparaison entre des expressions 
> entières signée et non signée                                                 
>  
> g++: apps: fichier d'entrée d'édition de liens n'est pas utilisé parce 
> l'édition de lien n'a pas été faite                                           
>         
> g++: Panes/OSIHotKeysPreferencePane/build: fichier d'entrée d'édition de 
> liens 
> n'est pas utilisé parce l'édition de lien n'a pas été faite                   
> g++: Panes: fichier d'entrée d'édition de liens n'est pas utilisé parce 
> l'édition de lien n'a pas été faite                                           
>        
> 
> Then this:
>  Compiling file Papyrus3/DicomDir/DicomDirDataSetWrite.c ...                  
>                                                                               
>  
> Dans le fichier inclus à partir de ././Papyrus3/Papyrus3.h:72,                
>                                                                               
>  
>           à partir de Papyrus3/DicomDir/DicomDir.h:24,                        
>                                                                               
>  
>           à partir de Papyrus3/DicomDir/DicomDirDataSetWrite.c:15:            
>                                                                               
>  
> ././Papyrus3/PapyPrivFunctionDef3.h:13:33: attention : libkern/OSByteOrder.h 
> : 
> Aucun fichier ou dossier de ce type                                           
> In file included from ././Papyrus3/Papyrus3.h:72,                             
>                                                                               
>  
> 
> (looks like some file is missing)
> 
> I found this header should be the same as the one in Linux source file. So, 
> il 
> replaced
> #include <libkern/OSByteOrder.h>
> by
> #include "/usr/src/linux-2.6.29.6-
> desktop586-2mnb/arch/x86/include/asm/byteorder.h"
> 
> The error message stops, but the result is as bad :
> ././Papyrus3/PapyPrivFunctionDef3.h: In function ‘long long unsigned int 
> UInt64ToHost(PapyShort, unsigned char*)’:
> ././Papyrus3/PapyPrivFunctionDef3.h:123: erreur: ‘OSSwapLittleToHostInt64’ 
> was 
> not declared in this scope
> ././Papyrus3/PapyPrivFunctionDef3.h:125: erreur: ‘OSSwapBigToHostInt64’ was 
> not declared in this scope
> 
> 
> then
> make[2]: *** [obj/./Papyrus3/DicomDir/DicomDirDataSetWrite.c.o] Erreur 1
> make[1]: *** [OsiriX.all.app.variables] Erreur 2
> make: *** [internal-all] Erreur 2
> 
> The availability of this program on Linux should be very important to let 
> medical establishments switch to free software.
> 
> I would appreciate any help which could make Osirix work on Linux
> 
> Many thanks
> 
> Gerard


Hi Gerard,

interesting stuff that you are doing here. The byte order problem you
are having should be easy to resolve. The Papyrus code uses the lowest
level of the byte order interface. You should change it over to the byte
order functions exported by Foundation, these are also implemented in
GNUstep base and therefore easily portable. Have a look at the file
NSByteOrder.h and replace OSSwapBigToHostInt64 with
NSSwapBigLongLongToHost and so on.
You could of course also rebuild this functionality based on the Linux
header you already found, but this is surely more trouble.

Hope this helps
Fred




reply via email to

[Prev in Thread] Current Thread [Next in Thread]