XCGLogger icon indicating copy to clipboard operation
XCGLogger copied to clipboard

Does not seem to work in linux environment

Open neilt opened this issue 5 years ago • 1 comments

Tried to use XCGLogger in Fedora 30 with swift-lang.

Get the following error:

#include "/home/admin/rss2pg/.build/checkouts/XCGLogger/Sources/ObjcExceptionBridging/include/ObjcExceptionBridging.h"
         ^
/home/admin/rss2pg/.build/checkouts/XCGLogger/Sources/ObjcExceptionBridging/include/ObjcExceptionBridging.h:10:9: error: 'Foundation/Foundation.h' file not found
#import <Foundation/Foundation.h>
        ^
/home/admin/rss2pg/.build/checkouts/XCGLogger/Sources/XCGLogger/Misc/HelperFunctions.swift:11:8: error: could not build C module 'ObjcExceptionBridging'
import ObjcExceptionBridging
       ^

XCGLogger is being installed using:

 .package(url: "https://github.com/DaveWoodCom/XCGLogger.git", from: "7.0.0"),
  1. Is there a way to install using the package manager without ObjcExceptionBridging since linux does not have the Objc runtime?

  2. Any chance of making XCGLogger work with linux using #if statements? Maybe #if !os(linux) around the ObjcExceptionBridging stuff.

  3. Maybe there are other reasons this will never work and it is futile to try? If so, what reasons?

BTW This is on

Swift version 5.0.1 (swift-5.0.1-RELEASE)
Target: x86_64-unknown-linux-gnu

neilt avatar Jun 17 '19 20:06 neilt

ObjcExceptionBridging stuff aim to catch obj runtime errors https://github.com/DaveWoodCom/XCGLogger/blob/64dce71f6b8657df1aa7ab94cf748dad744b69af/Sources/XCGLogger/Misc/HelperFunctions.swift#L28

inside FileDestination https://github.com/DaveWoodCom/XCGLogger/blob/64dce71f6b8657df1aa7ab94cf748dad744b69af/Sources/XCGLogger/Destinations/FileDestination.swift#L106

so @neilt you can PR on HelperFunctions.swift #if !os(Linux) #endif on import and on the two _try_objc call

phimage avatar Sep 03 '19 08:09 phimage