View Issue Details

IDProjectCategoryView StatusLast Update
0005029SOGoActiveSyncpublic2020-08-19 12:28
Reportermroethke Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionreopened 
Product Version4.3.2 
Fixed in Version5.0.0 
Summary0005029: Does not build against gnustep-base 1.27
Description

The ActiveSync component of sogo does not build against gnustep-base version 1.27.

This is not limited to the last release, it also occurs with current master.

See the build log for details.

TagsNo tags attached.

Activities

mroethke

mroethke

2020-05-19 07:25

reporter  

build.log (13,797 bytes)   
This is gnustep-make 2.8.0. Type 'make print-gnustep-make-help' for help.
Running in gnustep-make version 2 strict mode.
Making all for bundle ActiveSync...
 Creating ActiveSync.SOGo/....
 Compiling file ActiveSyncProduct.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ActiveSyncProduct.m:31:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file iCalAlarm+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/CardGroup.h:26,
                 from ../SOPE/NGCards/iCalAlarm.h:25,
                 from iCalAlarm+ActiveSync.h:33,
                 from iCalAlarm+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file iCalEvent+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/CardGroup.h:26,
                 from ../SOPE/NGCards/iCalEntityObject.h:25,
                 from ../SOPE/NGCards/iCalRepeatableEntityObject.h:25,
                 from ../SOPE/NGCards/iCalEvent.h:25,
                 from iCalEvent+ActiveSync.h:34,
                 from iCalEvent+ActiveSync.m:31:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file iCalRecurrenceRule+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/iCalRecurrenceRule.h:26,
                 from iCalRecurrenceRule+ActiveSync.h:34,
                 from iCalRecurrenceRule+ActiveSync.m:31:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file iCalTimeZone+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/CardGroup.h:26,
                 from ../SOPE/NGCards/iCalTimeZone.h:29,
                 from iCalTimeZone+ActiveSync.h:33,
                 from iCalTimeZone+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file iCalToDo+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/CardGroup.h:26,
                 from ../SOPE/NGCards/iCalEntityObject.h:25,
                 from ../SOPE/NGCards/iCalRepeatableEntityObject.h:25,
                 from ../SOPE/NGCards/iCalToDo.h:25,
                 from iCalToDo+ActiveSync.h:33,
                 from iCalToDo+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NSCalendarDate+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSCalendarDate.h:24,
                 from NSCalendarDate+ActiveSync.h:33,
                 from NSCalendarDate+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NSData+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSData.h:27,
                 from NSData+ActiveSync.h:33,
                 from NSData+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NSDate+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSDate.h:24,
                 from NSDate+ActiveSync.h:33,
                 from NSDate+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NGDOMElement+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from /usr/include/DOM/DOMNode.h:25,
                 from /usr/include/DOM/DOMElement.h:25,
                 from NGDOMElement+ActiveSync.h:33,
                 from NGDOMElement+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NGMimeMessage+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from /usr/include/NGMail/NGMimeMessage.h:25,
                 from NGMimeMessage+ActiveSync.h:33,
                 from NGMimeMessage+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NGVCard+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from ../SOPE/NGCards/CardElement.h:24,
                 from ../SOPE/NGCards/CardGroup.h:26,
                 from ../SOPE/NGCards/NGVCard.h:25,
                 from NGVCard+ActiveSync.h:33,
                 from NGVCard+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NSArray+SyncCache.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSArray.h:27,
                 from NSArray+SyncCache.h:33,
                 from NSArray+SyncCache.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file NSString+ActiveSync.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSString.h:87,
                 from NSString+ActiveSync.h:33,
                 from NSString+ActiveSync.m:30:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
 Compiling file SOGoActiveSyncDispatcher.m ...
In file included from /usr/include/inttypes.h:25,
                 from /usr/include/GNUstepBase/GSConfig.h:185,
                 from /usr/include/GNUstepBase/GSVersionMacros.h:224,
                 from /usr/include/Foundation/NSObjCRuntime.h:38,
                 from /usr/include/Foundation/NSObject.h:30,
                 from SOGoActiveSyncDispatcher.h:31,
                 from SOGoActiveSyncDispatcher.m:31:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
SOGoActiveSyncDispatcher.m: In function ‘-[SOGoActiveSyncDispatcher processFolderSync:inResponse:]’:
SOGoActiveSyncDispatcher.m:980:14: warning: multiple methods named ‘-synchronize’ found
  980 |              if (!currentFolder || !([currentFolder synchronize]))
      |              ^~
In file included from /usr/include/Foundation/Foundation.h:161,
                 from ../SoObjects/SOGo/SOGoCache.h:24,
                 from SOGoActiveSyncDispatcher.m:76:
/usr/include/Foundation/NSUbiquitousKeyValueStore.h:100:1: note: using ‘-(void)synchronize’
  100 | - (void) synchronize;
      | ^
/usr/include/Foundation/NSUbiquitousKeyValueStore.h:100:1: note: also found ‘-(void)synchronize’
In file included from /usr/include/Foundation/Foundation.h:179,
                 from ../SoObjects/SOGo/SOGoCache.h:24,
                 from SOGoActiveSyncDispatcher.m:76:
/usr/include/Foundation/NSUserDefaults.h:479:1: note: also found ‘-(BOOL)synchronize’
  479 | - (BOOL) synchronize;
      | ^
SOGoActiveSyncDispatcher.m:980:36: error: invalid use of void expression
  980 |              if (!currentFolder || !([currentFolder synchronize]))
      |                                    ^
SOGoActiveSyncDispatcher.m:1138:12: warning: multiple methods named ‘-synchronize’ found
 1138 |            ![currentFolder synchronize])
      |            ^
In file included from /usr/include/Foundation/Foundation.h:161,
                 from ../SoObjects/SOGo/SOGoCache.h:24,
                 from SOGoActiveSyncDispatcher.m:76:
/usr/include/Foundation/NSUbiquitousKeyValueStore.h:100:1: note: using ‘-(void)synchronize’
  100 | - (void) synchronize;
      | ^
/usr/include/Foundation/NSUbiquitousKeyValueStore.h:100:1: note: also found ‘-(void)synchronize’
In file included from /usr/include/Foundation/Foundation.h:179,
                 from ../SoObjects/SOGo/SOGoCache.h:24,
                 from SOGoActiveSyncDispatcher.m:76:
/usr/include/Foundation/NSUserDefaults.h:479:1: note: also found ‘-(BOOL)synchronize’
  479 | - (BOOL) synchronize;
      | ^
SOGoActiveSyncDispatcher.m:1138:12: error: invalid use of void expression
 1138 |            ![currentFolder synchronize])
      |            ^
make[3]: *** [/usr/share/GNUstep/Makefiles/rules.make:515: obj/ActiveSync.obj/SOGoActiveSyncDispatcher.m.o] Error 1
make[2]: *** [/usr/share/GNUstep/Makefiles/Instance/bundle.make:193: internal-bundle-run-compile-submake] Error 2
make[1]: *** [/usr/share/GNUstep/Makefiles/Master/rules.make:297: ActiveSync.all.bundle.variables] Error 2
make: *** [/usr/share/GNUstep/Makefiles/Master/bundle.make:37: internal-all] Error 2
build.log (13,797 bytes)   
the_nic

the_nic

2020-05-20 03:24

reporter   ~0014363

it looks like these issues can be fixed by adding proper casts like this:

before

       if (![currentFolder isKindOfClass: [SOGoGCSFolder class]] ||
           ![currentFolder synchronize])
         {
           [folders removeObjectAtIndex: count];
           continue;
         }

can be fixed with:

         if (![currentFolder isKindOfClass: [SOGoGCSFolder class]] ||
           ![currentFolder synchronize])
         {
           [(SOGoGCSFolder*)folders removeObjectAtIndex: count];
           continue;
         }
the_nic

the_nic

2020-05-20 03:24

reporter   ~0014364

I meant [(SOGoGCSFolder*)currentFolder synchronize] in the if condition actually.

mroethke

mroethke

2020-05-25 07:37

reporter  

gcc10-fix.patch (363 bytes)   
diff --git a/SoObjects/Mailer/SOGoMailObject.h b/SoObjects/Mailer/SOGoMailObject.h
index 2d412e47c..5b53c4f54 100644
--- a/SoObjects/Mailer/SOGoMailObject.h
+++ b/SoObjects/Mailer/SOGoMailObject.h
@@ -51,7 +51,7 @@
 
 @class WOResponse;
 
-NSArray *SOGoMailCoreInfoKeys;
+extern NSArray *SOGoMailCoreInfoKeys;
 
 @interface SOGoMailObject : SOGoMailBaseObject
 {
gcc10-fix.patch (363 bytes)   
mroethke

mroethke

2020-05-25 07:37

reporter   ~0014375

That indeed seems to work, as in it compiles. I attached the resulting diff. I have also attached a fix for gcc10 compatibility.

patch-gnustep-base-1.27.patch (2,379 bytes)   
diff --git a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m
index 6465236ec..b32e45360 100644
--- a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m
+++ b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m
@@ -2211,7 +2211,7 @@ FIXME
 
                    // Cache-entry still exists but folder doesn't exists or synchronize flag is not set.
                    // We ignore the folder and wait for foldersync to do the cleanup.
-                   if (!(mfCollection && [mfCollection synchronize]))
+                   if (!(mfCollection && [(SOGoGCSFolder*)mfCollection synchronize]))
                      {
                        if (debugOn)
                          [self logWithFormat: @"EAS - Folder %@ not found. Ignoring ...", folderName];
@@ -2245,7 +2245,7 @@ FIXME
               realCollectionId = [folderName realCollectionIdWithFolderType: &mergedFolderType];
               mfCollection = [self collectionFromId: realCollectionId  type: mergedFolderType];
 
-              if (!(mfCollection && [mfCollection synchronize]))
+              if (!(mfCollection && [(SOGoGCSFolder*)mfCollection synchronize]))
                 {
                   if (debugOn)
                     [self logWithFormat: @"EAS - Folder %@ not found. Reset personal folder to cleanup", folderName];
diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m
index 907612c47..0f1b98642 100644
--- a/ActiveSync/SOGoActiveSyncDispatcher.m
+++ b/ActiveSync/SOGoActiveSyncDispatcher.m
@@ -977,7 +977,7 @@ void handle_eas_terminate(int signum)
 	       }
 
              // Remove the folder from device if it doesn't exist, or don't want to sync it.
-             if (!currentFolder || !([currentFolder synchronize]))
+             if (!currentFolder || !([(SOGoGCSFolder*)currentFolder synchronize]))
                {
                  // Don't send a delete when MergedFoler is set, we have done it above.
                  // Windows Phones don't like when a <Delete>-folder is sent twice.
@@ -1135,7 +1135,7 @@ void handle_eas_terminate(int signum)
          continue;
 
        if (![currentFolder isKindOfClass: [SOGoGCSFolder class]] ||
-           ![currentFolder synchronize])
+           ![(SOGoGCSFolder*)currentFolder synchronize])
          {
            [folders removeObjectAtIndex: count];
            continue;
patch-gnustep-base-1.27.patch (2,379 bytes)   
mroethke

mroethke

2020-06-24 04:09

reporter   ~0014425

Reopening is not quite right, but opening another bug is not quite right either.

The commit you pushed has a wrong commit message. It does not fix gcc 10 compatibility. it fixes gnustep 1.27 compatibility. Which is the point of this report, but it does not look like that when you just browse commit messages.
The other patch is definitely necessary for gcc 10 compatibility.

ludovic

ludovic

2020-06-24 07:58

administrator   ~0014426

Noted, the bug is referenced here anyway. I won't amend old commit messages.

Related Changesets

sogo: master e469f52d

2020-06-23 13:02:49

ludovic

Details Diff
fix(eas): gcc v10 compat fixes (fixes 0005029) Affected Issues
0005029
mod - ActiveSync/SOGoActiveSyncDispatcher+Sync.m Diff File
mod - ActiveSync/SOGoActiveSyncDispatcher.m Diff File

sogo: master 8507204e

2020-08-19 12:28:30

the_nic


Committer: GitHub Details Diff
fix(core): fix GCC 10 compatibility

With GCC 10, SOGoAptFormatter.m FTBS with the following error:

SOGoAptFormatter.m: In function ‘-[SOGoAptFormatter setPrivateTitleOnly]’:
SOGoAptFormatter.m:104:56: error: expected ‘)’ before ‘::’ token
104 | self->formatAction = @selector(titleOnlyForPrivateApt::);

Simply name the second argument, so gcc is happy.

Also add the `external` keyword to a header declared variable.

Fixes 0005029
Affected Issues
0005029
mod - SoObjects/Mailer/SOGoMailObject.h Diff File
mod - UI/SOGoUI/SOGoAptFormatter.m Diff File

Issue History

Date Modified Username Field Change
2020-05-19 07:25 mroethke New Issue
2020-05-19 07:25 mroethke File Added: build.log
2020-05-20 03:24 the_nic Note Added: 0014363
2020-05-20 03:24 the_nic Note Added: 0014364
2020-05-25 07:37 mroethke File Added: gcc10-fix.patch
2020-05-25 07:37 mroethke File Added: patch-gnustep-base-1.27.patch
2020-05-25 07:37 mroethke Note Added: 0014375
2020-06-23 13:07 ludovic Changeset attached => sogo master e469f52d
2020-06-23 13:07 ludovic Assigned To => ludovic
2020-06-23 13:07 ludovic Resolution open => fixed
2020-06-23 13:07 ludovic Status new => resolved
2020-06-23 14:05 francis Fixed in Version => 5.0.0
2020-06-24 04:09 mroethke Status resolved => feedback
2020-06-24 04:09 mroethke Resolution fixed => reopened
2020-06-24 04:09 mroethke Note Added: 0014425
2020-06-24 07:58 ludovic Note Added: 0014426
2020-06-24 07:59 ludovic Status feedback => closed
2020-08-19 12:28 the_nic Changeset attached => sogo master 8507204e