Hi again,

I just see you have made the following change :

-       ins_len = mbsrtowcs(NULL, (const char **)&s, 0,&mbstate);
+       ins_len = mbsrtowcs(NULL, (__const char **)&s, 0,&mbstate);


Does that mean that the standard const keyword
causes some itch to gcc in your environment ?

What does that mean ?

If so, just redefine const as __const, but....

Regards

Jean-Pierre


Jean-Pierre André wrote:
> Hi Dominique,
>
> First, thank you for making this port to OpenSuse,
> I hope ntfs-3g will meet your expectations.
>
> I have no immediate explanation to the errors you
> get. There seems to be a problem with the "const"
> qualifier in function prototypes. Just an example on
> a function unlikely to conflict with some library :
>
> secaudit.c:6618: error: conflicting types for 'dumpalloc'
> secaudit.h:714: note: previous declaration of 'dumpalloc' was here
> The mentioned lines are (in the order they appear).
> void dumpalloc(const char*);
> void dumpalloc(const char *txt)
>
> I really do not see what the conflict can be.
>
> The usual compilation option are :
>
> gcc -DHAVE_CONFIG_H -I. -I..     -I../include/ntfs-3g -g -O2 -Wall -MT 
> ntfs_3g_secaudit-secaudit.o -MD -MP -MF 
> .deps/ntfs_3g_secaudit-secaudit.Tpo -c -o ntfs_3g_secaudit-secaudit.o 
> `test -f 'secaudit.c' || echo './'`secaudit.c
>
> When I want to exhibit more warnings, I use :
>
> gcc -DHAVE_CONFIG_H -I. -I..     -I../include/ntfs-3g -g -O2 -Wall -W 
> -Wall
> -Waggregate-return -Wbad-function-cast -Wcast-align -Wcast-qual
> -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Winline
> -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn
> -Wmissing-prototypes -Wmultichar -Wnested-externs -Wpointer-arith
> -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-prototypes -Wundef
> -Wwrite-strings -Wformat -Wformat-security -MT 
> ntfs_3g_secaudit-secaudit.o
> -MD -MP -MF .deps/ntfs_3g_secaudit-secaudit.Tpo -c -o
> ntfs_3g_secaudit-secaudit.o `test -f 'secaudit.c'
>
> and I get not a single warning.
>
> Moreover the errors are not due to the extra options you
> use, as I replayed them with not a single error or warning
> (I am currently using gcc 4.4.2). This is the try :
>
> gcc -DHAVE_CONFIG_H -I. -I..     -I../include/ntfs-3g 
> -fmessage-length=0 -O2 \
> -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables \
> -fasynchronous-unwind-tables -Wformat -Wformat-security -W 
> -Wno-sign-compare \
> -Werror -Wall -MT ntfs_3g_secaudit-secaudit.o -MD -MP -MF \
> .deps/ntfs_3g_secaudit-secaudit.Tpo -c -o ntfs_3g_secaudit-secaudit.o 
> `test \
> -f 'secaudit.c' || echo './'`secaudit.c
>
> So I cannot give an explanation for now, maybe some
> define specific to OpenSuse, affecting the "const"
> keyword. I am not imagining this keyword was redefined.
> Of course I can remove them, but this is making the
> code less secure....
>
> What kind of workaround did you use with the previous
> release (2009.4.4) ? It did not contain secaudit, so no
> surprise that these issues did not occur there, but the
> explanation might be similar.
>
> Maybe you post your "config.h" ?
>
> I keep thinking over this. If I get an explanation, I will
> tell you. An effective workaround is to remove this
> file altogether. This is just a side tool.
>
> Side note : some people have had a problem with
> #include <attr/xattr.h>
> at line 262, requiring libattr-dev to be installed.
> You do not have the error, so must have solved this,
> but it may be easier to replace the line by
> #include <sys/xattr.h>
> which does the same without the dependency.
>
> Regards
>
> Jean-Pierre
>
>
> Dominique Leuenberger a.k.a DimStar wrote:
>> Hi everybody,
>>
>> i'm a member of the openSUSE community and took on the task to updtae 
>> our ntfs-3g package to the currently latest version 2009.11.15.
>>
>> We're using the -Werror compile switch and this leads to a multitude 
>> of build failures, many of which we had with 2009.04 release already, 
>> some new ones and some I seem not to get around with.
>>
>> for your reference I attach the current patch we have (most of the 
>> changes were already the same for the 2009.04 release, so far new are 
>> all changes in secaudit.[ch]).
>>
>> Nevertheless, so far I get stuck with the build error:
>>
>> *********************
>>
>> gcc -DHAVE_CONFIG_H -I. -I..     -I../include/ntfs-3g 
>> -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
>> -funwind-tables -fasynchronous-unwind-tables -Wformat 
>> -Wformat-security -W -Wno-sign-compare -Werror -Wall -MT 
>> ntfs_3g_secaudit-secaudit.o -MD -MP -MF 
>> .deps/ntfs_3g_secaudit-secaudit.Tpo -c -o ntfs_3g_secaudit-secaudit.o 
>> `test -f 'secaudit.c' || echo './'`secaudit.c
>> secaudit.c:1813: error: conflicting types for 'relay_find_usid'
>> secaudit.h:725: note: previous declaration of 'relay_find_usid' was here
>> secaudit.c:1824: error: conflicting types for 'relay_find_gsid'
>> secaudit.h:727: note: previous declaration of 'relay_find_gsid' was here
>> secaudit.c:1835: error: conflicting types for 'relay_find_user'
>> secaudit.h:729: note: previous declaration of 'relay_find_user' was here
>> secaudit.c:1848: error: conflicting types for 'relay_find_group'
>> secaudit.h:730: note: previous declaration of 'relay_find_group' was 
>> here
>> cc1: warnings being treated as errors
>> secaudit.c: In function 'linux_permissions':
>> secaudit.c:1937: error: assignment discards qualifiers from pointer 
>> target type
>> secaudit.c: In function 'linux_owner':
>> secaudit.c:1964: error: assignment discards qualifiers from pointer 
>> target type
>> secaudit.c: In function 'setfull':
>> secaudit.c:4350: error: assignment discards qualifiers from pointer 
>> target type
>> secaudit.c: At top level:
>> secaudit.c:6618: error: conflicting types for 'dumpalloc'
>> secaudit.h:714: note: previous declaration of 'dumpalloc' was here
>> secaudit.c:6631: error: conflicting types for 'chkmalloc'
>> secaudit.h:710: note: previous declaration of 'chkmalloc' was here
>> secaudit.c:6652: error: conflicting types for 'chkcalloc'
>> secaudit.h:711: note: previous declaration of 'chkcalloc' was here
>> secaudit.c:6657: error: conflicting types for 'chkfree'
>> secaudit.h:712: note: previous declaration of 'chkfree' was here
>> secaudit.c:6701: error: conflicting types for 'chkisalloc'
>> secaudit.h:713: note: previous declaration of 'chkisalloc' was here
>> make[2]: *** [ntfs_3g_secaudit-secaudit.o] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> mv -f .deps/ntfs_3g_usermap-usermap.Tpo .deps/ntfs_3g_usermap-usermap.Po
>> make[2]: Leaving directory 
>> `/usr/src/packages/BUILD/ntfs-3g-2009.11.14/src'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `/usr/src/packages/BUILD/ntfs-3g-2009.11.14'
>> make: *** [all] Error 2
>> error: Bad exit status from /var/tmp/rpm-tmp.mJ5QZH (%build)
>>
>>
>> *****************
>>
>> I 'synched' the protoype from secaudit.h already with the function 
>> declaration in secaudit.c, but this seems not to help me here.
>>
>> I would appreciate if somebody could have a look at this and maybe 
>> give me some pointers.
>>
>> Best regards,
>> Dominique
>>
>>
>> ------------------------------------------------------------------------------
>>  
>>
>> Return on Information:
>> Google Enterprise Search pays you back
>> Get the facts.
>> http://p.sf.net/sfu/google-dev2dev
>>
>>
>> _______________________________________________
>> ntfs-3g-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel
>

-- 
JP André
email [email protected]





------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to