Skip to content

Not compiling on Linux #4

@bynelus

Description

@bynelus

Let me kick off by saying what a great framework Neo4j-swift is to work with. I got it working quite fast and didn't have issues at all. While I'm now ready to push code to production, I get errors during building of my docker image. I think it has something to do with Bolt, but can't find the origin. Maybe good to mention that I use it with Vapor 4. 🙆

Do you have an idea where it fails?

Build commando (on m1 chip):
docker buildx build . --platform linux/amd64 -t {source}:{tag} --push

Log errors:

[1369/1373] Compiling Bolt CertificateValidatorProtocol.swift
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/Connection.swift:82:21: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
#0 1001.4                 let result = response.map { bytes -> Void in
#0 1001.4                 ~~~~^~~~~~
#0 1001.4                 _
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/EncryptedSocket.swift:47:49: warning: 'forClient(cipherSuites:minimumTLSVersion:maximumTLSVersion:certificateVerification:trustRoots:certificateChain:privateKey:applicationProtocols:shutdownTimeout:keyLogCallback:)' is deprecated: renamed to 'makeClientConfiguration()'
#0 1001.4         var tlsConfiguration = TLSConfiguration.forClient(trustRoots: trustRoot, certificateChain: cert, privateKey: nil)
#0 1001.4                                                 ^
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/EncryptedSocket.swift:47:49: note: use 'makeClientConfiguration()' instead
#0 1001.4         var tlsConfiguration = TLSConfiguration.forClient(trustRoots: trustRoot, certificateChain: cert, privateKey: nil)
#0 1001.4                                                 ^~~~~~~~~
#0 1001.4                                                 makeClientConfiguration
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/EncryptedSocket.swift:68:35: warning: 'init(context:serverHostname:verificationCallback:)' is deprecated: replaced by 'init(context:serverHostname:customVerificationCallback:)'
#0 1001.4         let openSslHandler = try! NIOSSLClientHandler(context: sslContext, serverHostname: self.hostname, verificationCallback: verificationCallback)
#0 1001.4                                   ^
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/EncryptedSocket.swift:68:35: note: use 'init(context:serverHostname:customVerificationCallback:)' instead
#0 1001.4         let openSslHandler = try! NIOSSLClientHandler(context: sslContext, serverHostname: self.hostname, verificationCallback: verificationCallback)
#0 1001.4                                   ^                                                                       ~~~~~~~~~~~~~~~~~~~~
#0 1001.4                                                                                                           customVerificationCallback
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/SHA1.swift:103:17: warning: using '_' to ignore the result of a Void-returning function is redundant
#0 1001.4                 _=data.copyBytes(to: dest, from: range)               // Retrieve one chunk
#0 1001.4                 ^~
#0 1001.4
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/SHA1.swift:113:13: warning: using '_' to ignore the result of a Void-returning function is redundant
#0 1001.4             _=data.copyBytes(to: dest, from: range)                   // Retrieve remainder
#0 1001.4             ^~
#0 1001.4
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/UnencryptedSocket.swift:97:19: warning: result of call to 'connectTimeout' is unused
#0 1001.4         bootstrap.connectTimeout(TimeAmount.milliseconds(Int64(timeout)))
#0 1001.4                   ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 1001.4 /build/.build/checkouts/Bolt-swift/Sources/UnencryptedSocket.swift:142:13: warning: initialization of immutable value 'c' was never used; consider replacing with assignment to '_' or removing it
#0 1001.4         let c = cnt
#0 1001.4         ~~~~^
#0 1001.4         _
#0 1002.1 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[1371/1375] Compiling Theo BoltClient.swift
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/BoltClient.swift:56:50: error: cannot find 'TrustSpecificOrRootCertificateValidator' in scope
#0 1007.5                 encSocket.certificateValidator = TrustSpecificOrRootCertificateValidator(hostname: self.hostname, port: port, trustedCertificateAtPath: certPath)
#0 1007.5                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/BoltClient.swift:58:50: error: cannot find 'TrustRootOnlyCertificateValidator' in scope
#0 1007.5                 encSocket.certificateValidator = TrustRootOnlyCertificateValidator(hostname: self.hostname, port: port)
#0 1007.5                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/BoltClient.swift:333:34: warning: enum case 'success' has one associated value that is a tuple of 2 elements
#0 1007.5                 case let .success(isSuccess, parsedResponses):
#0 1007.5                                  ^
#0 1007.5                                  (                           )
#0 1007.5 <unknown>:0: note: 'success' declared here
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/BoltClient.swift:506:25: warning: initialization of immutable value 'error' was never used; consider replacing with assignment to '_' or removing it
#0 1007.5                     let error = BoltClientError.queryUnsuccessful
#0 1007.5                     ~~~~^~~~~
#0 1007.5                     _
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/ClientProtocol.swift:5:33: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
#0 1007.5 public protocol ClientProtocol: class {
#0 1007.5                                 ^~~~~
#0 1007.5                                 AnyObject
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:382:32: warning: cast from 'PackProtocol?' to unrelated type 'UInt8' always fails
#0 1007.5         } else if let l = lVal as? UInt8, let r = rVal as? UInt8 {
#0 1007.5                           ~~~~ ^   ~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:382:56: warning: cast from 'PackProtocol?' to unrelated type 'UInt8' always fails
#0 1007.5         } else if let l = lVal as? UInt8, let r = rVal as? UInt8 {
#0 1007.5                                                   ~~~~ ^   ~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:384:32: warning: cast from 'PackProtocol?' to unrelated type 'UInt16' always fails
#0 1007.5         } else if let l = lVal as? UInt16, let r = rVal as? UInt16 {
#0 1007.5                           ~~~~ ^   ~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:384:57: warning: cast from 'PackProtocol?' to unrelated type 'UInt16' always fails
#0 1007.5         } else if let l = lVal as? UInt16, let r = rVal as? UInt16 {
#0 1007.5                                                    ~~~~ ^   ~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:386:32: warning: cast from 'PackProtocol?' to unrelated type 'UInt32' always fails
#0 1007.5         } else if let l = lVal as? UInt32, let r = rVal as? UInt32 {
#0 1007.5                           ~~~~ ^   ~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:386:57: warning: cast from 'PackProtocol?' to unrelated type 'UInt32' always fails
#0 1007.5         } else if let l = lVal as? UInt32, let r = rVal as? UInt32 {
#0 1007.5                                                    ~~~~ ^   ~~~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:396:32: warning: cast from 'PackProtocol?' to unrelated type 'UInt' always fails
#0 1007.5         } else if let l = lVal as? UInt, let r = rVal as? UInt {
#0 1007.5                           ~~~~ ^   ~~~~
#0 1007.5 /build/.build/checkouts/Neo4j-Swift/Sources/Theo/Model/Node.swift:396:55: warning: cast from 'PackProtocol?' to unrelated type 'UInt' always fails
#0 1007.5         } else if let l = lVal as? UInt, let r = rVal as? UInt {

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions