Skip to content

sbt leads to undefined symbol '__sF' on OpenBSD 7.8 #8441

@catap

Description

@catap

steps

Try to use sbt --allow-empty on OpenBSD 7.8 or -current.

problem

$ sbt --allow-empty                                                                                                                                     
[info] [launcher] getting org.scala-sbt sbt 1.11.7  (this may take some time)...                                                                             
java:/home/catap/.cache/JNA/temp/jna8186125081174510770.tmp: undefined symbol '__sF'                                                                         
[warn] No sbt.version set in project/build.properties, base directory: /tmp/test                                                                             
[info] welcome to sbt 1.11.7 (N/A Java 25.0.1)                                                                                                               
[info] loading settings for project global-plugins from sbt-updates.sbt...                                                                                   
[info] loading global plugins from /home/catap/.sbt/1.0/plugins                                                                                              
[info] set current project to test (in build file:/tmp/test/)                                                                                                
Exception in thread "sbt-socket-server" java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native                                        
        at com.sun.jna.Structure.setAlignType(Structure.java:291)                                                                                            
        at com.sun.jna.Structure.<init>(Structure.java:208)                                                                                                  
        at com.sun.jna.Structure.<init>(Structure.java:204)                                                                                                  
        at com.sun.jna.Structure.<init>(Structure.java:191)                                                                                                  
        at com.sun.jna.Structure.<init>(Structure.java:183)                                                                                                  
        at org.scalasbt.ipcsocket.UnixDomainSocketLibrary$SockaddrUn.<init>(UnixDomainSocketLibrary.java:88)
        at org.scalasbt.ipcsocket.JNAUnixDomainSocketLibraryProvider.maxSocketLength(UnixDomainSocketLibrary.java:273)
        at org.scalasbt.ipcsocket.UnixDomainSocketLibraryProvider.maxSocketLength(UnixDomainSocketLibraryProvider.java:31)
        at sbt.internal.server.Server$$anon$1$$anon$2.$anonfun$run$1(Server.scala:76)
        at scala.util.Try$.apply(Try.scala:213)
        at sbt.internal.server.Server$$anon$1$$anon$2.run(Server.scala:64)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /home/catap/.cache/JNA/temp/jna8186125081174510770.tmp: dlerror returned no error description [in thread "main"]
        at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
        at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:321)
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:187)
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:129)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2245)
        at java.base/java.lang.Runtime.load0(Runtime.java:767)
        at java.base/java.lang.System.load(System.java:1646)
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1045)
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1015)
        at com.sun.jna.Native.<clinit>(Native.java:221)
        at org.scalasbt.ipcsocket.UnixDomainSocketLibrary.<clinit>(UnixDomainSocketLibrary.java:129)
        at org.scalasbt.ipcsocket.JNAUnixDomainSocketLibraryProvider.socket(UnixDomainSocketLibrary.java:165)
        at org.scalasbt.ipcsocket.UnixDomainServerSocket.<init>(UnixDomainServerSocket.java:111)
        at org.scalasbt.ipcsocket.UnixDomainServerSocket.<init>(UnixDomainServerSocket.java:93)
        at sbt.internal.BootServerSocket.newSocket(BootServerSocket.java:351)
        at sbt.internal.BootServerSocket.<init>(BootServerSocket.java:296)
        at sbt.xMain$.getSocketOrExit(Main.scala:153)
        at sbt.xMain$.bootServerSocket$lzycompute$1(Main.scala:79)
        at sbt.xMain$.bootServerSocket$1(Main.scala:79)
        at sbt.xMain$.withStreams$1(Main.scala:87)
        at sbt.xMain$.run(Main.scala:124)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:59)
        at sbt.xMain.run(Main.scala:48)
        at xsbt.boot.Launch$.run$$anonfun$1(Launch.scala:132)
        at xsbt.boot.Launch$.withContextLoader(Launch.scala:157)
        at xsbt.boot.Launch$.run(Launch.scala:132)
        at xsbt.boot.Launch$.apply$$anonfun$1(Launch.scala:43)
        at xsbt.boot.Launch$.launch(Launch.scala:142)
        at xsbt.boot.Launch$.apply(Launch.scala:43)
        at xsbt.boot.Launch$.apply(Launch.scala:24)
        at xsbt.boot.Boot$.runImpl(Boot.scala:73)
        at xsbt.boot.Boot$.run(Boot.scala:69)
        at xsbt.boot.Boot$.main(Boot.scala:23)
        at xsbt.boot.Boot.main(Boot.scala)

expectation

Should works

notes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions