Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LibCarbon failure on MacOS Big Sur #52

Closed
zhye9452 opened this issue Jul 1, 2020 · 12 comments
Closed

LibCarbon failure on MacOS Big Sur #52

zhye9452 opened this issue Jul 1, 2020 · 12 comments

Comments

@zhye9452
Copy link

zhye9452 commented Jul 1, 2020

Play Version

2.8.2

API

Scala

Operating System

MacOS Big Sur Developer Beta Seed 1

JDK

JDK 11

Library Dependencies

Expected Behavior

  1. sbt run

Actual Behavior

  1. sbt run fails to run with below exception
[error] java.lang.UnsatisfiedLinkError: Unable to load library 'Carbon':
[error] dlopen(libCarbon.dylib, 9): image not found
[error] dlopen(libCarbon.dylib, 9): image not found
[error] 	at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:302)
[error] 	at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455)
[error] 	at com.sun.jna.Library$Handler.<init>(Library.java:192)
[error] 	at com.sun.jna.Native.loadLibrary(Native.java:646)
[error] 	at com.sun.jna.Native.loadLibrary(Native.java:630)
[error] 	at io.methvin.watchservice.jna.CarbonAPI.<clinit>(CarbonAPI.java:20)
[error] 	at io.methvin.watchservice.jna.CFStringRef.toCFString(CFStringRef.java:23)
[error] 	at io.methvin.watchservice.MacOSXListeningWatchService.register(MacOSXListeningWatchService.java:128)
[error] 	at io.methvin.watchservice.WatchablePath.register(WatchablePath.java:50)
[error] 	at io.methvin.watcher.DirectoryWatcher.register(DirectoryWatcher.java:341)
[error] 	at io.methvin.watcher.DirectoryWatcher.registerAll(DirectoryWatcher.java:315)
[error] 	at io.methvin.watcher.DirectoryWatcher.<init>(DirectoryWatcher.java:176)
[error] 	at io.methvin.watcher.DirectoryWatcher$Builder.build(DirectoryWatcher.java:117)
[error] 	at play.dev.filewatch.DefaultFileWatchService.watch(DefaultFileWatchService.scala:38)
[error] 	at play.dev.filewatch.FileWatchService$$anon$1.watch(FileWatchService.scala:87)
[error] 	at play.runsupport.Reloader.<init>(Reloader.scala:443)
[error] 	at play.runsupport.Reloader$.reloader$lzycompute$1(Reloader.scala:283)
[error] 	at play.runsupport.Reloader$.play$runsupport$Reloader$$reloader$1(Reloader.scala:275)
[error] 	at play.runsupport.Reloader$.startDevMode(Reloader.scala:311)
[error] 	at play.sbt.run.PlayRun$.devModeServer$lzycompute$1(PlayRun.scala:98)
[error] 	at play.sbt.run.PlayRun$.devModeServer$1(PlayRun.scala:81)
[error] 	at play.sbt.run.PlayRun$.$anonfun$playRunTask$3(PlayRun.scala:105)
[error] 	at play.sbt.run.PlayRun$.$anonfun$playRunTask$3$adapted(PlayRun.scala:67)
[error] 	at scala.Function1.$anonfun$compose$1(Function1.scala:49)

Reproducible Test Case

@msm
Copy link

msm commented Jul 1, 2020

The underlying issue is with macOS 11's changes to how JNA can load dylibs:

java-native-access/jna#1216

@gmethvin
Copy link
Owner

gmethvin commented Jul 1, 2020

@msm So should this be fixed by upgrading JNA?

@msm
Copy link

msm commented Jul 1, 2020

@gmethvin yes, once a new JNA release is made available (5.6?)

@gmethvin
Copy link
Owner

gmethvin commented Jul 1, 2020

ok, thanks!

@dbwiddis
Copy link

FYI, JNA 5.6.0 has been released.

@gmethvin
Copy link
Owner

I released directory-watcher 0.10.0 with the fix.

@mkurz
Copy link

mkurz commented Jul 16, 2020

@gmethvin I think you can close this issue now.

@dirspb
Copy link

dirspb commented Jul 29, 2021

Still getting this error in directory-watcher 0.10.1 on Apple Silicon + Big Sur + sbt 1.4.9:
[error] java.lang.NoClassDefFoundError: Could not initialize class io.methvin.watchservice.jna.CarbonAPI [error] at io.methvin.watchservice.jna.CFStringRef.toCFString(CFStringRef.java:23) [error] at io.methvin.watchservice.MacOSXListeningWatchService.register(MacOSXListeningWatchService.java:127) [error] at io.methvin.watchservice.WatchablePath.register(WatchablePath.java:50) [error] at io.methvin.watcher.DirectoryWatcher.register(DirectoryWatcher.java:341) [error] at io.methvin.watcher.DirectoryWatcher.registerAll(DirectoryWatcher.java:315) [error] at io.methvin.watcher.DirectoryWatcher.<init>(DirectoryWatcher.java:176) [error] at io.methvin.watcher.DirectoryWatcher$Builder.build(DirectoryWatcher.java:117) [error] at play.dev.filewatch.DefaultFileWatchService.watch(DefaultFileWatchService.scala:41) [error] at play.dev.filewatch.FileWatchService$$anon$1.watch(FileWatchService.scala:90) [error] at play.runsupport.Reloader.<init>(Reloader.scala:443) [error] at play.runsupport.Reloader$.reloader$lzycompute$1(Reloader.scala:283) [error] at play.runsupport.Reloader$.play$runsupport$Reloader$$reloader$1(Reloader.scala:275) [error] at play.runsupport.Reloader$.startDevMode(Reloader.scala:306) [error] at play.sbt.run.PlayRun$.devModeServer$lzycompute$1(PlayRun.scala:98) [error] at play.sbt.run.PlayRun$.devModeServer$1(PlayRun.scala:81) [error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$3(PlayRun.scala:105) [error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$3$adapted(PlayRun.scala:67) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)

@mkurz
Copy link

mkurz commented Feb 16, 2022

@dirspb you still get that error with directory watcher v0.15.0 and 1.6.2?

@ashwinbhaskar
Copy link

ashwinbhaskar commented Feb 21, 2022

I am getting this error with sbt 1.5.6 and the dependency

"io.methvin" % "directory-watcher" % "0.15.0"

I have apple M1 chip and MacOS 12

@mkurz
Copy link

mkurz commented Feb 21, 2022

You need to upgrade to sbt 1.6.2

@ashwinbhaskar
Copy link

@mkurz thank you for the quick reply. Yes, it started working after upgrading to 1.6.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants