gnustep-dev
[Top][All Lists]
Advanced

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

Re: gnustep-base on FreeBSD (from ports)


From: Fred Kiefer
Subject: Re: gnustep-base on FreeBSD (from ports)
Date: Wed, 17 May 2017 19:14:41 +0200

I think your compiler is not complaining about sizeof(void*). Instead this 
definition is problematic:

#define GSI_MAP_TABLE_S sizeof(GSI_MAP_TABLE_T)

The error message says why: application of 'sizeof' to interface 
'NSConcreteHashTable' is not supported on this architecture and platform

David just beat me on reporting this. I was trying to dig a bit deeper to see, 
where the actual problem in GNUstep is. And for me it looks like this isn’t one.

The line in GSIMap.h the compiler is complaining looks like this:

#ifndef GSI_MAP_TABLE_S
#define GSI_MAP_TABLE_S sizeof(GSI_MAP_TABLE_T)
#endif

and in NSConcreteMapTable.m we have a few lines before the include of GSIMap.h 
this:

#define GSI_MAP_TABLE_S instanceSize

So there is no reason for the compiler to ever evaluate the line it is 
complaining about.

Maybe I have a different version of the GNUstep code, but if not, you should 
write a bug report to clang.

Cheers
Fred


> Am 17.05.2017 um 18:46 schrieb David Wetzel <address@hidden>:
> 
> Hi!
> 
> It seems like sizeof(void*); is a gcc extension.
> 
> Is anyone working on a patch?
> 
> This is on 11.0-RELEASE-p2 amd64
> 
> Thanks!
> 
> David
> 
> 
> 
> ===>  Building for gnustep-base-1.24.8_6
> gmake[2]: Entering directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8'
> This is gnustep-make 2.6.7. Type 'gmake print-gnustep-make-help' for help.
> gmake[2]: Nothing to be done for 'GNUmakefile'.
> Making all in Source ...
> gmake[3]: Entering directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8/Source'
> Making all in Additions ...
> gmake[4]: Entering directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8/Source/Additions'
> Making all for subproject Additions...
> gmake[6]: Nothing to be done for 'internal-subproject-compile'.
> gmake[4]: Leaving directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8/Source/Additions'
> Making all in subprojects of library libgnustep-base...
> Making all for subproject Additions...
> gmake[7]: Nothing to be done for 'internal-subproject-compile'.
> Making all for subproject unix...
> gmake[7]: Nothing to be done for 'internal-subproject-compile'.
> Making all for library libgnustep-base...
> cc NSConcreteHashTable.m -c \
>      -MMD -MP -DGNUSTEP_TARGET_DIR=\".\" -DGNUSTEP_TARGET_CPU=\"amd64\" 
> -DGNUSTEP_TARGET_OS=\"freebsd\" -DGNUSTEP_IS_FLATTENED=\"yes\" 
> -DLIBRARY_COMBO=\"gnu-gnu-gnu\" -DGNUSTEP_BASE_INTERNAL=1 -Wall 
> -Wdeclaration-after-statement -Wcast-align -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 
> -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions 
> -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-nonfragile-abi 
> -D_NONFRAGILE_ABI -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import 
> -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -Wall -DGSWARN -DGSDIAGNOSE 
> -Wno-import -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -Wall -DGSWARN 
> -DGSDIAGNOSE -Wno-import -O2 -pipe -DLIBICONV_PLUG -fstack-protector 
> -fno-strict-aliasing -O2 -pipe -fstack-protector -fno-strict-aliasing 
> -Wno-import -I/usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector 
> -fno-strict-aliasing -Wno-import -DLIBICONV_PLUG -I/usr/local/include 
> -fgnu-runtime -fobjc-nonfragile-abi -fgnu-runtime -O2 -pipe -DLIBICONV_PLUG 
> -fstack-protector -fno-strict-aliasing -Wno-import -DLIBICONV_PLUG 
> -I/usr/local/include -fconstant-string-class=NSConstantString -I../Headers 
> -I./. -I. -I/usr/ports/lang/gnustep-base/work/GNUstep/Library/Headers 
> -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/System/Library/Headers -I/usr/local/include 
> -DLIBICONV_PLUG -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/System/Library/Headers 
> -I/usr/local/lib/libffi-3.2.1/include -I/usr/local/include/libxml2 
> -I/usr/include -I/usr/local/include -I/usr/local/include/p11-kit-1 \
>       -o obj/libgnustep-base.obj/NSConcreteHashTable.m.o
> cc NSConcreteMapTable.m -c \
>      -MMD -MP -DGNUSTEP_TARGET_DIR=\".\" -DGNUSTEP_TARGET_CPU=\"amd64\" 
> -DGNUSTEP_TARGET_OS=\"freebsd\" -DGNUSTEP_IS_FLATTENED=\"yes\" 
> -DLIBRARY_COMBO=\"gnu-gnu-gnu\" -DGNUSTEP_BASE_INTERNAL=1 -Wall 
> -Wdeclaration-after-statement -Wcast-align -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 
> -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions 
> -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-nonfragile-abi 
> -D_NONFRAGILE_ABI -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import 
> -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -Wall -DGSWARN -DGSDIAGNOSE 
> -Wno-import -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -Wall -DGSWARN 
> -DGSDIAGNOSE -Wno-import -O2 -pipe -DLIBICONV_PLUG -fstack-protector 
> -fno-strict-aliasing -O2 -pipe -fstack-protector -fno-strict-aliasing 
> -Wno-import -I/usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector 
> -fno-strict-aliasing -Wno-import -DLIBICONV_PLUG -I/usr/local/include 
> -fgnu-runtime -fobjc-nonfragile-abi -fgnu-runtime -O2 -pipe -DLIBICONV_PLUG 
> -fstack-protector -fno-strict-aliasing -Wno-import -DLIBICONV_PLUG 
> -I/usr/local/include -fconstant-string-class=NSConstantString -I../Headers 
> -I./. -I. -I/usr/ports/lang/gnustep-base/work/GNUstep/Library/Headers 
> -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/System/Library/Headers -I/usr/local/include 
> -DLIBICONV_PLUG -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/Local/Library/Headers 
> -I/usr/local/GNUstep/System/Library/Headers 
> -I/usr/local/lib/libffi-3.2.1/include -I/usr/local/include/libxml2 
> -I/usr/include -I/usr/local/include -I/usr/local/include/p11-kit-1 \
>       -o obj/libgnustep-base.obj/NSConcreteMapTable.m.o
> In file included from In file included from NSConcreteMapTable.m:29:
> In file included from ././common.h:34:
> ././GNUstepBase/GSConfig.h:416:13: warning: ignoring redefinition of 
> Objective-C qualifier macro [-Wobjc-macro-redefinition]
> #    define __strong
>            ^
> ././GNUstepBase/GSConfig.h:417:13: warning: ignoring redefinition of 
> Objective-C qualifier macro [-Wobjc-macro-redefinition]
> #    define __weak
>            ^
> NSConcreteHashTable.m:29:
> In file included from ././common.h:34:
> ././GNUstepBase/GSConfig.h:416:13: warning: ignoring redefinition of 
> Objective-C qualifier macro [-Wobjc-macro-redefinition]
> #    define __strong
>            ^
> ././GNUstepBase/GSConfig.h:417:13: warning: ignoring redefinition of 
> Objective-C qualifier macro [-Wobjc-macro-redefinition]
> #    define __weak
>            ^
> In file included from NSConcreteMapTable.m:149:
> /usr/local/include/GNUstepBase/GSIMap.h:1248:10: error: application of 
> 'sizeof' to interface 'NSConcreteMapTable' is not supported on this 
> architecture and platform
>  size = GSI_MAP_TABLE_S + map->chunkCount * sizeof(void*);
>         ^~~~~~~~~~~~~~~
> /usr/local/include/GNUstepBase/GSIMap.h:382:25: note: expanded fromIn file 
> included from NSConcreteHashTable.m:114:
> /usr/local/include/GNUstepBase/GSIMap.h:1248:10: error: application of 
> 'sizeof' to interface 'NSConcreteHashTable' is not supported on this 
> architecture and
>      platform
>   size = GSI_MAP_TABLE_S + map->chunkCount * sizeof(void*);
>         ^~~~~~~~~~~~~~~
> /usr/local/include/GNUstepBase/GSIMap.h:382:25: note: expanded from macro 
> 'GSI_MAP_TABLE_S'
> macro#define GSI_MAP_TABLE_S sizeof(GSI_MAP_TABLE_T)
>                        ^     ~~~~~~~~~~~~~~~~~
> 'GSI_MAP_TABLE_S'
> #define GSI_MAP_TABLE_S sizeof(GSI_MAP_TABLE_T)
>                        ^     ~~~~~~~~~~~~~~~~~
> 2 warnings and 1 error generated.
> gmake[6]: *** [/usr/local/GNUstep/System/Library/Makefiles/rules.make:479: 
> obj/libgnustep-base.obj/NSConcreteHashTable.m.o] Error 1
> gmake[6]: *** Waiting for unfinished jobs....
> 2 warnings and 1 error generated.
> gmake[6]: *** [/usr/local/GNUstep/System/Library/Makefiles/rules.make:479: 
> obj/libgnustep-base.obj/NSConcreteMapTable.m.o] Error 1
> gmake[5]: *** 
> [/usr/local/GNUstep/System/Library/Makefiles/Instance/library.make:275: 
> internal-library-all_] Error 2
> gmake[4]: *** 
> [/usr/local/GNUstep/System/Library/Makefiles/Master/rules.make:311: 
> libgnustep-base.all.library.variables] Error 2
> gmake[3]: *** 
> [/usr/local/GNUstep/System/Library/Makefiles/Master/library.make:37: 
> internal-all] Error 2
> gmake[3]: Leaving directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8/Source'
> gmake[2]: *** 
> [/usr/local/GNUstep/System/Library/Makefiles/Master/serial-subdirectories.make:53:
>  internal-all] Error 2
> gmake[2]: Leaving directory 
> '/usr/ports/lang/gnustep-base/work/gnustep-base-1.24.8'
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
> 
> Stop.
> make[1]: stopped in /usr/ports/lang/gnustep-base
> *** Error code 1
> 
> 
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev




reply via email to

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