背景需求:
準備使用grpc作爲服務組間的服務通信協議
問題發生:
本地開發採用mac開發,依賴如下:
<dependency> <groupId>org.lognet</groupId> <artifactId>grpc-spring-boot-starter</artifactId> <version>2.4.3</version> </dependency>
在採用grpc 相關組件對 protobuf 文件進行編譯
<build> <extensions> <!-- os-maven-plugin --> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>${os-maven-plugin.version}</version> </extension> </extensions> <plugins> <!-- spring-boot-maven-plugin --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- protobuf-maven-plugin --> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>${protobuf-maven-plugin.version}</version> <configuration> <!--默認值--> <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot> <!--默認值--> <!--<outputDirectory>${project.build.directory}/generated-sources/protobuf/java</outputDirectory>--> <outputDirectory>${project.build.sourceDirectory}</outputDirectory> <!--設置是否在生成java文件之前清空outputDirectory的文件,默認值爲true,設置爲false時也會覆蓋同名文件--> <clearOutputDirectory>false</clearOutputDirectory> <!--默認值--> <temporaryProtoFileDirectory>${project.build.directory}/protoc-dependencies</temporaryProtoFileDirectory> <!--更多配置信息可以查看https://www.xolstice.org/protobuf-maven-plugin/compile-mojo.html--> <protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.11.0:exe:${os.detected.classifier}</pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
本地mac 可以編譯。但是當使用jenkins 進行構建時
報錯。
提示glibc版本有問題,然後打算升級,glibc.結果把/lib64/libc.so.6 給替換了,造成Linux ssh無法遠程登錄,bash命令無法執行。
錯誤出現如下狀態:
最後解決:
- 將該快磁盤,掛載在其他系統(ISO盤)啓動,使其啓動。然後將原來軟連接刪除。
- 手動創建,ln -s /lib64/libc-2.12.so /lib64/libc.so.6
參考:
https://unix.stackexchange.com/questions/179233/error-while-loading-shared-libraries-libc-so-6-cannot-open-shared-object-file
http://blog.51cto.com/asd9577/1931442
http://blog.51cto.com/314258/1704852
https://blog.csdn.net/zxyuying/article/details/44085753
https://help.aliyun.com/knowledge_detail/41478.html#%E9%80%9A%E8%BF%87%E5%9B%9E%E6%BB%9A%E7%A3%81%E7%9B%98%E6%81%A2%E5%A4%8D