| Hi all, I’m trying to compile GNUstep base inside a Guix environment. The Guix GNUstep module (https://codeberg.org/guix/guix/src/branch/master/gnu/packages/gnustep.scm) is a bit of a mix; it defines a GNUstep make that’s configured with gcc, and libobjc2 that needs clang. I’ve defined a package that inherits from their GNUstep make but uses clang as the compiler, then a shell guix.scm environment at the top-level of the libs-base checkout, to try and build libs-base. The shell uses clang, libobjc2, and my GNUstep-make package configured with clang. It configures fine, but in make I get errors from the objc runtime headers, shown below. Is this a mistake in configuring the package (it seems like it’s trying to use both the local and the libobjc2 header for objc/runtime.h), or did I get something else wrong? Does anyone have advice for me here? Thanks, Graham. Making all for subproject ObjectiveC2... Compiling file NSBlocks.m ... In file included from NSBlocks.m:19: ../../Headers/ObjectiveC2/objc/runtime.h:89:15: error: typedef redefinition with different types ('void *' vs 'struct objc_property *') typedef void *objc_property_t; ^ /gnu/store/x7w055xaaqlpivfavr352kvcyg06qy04-profile/include/objc/runtime.h:150:31: note: previous definition is here typedef struct objc_property* objc_property_t; ^ […] In file included from NSBlocks.m:19: ../../Headers/ObjectiveC2/objc/runtime.h:133:1: error: unknown type name 'Method_t'; did you mean 'Method'? Method * class_copyMethodList(Class cls, unsigned int *outCount); ^~~~~~ Method ../../Headers/ObjectiveC2/objc/runtime.h:84:17: note: expanded from macro 'Method' # define Method Method_t ^ /gnu/store/x7w055xaaqlpivfavr352kvcyg06qy04-profile/include/objc/runtime.h:126:29: note: 'Method' declared here typedef struct objc_method *Method; ^ […] NSBlocks.m:35:8: error: unknown type name 'objc_mutex_t' extern objc_mutex_t __objc_runtime_mutex; ^ NSBlocks.m:42:12: error: incomplete definition of type 'struct objc_class' metaClass->class_pointer = superclass->class_pointer; ~~~~~~~~~^ /gnu/store/x7w055xaaqlpivfavr352kvcyg06qy04-profile/include/objc/runtime.h:84:16: note: forward declaration of 'struct objc_class' typedef struct objc_class *Class; ^ |
guix.scm
Description: Binary data
