Compiling Osirix with GnuStep

View: New views
8 Messages — Rating Filter:   Alert me  

Compiling Osirix with GnuStep

by Bugzilla from gerard@delafond.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by Fred Kiefer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by Bugzilla from gerard@delafond.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Le dimanche 18 octobre 2009, Fred Kiefer a écrit :

>
> 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.
OK. It works. Thanks.
> 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
Sure !
> Fred

New problem :
Papyrus3/PapyFileSystemUnix3.c: In function ‘int Papy3DGetNbFiles(char*,
int*)’:
Papyrus3/PapyFileSystemUnix3.c:327: erreur: invalid application of ‘sizeof’ to
incomplete type ‘DIR’
make[2]: *** [obj/./Papyrus3/PapyFileSystemUnix3.c.o] Erreur 1

I have a look at the bad line :
int
Papy3DGetNbFiles (char *dicomPath, int *nbFiles)
{

  struct stat     *aStatStruct;
  struct dirent   *aDirent;
  DIR             *aDIR;

  aStatStruct =  (struct stat*)emalloc3(sizeof(struct stat));
  aDirent =      (struct dirent*)emalloc3(sizeof(struct dirent));
  aDIR=         (DIR*)emalloc3(sizeof(DIR));


  aDIR = opendir(dicomPath);

Any idea ?

Thanks !

Gerard



_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Parent Message unknown Re: Compiling Osirix with GnuStep

by Bugzilla from gerard@delafond.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Le mardi 20 octobre 2009, Tom Hageman a écrit :

>
> Remove the aDir = emalloc3 ...
OK. It works.

New problem now :

 Compiling file Papyrus3/PapyFiles3.c ...                                                                    
Papyrus3/PapyFiles3.c: In function ‘PapyShort FindFreeFile3()’:                                              
Papyrus3/PapyFiles3.c:58: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort FileOpen3(char*, FILE*, FILE**,
void*)’:                        
Papyrus3/PapyFiles3.c:77: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:84: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3FileOpen(char*, FILE*, int,
void*)’:                      
Papyrus3/PapyFiles3.c:153: erreur: invalid conversion from ‘void*’ to ‘char*’                                
Papyrus3/PapyFiles3.c:224: erreur: invalid conversion from ‘void*’ to ‘char*’                                
Papyrus3/PapyFiles3.c:270: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:329: erreur: invalid conversion from ‘void*’ to ‘char*’                                
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3FileCreate(char*, FILE*,
PapyUShort, ETransf_Syntax, EPap_Compression, EModality, int, int, void*)’:                                                                    
Papyrus3/PapyFiles3.c:441: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:444: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:454: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:464: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:480: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:490: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:493: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:526: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:537: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:544: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:630: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort write_pos3(FILE*, PapyULong,
unsigned char**, PapyShort)’:      
Papyrus3/PapyFiles3.c:660: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:669: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:674: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3FileClose(PapyShort, int)’:                                
Papyrus3/PapyFiles3.c:695: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:699: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:703: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:705: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:773: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort
Papy3WriteAndCloseFile(PapyShort, int)’:                        
Papyrus3/PapyFiles3.c:802: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:807: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:818: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:833: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:845: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:856: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:870: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:881: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:897: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c: In function ‘PapyShort ReadGroup3(PapyShort,
PapyUShort*, unsigned char**, PapyULong*, PapyULong*)’:                                                                                                
Papyrus3/PapyFiles3.c:936: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:976: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:998: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:999: attention : deprecated conversion from string
constant to ‘char*’                  
Papyrus3/PapyFiles3.c:1034: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1076: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1093: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1126: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1137: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1143: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1155: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c: In function ‘PapyShort WriteGroup3(FILE*, unsigned
char*, PapyULong)’:                
Papyrus3/PapyFiles3.c:1181: attention : deprecated conversion from string
constant to ‘char*’                
Papyrus3/PapyFiles3.c:1184: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3GetNextGroupNb(PapyShort)’:
Papyrus3/PapyFiles3.c:1212: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1225: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3SkipNextGroup(PapyShort)’:
Papyrus3/PapyFiles3.c:1262: erreur: invalid conversion from ‘void*’ to
‘cachedGroupStruct*’
Papyrus3/PapyFiles3.c:1280: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1291: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1309: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1310: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1333: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1346: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1356: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1363: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1373: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1378: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3GotoGroupNb(PapyShort,
PapyShort)’:
Papyrus3/PapyFiles3.c:1408: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1423: erreur: invalid conversion from ‘int’ to
‘ETransf_Syntax’
Papyrus3/PapyFiles3.c:1428: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1438: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1441: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyUShort Papy3FindOwnerRange(PapyShort,
PapyUShort, char*)’:
Papyrus3/PapyFiles3.c:1485: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1541: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1577: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort Papy3GotoElemNb(PapyShort,
PapyUShort, PapyUShort, PapyULong*)’:
Papyrus3/PapyFiles3.c:1674: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1724: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyULong
Papy3ExtractItemLength(PapyShort)’:
Papyrus3/PapyFiles3.c:1812: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort
ComputeUndefinedItemLength3(PapyShort, PapyULong*)’:
Papyrus3/PapyFiles3.c:1867: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1906: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:1943: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c: In function ‘PapyShort
ComputeUndefinedSequenceLength3(PapyShort, PapyULong*)’:
Papyrus3/PapyFiles3.c:2006: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:2046: attention : deprecated conversion from string
constant to ‘char*’
Papyrus3/PapyFiles3.c:2064: attention : deprecated conversion from string
constant to ‘char*’
make[2]: *** [obj/./Papyrus3/PapyFiles3.c.o] Erreur 1
make[1]: *** [OsiriX.all.app.variables] Erreur 2
make: *** [internal-all] Erreur 2

Looks like this compilation is not straitforward :-)

Thanks

Gerard


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by David Chisnall :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 21 Oct 2009, at 15:58, delafond gerard wrote:

> Papyrus3/PapyFiles3.c:84: attention : deprecated conversion from  
> string
> constant to ‘char*’

You can safely ignore these.  The problem is that string constants are  
const char*, and implicitly casting them to char* drops the  
qualifier.  As string constants are, by definition, immutable, any  
attempt to modify them will cause a run time abort.  People often  
write char* when they mean const char* though, so it's not really a  
problem.

I think you can turn this option off with -Wno-write-strings or  
something similar.

> Papyrus3/PapyFiles3.c:153: erreur: invalid conversion from ‘void*’  
> to ‘char*’


This one just looks strange.  I can't think of any situations where  
this would not work.  What is the code that is causing it?  You should  
be allowed to cast from a void* to any pointer type, and at the most  
this kind of cast should raise a warning, not an error.

David

-- Send from my Jacquard Loom



_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by Bugzilla from gerard@delafond.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Le mercredi 21 octobre 2009, David Chisnall a écrit :

>
> > Papyrus3/PapyFiles3.c:153: erreur: invalid conversion from ‘void*’
> > to ‘char*’
>
> This one just looks strange.  I can't think of any situations where
> this would not work.  What is the code that is causing it?  You should
> be allowed to cast from a void* to any pointer type, and at the most
> this kind of cast should raise a warning, not an error.
>

             gPapyFile [theFileNb]    = theFp;
                          if (inToOpen && inNameP)
                          {
153->                                  gPapyFilePath[ theFileNb] = malloc(
strlen( inNameP)+1);
                                  strcpy( gPapyFilePath[ theFileNb], inNameP);
              }
Thanks for your help.

Gerard


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by David Chisnall :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 21 Oct 2009, at 18:39, delafond gerard wrote:

> 153->                                  gPapyFilePath[ theFileNb] =  
> malloc(
> strlen( inNameP)+1);


Assuming that  gPapyFilePath[ theFileNb] is a pointer type of some  
kind, that ought to work.  How is  gPapyFilePath declared?

David

-- Sent from my IBM 1620



_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: Compiling Osirix with GnuStep

by Bugzilla from gerard@delafond.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Le mercredi 21 octobre 2009, David Chisnall a écrit :

> On 21 Oct 2009, at 18:39, delafond gerard wrote:
> > 153->                                  gPapyFilePath[ theFileNb] =
> > malloc(
> > strlen( inNameP)+1);
>
> Assuming that  gPapyFilePath[ theFileNb] is a pointer type of some
> kind, that ought to work.  How is  gPapyFilePath declared?
>
> David
>
> -- Sent from my IBM 1620

looks like this :
Papyrus3/PapyGlobalVar3.h:WHERE3 char                   *gPapyFilePath  
[kMax_file_open];

All the code is available on
svn co https://osirix.svn.sourceforge.net/svnroot/osirix osirix

Thanks

Gerard


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@...
http://lists.gnu.org/mailman/listinfo/discuss-gnustep