gnustep-dev
[Top][All Lists]
Advanced

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

Re: base fails to compile with gcc


From: Gregory Casamento
Subject: Re: base fails to compile with gcc
Date: Thu, 14 Nov 2019 23:30:06 -0500

Guys,

I must say this.  I have been trying to, in general, hold myself to doing this rather formally up until recently.  I admit that I have been more directly pushing things in as of late.

Since, as you say, this could have been avoided by doing PRs... which it could have.  Should we not, as an project, move to this model?  It's known as gitflow and it's what I was following when I would create a branch with large changes and then have it reviewed by yourself and others before merging.   This would slow some development down, but it would have the effect of keeping master in a condition where it always builds and is always releasable (which should always be the case).

Here is a link, for reference: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Some might argue that this should only be done with large teams, but I used this process on a small team when I worked at a company known as customink where we only had 4 people and it still helped things go very smoothly.

This is the process I've been trying to adhere to.  I would advocate that, if PRs could have prevented this then, perhaps, we should all move to it.  I had a discussion with Riccardo where he thought this process was too much and was silly and that merging to the master branch directly is always the best way to go.   That's precisely what caused this.   We can make all of the arguments that "a focused developer wouldn't make these mistakes" but that's BS.  Process is here to prevent mistakes or to mitigate them.

I disagree with Riccardo's position wholeheartedly.   A more controlled and disciplined approach should be adopted and we should stick to it.

Any thoughts?

Yours, GC

Mailtrack Sender notified by
Mailtrack 11/14/19, 11:23:51 PM

On Thu, Nov 14, 2019 at 11:09 PM Gregory Casamento <address@hidden> wrote:

Guys,

This was my fault.  Fred, thank you for fixing this.  No intention to remove gcc support was intended.   I was simply in a hurry to wipe out the items on the MISSING list. ;) 

BTW, there is an experimental library which handles xpc but it is only available on *BSD right now.

GC

On Thu, Nov 14, 2019 at 5:08 PM Fred Kiefer <address@hidden> wrote:
I fixed these places.  Bugs like this could easily be avoided by using branches and pull requests and having the travis CI test the build on different environments. But this did not happen. Looks like somebody wants to stop compilation of GNUstep with gcc.

Fred

> Am 14.11.2019 um 21:55 schrieb Riccardo Mottola <address@hidden>:
>
> Hi,
>
> our base is not compiling on Debian with current gcc 9.2.
>
> The latter errors are certainly for Blocks being used enyway, but the first error about NSSet confuses me.
> I fixed NSError not being found because a missing header, but that is not enough.
>
>
> Making all for library libgnustep-base...
>  Compiling file NSXPCConnection.m ...
> In file included from NSXPCConnection.m:25:
> ../Headers/Foundation/NSXPCConnection.h:36:62: error: expected ‘;’ before ‘<’ token
>    36 | @class NSMutableDictionary, NSString, NSOperationQueue, NSSet<ObjectType>, NSLock, NSError;
>       | ^
>       | ;
> In file included from ../Headers/Foundation/NSObjCRuntime.h:41,
>                  from ../Headers/Foundation/NSObject.h:30,
>                  from ../Headers/Foundation/NSXPCConnection.h:28,
>                  from NSXPCConnection.m:25:
> ../Headers/Foundation/NSXPCConnection.h:40:49: error: unknown type name ‘NSError’
>    40 | DEFINE_BLOCK_TYPE(GSXPCProxyErrorHandler, void, NSError *);
>       |                                                 ^~~~~~~
> ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro ‘DEFINE_BLOCK_TYPE’
>    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>       |                            ^~~~~~
> ../Headers/GNUstepBase/GSBlocks.h:69:3: warning: no semicolon at end of struct or union
>    69 |   } *name
>       |   ^
> ../Headers/Foundation/NSXPCConnection.h:40:1: note: in expansion of macro ‘DEFINE_BLOCK_TYPE’
>    40 | DEFINE_BLOCK_TYPE(GSXPCProxyErrorHandler, void, NSError *);
>       | ^~~~~~~~~~~~~~~~~
> ../Headers/Foundation/NSXPCConnection.h:41:51: error: ‘void’ must be the only parameter
>    41 | DEFINE_BLOCK_TYPE(GSXPCInterruptionHandler, void, void);
>       |                                                   ^~~~
> ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro ‘DEFINE_BLOCK_TYPE’
>    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>       |                            ^~~~~~
> ../Headers/Foundation/NSXPCConnection.h:42:51: error: ‘void’ must be the only parameter
>    42 | DEFINE_BLOCK_TYPE(GSXPCInvalidationHandler, void, void);
>       |                                                   ^~~~
> ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro ‘DEFINE_BLOCK_TYPE’
>    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>       |                            ^~~~~~
> In file included from NSXPCConnection.m:25:
> ../Headers/Foundation/NSXPCConnection.h:85:49: error: expected ‘)’ before ‘^’ token
>    85 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler;
>       |                                                 ^
>       |                                                 )
> ../Headers/Foundation/NSXPCConnection.h:85:51: error: expected ‘)’ before ‘(’ token
>    85 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler;
>       |                                                   ^
>       |                                                   )
> ../Headers/Foundation/NSXPCConnection.h:87:60: error: expected ‘)’ before ‘^’ token
>    87 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler;
>       |                                                            ^
>       |                                                            )
> ../Headers/Foundation/NSXPCConnection.h:87:62: error: expected ‘)’ before ‘(’ token
>    87 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler;
>       | ^
>       | )
> NSXPCConnection.m:90:49: error: expected ‘)’ before ‘^’ token
>    90 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler
>       |                                                 ^
>       |                                                 )
> NSXPCConnection.m:90:51: error: expected ‘)’ before ‘(’ token
>    90 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler
>       |                                                   ^
>       |                                                   )
> NSXPCConnection.m:95:60: error: expected ‘)’ before ‘^’ token
>    95 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler
>       |                                                            ^
>       |                                                            )
> NSXPCConnection.m:95:62: error: expected ‘)’ before ‘(’ token
>    95 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void (^)(NSError *error))handler
>       | ^
>       | )
> make[4]: *** [/System/Library/Makefiles/rules.make:479: obj/libgnustep-base.obj/NSXPCConnection.m.o] Error 1
>
>




--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/


--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/

reply via email to

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