PureSwift / Bluetooth

Pure Swift Bluetooth library
http://pureswift.github.io/Bluetooth/
MIT License
176 stars 25 forks source link

[Help Needed] <compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyON' #138

Closed DrAma999 closed 2 years ago

DrAma999 commented 2 years ago

Hello, I'm desperately trying to revive this project that is based on your libraries stack. This project is quite old and I've make forks of your libraries and this library to update it and make it compile on Ubuntu. Unfortunately after I've fixed some issues, mainly due to misalignment between swift version and libraries version, I've found myself stuck with those kind of errors during the linking phase. Project itself seems to build fine, but as soon as I try to test it swift test it shows me that error.

lsb_release -r
/usr/bin/swiftc -print-target-info
/usr/bin/swiftc -print-target-info
/usr/bin/swift-frontend -frontend -print-target-info
/usr/bin/swift-frontend -frontend -print-target-info
/usr/bin/swift-frontend -frontend -emit-supported-features /tmp/TemporaryDirectory.R035Th/dummyInput-1.swift
/usr/bin/swiftc -L /home/pi/Desktop/RaspberryBLE/PunchBLE/.build/aarch64-unknown-linux-gnu/debug -o /home/pi/Desktop/RaspberryBLE/PunchBLE/.build/aarch64-unknown-linux-gnu/debug/RaspberryBLE -module-name RaspberryBLE -lBluetoothHCI -lBluetooth -lGATT -emit-executable -Xlinker '-rpath=$ORIGIN' @/home/pi/Desktop/RaspberryBLE/PunchBLE/.build/aarch64-unknown-linux-gnu/debug/RaspberryBLE.product/Objects.LinkFileList -target aarch64-unknown-linux-gnu -L /usr/lib
error: link command failed with exit code 1 (use -v to see invocation)
/home/pi/Desktop/RaspberryBLE/PunchBLE/Sources/RaspberryBLE/Peripheral/Services.swift:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyON'
/home/pi/Desktop/RaspberryBLE/PunchBLE/Sources/RaspberryBLE/Peripheral/Services.swift:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT26GATTCharacteristicPropertyO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionO0A013BitMaskOptionAAMc'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionON'
<compiler-generated>:0: error: undefined reference to '$s13BluetoothGATT22ATTAttributePermissionON'
/home/pi/Desktop/RaspberryBLE/PunchBLE/.build/checkouts/SwiftLinuxBLE/Sources/SwiftLinuxBLE/Characteristic.swift:0: error: undefined reference to '$s13BluetoothGATT13GATTAttributeO10DescriptorVN'
/home/pi/Desktop/RaspberryBLE/PunchBLE/.build/checkouts/SwiftLinuxBLE/Sources/SwiftLinuxBLE/Characteristic.swift:0: error: undefined reference to '$s13BluetoothGATT13GATTAttributeO10DescriptorVN'
/home/pi/Desktop/RaspberryBLE/PunchBLE/.build/checkouts/SwiftLinuxBLE/Sources/SwiftLinuxBLE/Characteristic.swift:44: error: undefined reference to '$s13BluetoothGATT37GATTClientCharacteristicConfigurationV13configurationAC0A016BitMaskOptionSetVyAC0E0OG_tcfC'
/home/pi/Desktop/RaspberryBLE/PunchBLE/.build/checkouts/SwiftLinuxBLE/Sources/SwiftLinuxBLE/Characteristic.swift:44: error: undefined reference to '$s13BluetoothGATT37GATTClientCharacteristicConfigurationV10descriptorAA13GATTAttributeO10DescriptorVvg'

It seems that is looking for some mangled methods and properties that should be present in BluetoothGATT that are referenced from the project but it can't find them. I've tried different solutions for instance use GATT module definitions (but it seems to be just a proxy if it can import BluetoothGATT). I really do no not understand what I'm missing, tried to reach the original creator of the library but he/she is not responding. Could you point me to the right direction? Best, Andrea