arakelian / java-jq

Lightweight Java wrapper around JQ, a flexible JSON processor available for multiple platforms
MIT License
82 stars 10 forks source link

java.lang.UnsatisfiedLinkError: Unable to load library 'jq' in Docker #18

Closed shweta-fourkites closed 3 years ago

shweta-fourkites commented 3 years ago

We are trying to use java-jq inside our java project which runs in a Docker container.

We are getting the below exception:

[DirectJDKLog] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: Unable to load library 'jq': Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) Native library (linux-x86-64/libjq.so) not found in resource path ([])] with root cause java.lang.UnsatisfiedLinkError: Unable to load library 'jq': Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) Native library (linux-x86-64/libjq.so) not found in resource path ([]) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:302) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:397) at com.arakelian.jq.NativeLib.getNativeLibrary(NativeLib.java:118) at com.arakelian.jq.ImmutableNativeLib.getNativeLibrary(ImmutableNativeLib.java:367) at com.arakelian.jq.JqLibrary.getLoader(JqLibrary.java:243) at com.arakelian.jq.ImmutableJqLibrary.getLoader(ImmutableJqLibrary.java:87) at com.arakelian.jq.JqLibrary.getJqInit(JqLibrary.java:114) at com.arakelian.jq.JqLibrary.jq_init(JqLibrary.java:257) at com.arakelian.jq.JqRequest.jq(JqRequest.java:161) at com.arakelian.jq.JqRequest.execute(JqRequest.java:58) at com.fourkites.impl.SoapImpl.jqResponseBuilder(SoapImpl.java:277) at com.fourkites.impl.SoapImpl.locationCacheResponse(SoapImpl.java:175) at com.fourkites.impl.SoapImpl.constructResponseMap(SoapImpl.java:129) at com.fourkites.impl.SoapImpl.parseJson(SoapImpl.java:54) at com.fourkites.controller.SoapController.process(SoapController.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Suppressed: java.lang.UnsatisfiedLinkError: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191) ... 65 common frames omitted Suppressed: java.lang.UnsatisfiedLinkError: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/1628696404251-0/libjq.so) at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204) ... 65 common frames omitted Suppressed: java.io.IOException: Native library (linux-x86-64/libjq.so) not found in resource path ([]) at com.sun.jna.Native.extractFromResourcePath(Native.java:1089) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:276) ... 65 common frames omitted

Sample code usage reference:

public static JqRequest getJqClient(String input, String schemaJq) throws Exception{ try { JqLibrary library = ImmutableJqLibrary.of(); return ImmutableJqRequest.builder() .lib(library) .input(String.valueOf(input)) .filter(schemaJq) .build(); } catch(Exception e) { e.printStackTrace(); throw e; } }

@arakelian @yurikpanic Please advice.

arakelian commented 3 years ago

I'm sorry but this project is not very active, and I don't have any time to debug this.