You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
按文档编译指示,在Ubuntu22.04上命令行编译
mkdir build
cd build
cmake ..
这都没问题,但是make的时候报错以下,似乎是无法正确引用java依赖库:
[ 20%] Building C object CMakeFiles/gmssljni-native.dir/gmssljni.c.o
[ 40%] Linking C shared library libgmssljni.so
[ 40%] Built target gmssljni-native
[ 60%] Building Java objects for GmSSLJNI.jar
src/main/java/org/gmssl/NativeLoader.java:11: error: package org.apache.maven.model does not exist
import org.apache.maven.model.Model;
^
src/main/java/org/gmssl/NativeLoader.java:12: error: package org.apache.maven.model.io.xpp3 does not exist
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
^
src/main/java/org/gmssl/NativeLoader.java:13: error: package org.codehaus.plexus.util.xml.pull does not exist
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
^
src/main/java/org/gmssl/NativeLoader.java:159: error: cannot find symbol
Model model = new MavenXpp3Reader().read(new FileReader("pom.xml"));
^
symbol: class Model
location: class NativeLoader
src/main/java/org/gmssl/NativeLoader.java:159: error: cannot find symbol
Model model = new MavenXpp3Reader().read(new FileReader("pom.xml"));
^
symbol: class MavenXpp3Reader
location: class NativeLoader
src/main/java/org/gmssl/NativeLoader.java:161: error: cannot find symbol
} catch (IOException | XmlPullParserException e) {
^
symbol: class XmlPullParserException
location: class NativeLoader
6 errors
make[2]: *** [CMakeFiles/GmSSLJNI.dir/build.make:103: CMakeFiles/GmSSLJNI.dir/java_compiled_GmSSLJNI] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/GmSSLJNI.dir/all] Error 2
make: *** [Makefile:101: all] Error 2
如果在项目目录下执行mvn install,可以完成编译,但run test时链接错误,报错以下:
T E S T S
Running org.gmssl.Sm2Test
Tests run: 7, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 0.115 sec <<< FAILURE!
computeZTest(org.gmssl.Sm2Test) Time elapsed: 0.069 sec <<< ERROR!
java.lang.UnsatisfiedLinkError: /home/hdq/trials/GmSSL-Java-main/target/classes/lib/libgmssljni.so: libgmssl.so.3: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2450)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2506)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2705)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2635)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1854)
at org.gmssl.NativeLoader.loadLibFile(NativeLoader.java:126)
at org.gmssl.NativeLoader.load(NativeLoader.java:59)
at org.gmssl.GmSSLJNI.(GmSSLJNI.java:360)
at org.gmssl.Sm2Key.generateKey(Sm2Key.java:51)
at org.gmssl.Sm2Test.beforeTest(Sm2Test.java:33)
确认GmSSL已安装到/usr/local/lib,且GmSSL和GmSSL-Java都使用最新dev版,甚至均使用readme指示的zip代码也一样。
以上应该都是小问题,请教解决方法,谢谢。
The text was updated successfully, but these errors were encountered:
按文档编译指示,在Ubuntu22.04上命令行编译
mkdir build
cd build
cmake ..
这都没问题,但是make的时候报错以下,似乎是无法正确引用java依赖库:
[ 20%] Building C object CMakeFiles/gmssljni-native.dir/gmssljni.c.o
[ 40%] Linking C shared library libgmssljni.so
[ 40%] Built target gmssljni-native
[ 60%] Building Java objects for GmSSLJNI.jar
src/main/java/org/gmssl/NativeLoader.java:11: error: package org.apache.maven.model does not exist
import org.apache.maven.model.Model;
^
src/main/java/org/gmssl/NativeLoader.java:12: error: package org.apache.maven.model.io.xpp3 does not exist
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
^
src/main/java/org/gmssl/NativeLoader.java:13: error: package org.codehaus.plexus.util.xml.pull does not exist
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
^
src/main/java/org/gmssl/NativeLoader.java:159: error: cannot find symbol
Model model = new MavenXpp3Reader().read(new FileReader("pom.xml"));
^
symbol: class Model
location: class NativeLoader
src/main/java/org/gmssl/NativeLoader.java:159: error: cannot find symbol
Model model = new MavenXpp3Reader().read(new FileReader("pom.xml"));
^
symbol: class MavenXpp3Reader
location: class NativeLoader
src/main/java/org/gmssl/NativeLoader.java:161: error: cannot find symbol
} catch (IOException | XmlPullParserException e) {
^
symbol: class XmlPullParserException
location: class NativeLoader
6 errors
make[2]: *** [CMakeFiles/GmSSLJNI.dir/build.make:103: CMakeFiles/GmSSLJNI.dir/java_compiled_GmSSLJNI] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/GmSSLJNI.dir/all] Error 2
make: *** [Makefile:101: all] Error 2
如果在项目目录下执行mvn install,可以完成编译,但run test时链接错误,报错以下:
T E S T S
Running org.gmssl.Sm2Test
Tests run: 7, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 0.115 sec <<< FAILURE!
computeZTest(org.gmssl.Sm2Test) Time elapsed: 0.069 sec <<< ERROR!
java.lang.UnsatisfiedLinkError: /home/hdq/trials/GmSSL-Java-main/target/classes/lib/libgmssljni.so: libgmssl.so.3: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2450)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2506)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2705)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2635)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1854)
at org.gmssl.NativeLoader.loadLibFile(NativeLoader.java:126)
at org.gmssl.NativeLoader.load(NativeLoader.java:59)
at org.gmssl.GmSSLJNI.(GmSSLJNI.java:360)
at org.gmssl.Sm2Key.generateKey(Sm2Key.java:51)
at org.gmssl.Sm2Test.beforeTest(Sm2Test.java:33)
确认GmSSL已安装到/usr/local/lib,且GmSSL和GmSSL-Java都使用最新dev版,甚至均使用readme指示的zip代码也一样。
以上应该都是小问题,请教解决方法,谢谢。
The text was updated successfully, but these errors were encountered: