labstreaminglayer / App-LabRecorder

An application for streaming one or more LSL streams to disk in XDF file format.
MIT License
123 stars 45 forks source link

Does not install on MacOS #103

Open jugdemon opened 1 year ago

jugdemon commented 1 year ago

I tried to install from brew according to the instructions but when I open LabRecorder it crashes with the following report:


Translated Report (Full Report Below)

Process: LabRecorder [32037] Path: /opt/homebrew/*/LabRecorder.app/Contents/MacOS/LabRecorder Identifier:
Version: 1.16 (1.16.4) Code Type: ARM-64 (Native) Parent Process: launchd [1] User ID: 24456

Date/Time: 2023-08-08 15:23:14.3625 +0200 OS Version: macOS 12.6 (21G115) Report Version: 12 Anonymous UUID: 4A3C987B-0E0A-6F50-D835-760C34947336

Sleep/Wake UUID: F18DF162-6CB0-4A9A-ACA2-252A7C757C56

Time Awake Since Boot: 350000 seconds Time Since Wake: 4888 seconds

System Integrity Protection: enabled

Crashed Thread: 0

Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

Termination Reason: Namespace DYLD, Code 1 Library missing Library not loaded: '@loader_path/../../../../opt/freetype/lib/libfreetype.6.dylib' Referenced from: '/opt/homebrew/*/LabRecorder.app/Contents/Frameworks/libharfbuzz.0.dylib' Reason: tried: '' (no such file), '' (no such file), '' (no such file) (terminated at launch; ignore backtrace)

Thread 0 Crashed: 0 dyld 0x1023cfe98 __abort_with_payload + 8 1 dyld 0x1023d7024 abort_with_payload_wrapper_internal + 104 2 dyld 0x1023d7058 abort_with_payload + 16 3 dyld 0x10238ea28 dyld4::halt(char const) + 580 4 dyld 0x102389fb8 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const) + 3644 5 dyld 0x10238906c start + 488

Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000006 x1: 0x0000000000000001 x2: 0x000000016ddba128 x3: 0x00000000000000c0 x4: 0x000000016ddb9d28 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000 x8: 0x0000000000000020 x9: 0x0000000000000009 x10: 0x000000016ddb9d90 x11: 0x00000000000000d5 x12: 0x0000000000000000 x13: 0x0000000000000033 x14: 0x00000000000f7eb0 x15: 0x0000000000000000 x16: 0x0000000000000209 x17: 0x000000010238714c x18: 0x0000000000000000 x19: 0x0000000000000000 x20: 0x000000016ddb9d28 x21: 0x00000000000000c0 x22: 0x000000016ddba128 x23: 0x0000000000000001 x24: 0x0000000000000006 x25: 0x000000016ddb9d28 x26: 0x0000000000000400 x27: 0x0000000000000338 x28: 0x00000000000001bb fp: 0x000000016ddb9cf0 lr: 0x00000001023d7024 sp: 0x000000016ddb9cb0 pc: 0x00000001023cfe98 cpsr: 0x00001000 far: 0x0000000102090150 esr: 0x56000080 Address size fault

Binary Images: 0x102384000 - 0x1023e3fff dyld (*) <38ee9fe9-b66d-3066-8c5c-6ddf0d6944c6> /usr/lib/dyld

External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0

VM Region Summary: ReadOnly portion of Libraries: Total=810.5M resident=0K(0%) swapped_out_or_unallocated=810.5M(100%) Writable regions: Total=9296K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=9296K(100%)

                            VIRTUAL   REGION 

REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= STACK GUARD 56.0M 1 Stack 8176K 1 VM_ALLOCATE 16K 1 AUTH 1678K 114 AUTH_CONST 8146K 247 DATA 7892K 250 DATA_CONST 9835K 268 DATA_DIRTY 544K 87 __FONT_DATA 4K 1 LINKEDIT 582.9M 25 OBJC_CONST 1066K 92 __OBJC_RO 83.0M 1 OBJC_RW 3168K 1 TEXT 227.7M 282 UNICODE 592K 1 dyld private memory 1024K 1 =========== ======= ======= TOTAL 990.7M 1373


Full Report

{"app_name":"LabRecorder","timestamp":"2023-08-08 15:23:14.00 +0200","app_version":"1.16","slice_uuid":"3d0f5fdc-9ba6-3ba8-b850-6f864b3d716c","build_version":"1.16.4","platform":1,"bundleID":"","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.6 (21G115)","incident_id":"1CA4A5C2-8819-434E-A581-E6B458689081","name":"LabRecorder"} { "uptime" : 350000, "procLaunch" : "2023-08-08 15:23:13.9755 +0200", "procRole" : "Background", "version" : 2, "userID" : 24456, "deployVersion" : 210, "modelCode" : "MacBookPro18,2", "procStartAbsTime" : 8509554338265, "coalitionID" : 55833, "osVersion" : { "train" : "macOS 12.6", "build" : "21G115", "releaseType" : "User" }, "captureTime" : "2023-08-08 15:23:14.3625 +0200", "incident" : "1CA4A5C2-8819-434E-A581-E6B458689081", "bug_type" : "309", "pid" : 32037, "procExitAbsTime" : 8509563601512, "translated" : false, "cpuType" : "ARM-64", "procName" : "LabRecorder", "procPath" : "\/opt\/homebrew\/\/LabRecorder.app\/Contents\/MacOS\/LabRecorder", "bundleInfo" : {"CFBundleShortVersionString":"1.16","CFBundleVersion":"1.16.4","CFBundleIdentifier":""}, "storeInfo" : {"deviceIdentifierForVendor":"26E11F63-59CF-5F98-9520-10FBAEC9A01C","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "crashReporterKey" : "4A3C987B-0E0A-6F50-D835-760C34947336", "wakeTime" : 4888, "sleepWakeUUID" : "F18DF162-6CB0-4A9A-ACA2-252A7C757C56", "sip" : "enabled", "isCorpse" : 1, "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"}, "termination" : {"code":1,"flags":518,"namespace":"DYLD","indicator":"Library missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["Library not loaded: '@loader_path\/..\/..\/..\/..\/opt\/freetype\/lib\/libfreetype.6.dylib'","Referenced from: '\/opt\/homebrew\/\/LabRecorder.app\/Contents\/Frameworks\/libharfbuzz.0.dylib'","Reason: tried: '' (no such file), '' (no such file), '' (no such file)"]}, "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 0, "threads" : [{"triggered":true,"id":5530472,"threadState":{"x":[{"value":6},{"value":1},{"value":6138077480},{"value":192},{"value":6138076456},{"value":0},{"value":0},{"value":0},{"value":32},{"value":9},{"value":6138076560},{"value":213},{"value":0},{"value":51},{"value":1015472},{"value":0},{"value":521},{"value":4332220748,"symbolLocation":392,"symbol":"simple_bprintf"},{"value":0},{"value":0},{"value":6138076456},{"value":192},{"value":6138077480},{"value":1},{"value":6},{"value":6138076456},{"value":1024},{"value":824},{"value":443}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4332548132},"cpsr":{"value":4096},"fp":{"value":6138076400},"sp":{"value":6138076336},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4332519064,"matchesCrashFrame":1},"far":{"value":4329111888}},"frames":[{"imageOffset":310936,"symbol":"__abort_with_payload","symbolLocation":8,"imageIndex":0},{"imageOffset":340004,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":104,"imageIndex":0},{"imageOffset":340056,"symbol":"abort_with_payload","symbolLocation":16,"imageIndex":0},{"imageOffset":43560,"symbol":"dyld4::halt(char const)","symbolLocation":580,"imageIndex":0},{"imageOffset":24504,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const)","symbolLocation":3644,"imageIndex":0},{"imageOffset":20588,"symbol":"start","symbolLocation":488,"imageIndex":0}]}], "usedImages" : [ { "source" : "P", "arch" : "arm64e", "base" : 4332208128, "size" : 393216, "uuid" : "38ee9fe9-b66d-3066-8c5c-6ddf0d6944c6", "path" : "\/usr\/lib\/dyld", "name" : "dyld" } ], "sharedCache" : { "base" : 6798819328, "size" : 3144744960, "uuid" : "049b583e-d4dc-3b2b-88da-e52d6e18313d" }, "vmSummary" : "ReadOnly portion of Libraries: Total=810.5M resident=0K(0%) swapped_out_or_unallocated=810.5M(100%)\nWritable regions: Total=9296K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=9296K(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nSTACK GUARD 56.0M 1 \nStack 8176K 1 \nVM_ALLOCATE 16K 1 \nAUTH 1678K 114 \nAUTH_CONST 8146K 247 \nDATA 7892K 250 \nDATA_CONST 9835K 268 \nDATA_DIRTY 544K 87 \nFONT_DATA 4K 1 \nLINKEDIT 582.9M 25 \nOBJC_CONST 1066K 92 \nOBJC_RO 83.0M 1 \n__OBJC_RW 3168K 1 \nTEXT 227.7M 282 \nUNICODE 592K 1 \ndyld private memory 1024K 1 \n=========== ======= ======= \nTOTAL 990.7M 1373 \n", "legacyInfo" : { "threadTriggered" : {

} }, "trialInfo" : { "rollouts" : [ { "rolloutId" : "5fc94383418129005b4e9ae0", "factorPackIds" : {

  },
  "deploymentId" : 240000614
},
{
  "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
  "factorPackIds" : {

  },
  "deploymentId" : 240000021
}

], "experiments" : [ { "treatmentId" : "8ca8349c-e2bc-482c-9ca7-3907b48a5341", "experimentId" : "648b5a581b04c12d4127bbb6", "deploymentId" : 400000001 } ] } }

Model: MacBookPro18,2, BootROM 7459.141.1, proc 10:8:2 processors, 64 GB, SMC Graphics: Apple M1 Max, Apple M1 Max, Built-In Display: Color LCD, 3456 x 2234 Retina, Main, MirrorOff, Online Memory Module: LPDDR5 AirPort: Wi-Fi, wl0: Apr 6 2022 05:55:54 version 20.90.45.0.8.7.118 FWID 01-e7138ff2 Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports Network Service: Wi-Fi, AirPort, en0 USB Device: USB31Bus USB Device: USB31Bus USB Device: USB31Bus Thunderbolt Bus: MacBook Pro, Apple Inc. Thunderbolt Bus: MacBook Pro, Apple Inc. Thunderbolt Bus: MacBook Pro, Apple Inc.

I checked libfreetype.6.dylib and found that sometimes it is not linked properly so I folled this and relinked it: https://stackoverflow.com/questions/14013474/lion-osx-how-to-install-libfreetype-6-dylib

The error remains. I checked whether @loader_path/../../../../opt/freetype/lib/libfreetype.6.dylib points to libfreetype and if I cdthere from the LabRecorder in brew's Cellar I do end up in the freetype lib. So I don't know what else to do. Any suggestions how to get this working?

cboulay commented 1 year ago

The failing reference is from libharfbuzz. I don't even know what that is. Anyway, can you try modifying the reference?

install_name_tool -change <old-path> <new-path> <file>

where <file> is /opt/homebrew/*/LabRecorder.app/Contents/Frameworks/libharfbuzz.0.dylib (not sure what the * is doing there), <old-path> is @loader_path/../../../../opt/freetype/lib/libfreetype.6.dylib, and <new-path> is the full absolute path to libfreetype.6.dylib.