3 votes

la compilation de cocoa lumberjack avec Xcode 8.3.2 entraîne des erreurs dans DDOSLogger.m

J'essaie de construire un bûcheron/swift en cacao via des cabosses de cacao. La compilation du dernier tag 3.2.0 aboutit à des erreurs dans DDOSLogger.m Voici un exemple :

        .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:17: error: static_assert failed "formatters/labels/descriptions must be a constant string"
                os_log_debug(OS_LOG_DEFAULT, msg);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:9: note: expanded from macro 'os_log_debug'
        os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:175:9: note: expanded from macro 'os_log_with_type'
        OS_LOG_CALL_WITH_FORMAT(_os_log_impl, \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:59:28: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
        OS_LOG_PRAGMA_PUSH OS_LOG_STRING(LOG, _os_fmt_str, fmt); \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:50:9: note: expanded from macro 'OS_LOG_STRING'
        _Static_assert(__builtin_constant_p(_str), \
        ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~
.../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:17: error: array initializer must be an initializer list or string literal
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:9: note: expanded from macro 'os_log_debug'
        os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
        ^
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:175:9: note: expanded from macro 'os_log_with_type'
        OS_LOG_CALL_WITH_FORMAT(_os_log_impl, \
        ^
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:59:47: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
        OS_LOG_PRAGMA_PUSH OS_LOG_STRING(LOG, _os_fmt_str, fmt); \
                                              ^
.../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:46: error: os_log() format argument is not a string constant
                os_log_debug(OS_LOG_DEFAULT, msg);
                                             ^~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:50: note: expanded from macro 'os_log_debug'
        os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
                                                 ^~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:176:55: note: expanded from macro 'os_log_with_type'
                (&__dso_handle, _log_tmp, _type_tmp), format, ##__VA_ARGS__); \
                                                      ^~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:60:65: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
        uint8_t _os_fmt_buf[__builtin_os_log_format_buffer_size(fmt, ##__VA_ARGS__)]; \
                                                                ^~~

J'ai mis à jour les pods de cacao, j'ai essayé avec le dernier Xcode 8.3.1, j'ai tout nettoyé, etc... pas de chance. Ce qui me surprend, c'est que je ne trouve aucune discussion à ce sujet... apparemment, je n'ai pas reçu le message parce que tous les autres ont soit ce fonctionnement, soit utilisent un tag plus ancien.

L'utilisation du tag 3.1.0 fonctionne bien, je crois entre autres qu'il n'a pas le DDOSLogger inclus.

2voto

Preemoz Points 65

Je ne sais pas si vous avez réussi à résoudre ce problème, mais un problème similaire est décrit ici - https://github.com/CocoaLumberjack/CocoaLumberjack/issues/883

Il s'agit essentiellement d'un bug dans le CocoaLumberjack qui est apparu avec la nouvelle version de Xcode et qui a déjà été corrigé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X