lib/asm-offsets.c:1:0: error: bad value (generic-armv7-a) for -mtune= switch

最近在往tiny4412上移植最新的u-boot-2019

 make tiny4412_defconfig && make  以后遇到以下编译错误。

lib/asm-offsets.c:1:0: error: bad value (generic-armv7-a) for -mtune= switch
 // SPDX-License-Identifier: GPL-2.0+
 
Kbuild:43: recipe for target 'lib/asm-offsets.s' failed
make[1]: *** [lib/asm-offsets.s] Error 1
Makefile:1575: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2

原因是没有指定编译器类型。

解决:

export CROSS_COMPILE=arm-linux-gnueabihf-

export ARCH=arm

或者直接在顶层Makefile中添加:

ARCH = arm
CROSS_COMPILE = arm-linux-gnueabihf-

这样就不用每次在shell中输入命令。

然后再去make ,问题解决。

cd to /kms/component/canal-admin/bin for workaround relative path CLASSPATH :/kms/component/canal-admin/bin/../conf:/kms/component/canal-admin/bin/../lib/zookeeper-3.4.5.jar:/kms/component/canal-admin/bin/../lib/zkclient-0.10.jar:/kms/component/canal-admin/bin/../lib/xmlunit-core-2.5.1.jar:/kms/component/canal-admin/bin/../lib/validation-api-2.0.1.Final.jar:/kms/component/canal-admin/bin/../lib/tomcat-embed-websocket-8.5.29.jar:/kms/component/canal-admin/bin/../lib/tomcat-embed-el-8.5.29.jar:/kms/component/canal-admin/bin/../lib/tomcat-embed-core-8.5.29.jar:/kms/component/canal-admin/bin/../lib/spring-webmvc-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-web-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-tx-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-orm-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-jdbc-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-jcl-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-expression-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-core-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-context-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-test-autoconfigure-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-test-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-web-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-tomcat-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-test-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-logging-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-json-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-jdbc-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-starter-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-autoconfigure-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-boot-2.0.1.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-beans-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/spring-aop-5.0.5.RELEASE.jar:/kms/component/canal-admin/bin/../lib/snakeyaml-1.19.jar:/kms/component/canal-admin/bin/../lib/slf4j-api-1.7.25.jar:/kms/component/canal-admin/bin/../lib/protobuf-java-3.6.1.jar:/kms/component/canal-admin/bin/../lib/persistence-api-2.2.2.jar:/kms/component/canal-admin/bin/../lib/objenesis-2.6.jar:/kms/component/canal-admin/bin/../lib/netty-all-4.1.23.Final.jar:/kms/component/canal-admin/bin/../lib/netty-3.2.2.Final.jar:/kms/component/canal-admin/bin/../lib/mysql-connector-java-5.1.48.jar:/kms/component/canal-admin/bin/../lib/mockito-core-2.15.0.jar:/kms/component/canal-admin/bin/../lib/logback-core-1.2.3.jar:/kms/component/canal-admin/bin/../lib/logback-classic-1.2.3.jar:/kms/component/canal-admin/bin/../lib/log4j-to-slf4j-2.10.0.jar:/kms/component/canal-admin/bin/../lib/log4j-api-2.10.0.jar:/kms/component/canal-admin/bin/../lib/jul-to-slf4j-1.7.25.jar:/kms/component/canal-admin/bin/../lib/jsr305-3.0.2.jar:/kms/component/canal-admin/bin/../lib/json-smart-2.3.jar:/kms/component/canal-admin/bin/../lib/json-path-2.4.0.jar:/kms/component/canal-admin/bin/../lib/jsonassert-1.5.0.jar:/kms/component/canal-admin/bin/../lib/jcl-over-slf4j-1.7.25.jar:/kms/component/canal-admin/bin/../lib/jboss-logging-3.3.2.Final.jar:/kms/component/canal-admin/bin/../lib/javax.annotation-api-1.3.2.jar:/kms/component/canal-admin/bin/../lib/jackson-module-parameter-names-2.9.5.jar:/kms/component/canal-admin/bin/../lib/jackson-datatype-jsr310-2.9.5.jar:/kms/component/canal-admin/bin/../lib/jackson-datatype-jdk8-2.9.5.jar:/kms/component/canal-admin/bin/../lib/jackson-databind-2.9.5.jar:/kms/component/canal-admin/bin/../lib/jackson-core-2.9.5.jar:/kms/component/canal-admin/bin/../lib/jackson-annotations-2.9.0.jar:/kms/component/canal-admin/bin/../lib/j2objc-annotations-1.1.jar:/kms/component/canal-admin/bin/../lib/HikariCP-2.7.8.jar:/kms/component/canal-admin/bin/../lib/hibernate-validator-6.0.9.Final.jar:/kms/component/canal-admin/bin/../lib/hamcrest-library-1.3.jar:/kms/component/canal-admin/bin/../lib/hamcrest-core-1.3.jar:/kms/component/canal-admin/bin/../lib/guava-22.0.jar:/kms/component/canal-admin/bin/../lib/fastjson-1.2.58.sec06.jar:/kms/component/canal-admin/bin/../lib/error_prone_annotations-2.0.18.jar:/kms/component/canal-admin/bin/../lib/ebean-types-1.3.jar:/kms/component/canal-admin/bin/../lib/ebean-migration-11.16.2.jar:/kms/component/canal-admin/bin/../lib/ebean-datasource-api-4.5.jar:/kms/component/canal-admin/bin/../lib/ebean-datasource-4.5.2.jar:/kms/component/canal-admin/bin/../lib/ebean-annotation-4.11.jar:/kms/component/canal-admin/bin/../lib/ebean-11.41.1.jar:/kms/component/canal-admin/bin/../lib/commons-logging-1.1.1.jar:/kms/component/canal-admin/bin/../lib/commons-lang-2.6.jar:/kms/component/canal-admin/bin/../lib/commons-io-2.4.jar:/kms/component/canal-admin/bin/../lib/commons-codec-1.11.jar:/kms/component/canal-admin/bin/../lib/commons-beanutils-1.8.2.jar:/kms/component/canal-admin/bin/../lib/classmate-1.3.4.jar:/kms/component/canal-admin/bin/../lib/canal.protocol-1.1.6-SNAPSHOT.jar:/kms/component/canal-admin/bin/../lib/canal.common-1.1.6-SNAPSHOT.jar:/kms/component/canal-admin/bin/../lib/canal.admin-web-1.1.6-SNAPSHOT.jar:/kms/component/canal-admin/bin/../lib/caffeine-2.6.2.jar:/kms/component/canal-admin/bin/../lib/byte-buddy-agent-1.7.11.jar:/kms/component/canal-admin/bin/../lib/byte-buddy-1.7.11.jar:/kms/component/canal-admin/bin/../lib/avaje-classpath-scanner-api-2.2.jar:/kms/component/canal-admin/bin/../lib/avaje-classpath-scanner-3.1.1.jar:/kms/component/canal-admin/bin/../lib/assertj-core-3.9.1.jar:/kms/component/canal-admin/bin/../lib/asm-5.0.4.jar:/kms/component/canal-admin/bin/../lib/antlr4-runtime-4.7.2.jar:/kms/component/canal-admin/bin/../lib/animal-sniffer-annotations-1.14.jar:/kms/component/canal-admin/bin/../lib/android-json-0.0.20131108.vaadin1.jar:/kms/component/canal-admin/bin/../lib/accessors-smart-1.2.jar:/usr/java/jdk-17/lib:.:/usr/java/jdk-17/lib:.:/usr/java/jdk-17/lib:.:/usr/java/jdk-17/lib:.:/usr/java/jdk-17/lib:.:/usr/local/jdk1.8.0_211/lib/dt.jar:/usr/local/jdk1.8.0_211/lib/tools.jar cd to /kms/component/canal-admin/bin for continue
最新发布
06-27
<think>我们正在处理一个关于Java应用程序类路径设置的问题,特别是要导航到特定目录`/kms/component/canal-admin/bin`并设置类路径。根据用户的问题,我们需要提供在Linux环境下如何操作。###步骤分解:1.**导航到指定目录**:使用`cd`命令。2.**设置类路径**:通常使用`CLASSPATH`环境变量,或者使用`java`命令的`-cp`或`-classpath`选项。###具体操作:####1.导航到目录```bashcd/kms/component/canal-admin/bin```####2.设置类路径并运行Java应用程序有两种常见方式:**方式一:通过环境变量设置(临时)**```bash#设置CLASSPATH环境变量(例如,设置当前目录和所有jar文件)exportCLASSPATH=.:/kms/component/canal-admin/bin/*#然后运行Java应用程序,指定主类javacom.example.MainClass```**方式二:在运行java命令时直接指定类路径(推荐)**```bashjava-cp".:/kms/component/canal-admin/bin/*"com.example.MainClass```**注意**:-在Linux中,类路径分隔符使用冒号`:`,而Windows中使用分号`;`。-上面的例子中,`.`代表当前目录,`/kms/component/canal-admin/bin/*`表示该目录下的所有jar文件。-请将`com.example.MainClass`替换为实际的入口类。###如果目录下有启动脚本通常,在`bin`目录下会有启动脚本(如`.sh`文件),我们可以查看是否已有脚本,并检查脚本中是否已经设置了类路径。如果有,可以直接运行脚本。例如,假设有一个`startup.sh`脚本:```bash./startup.sh```如果没有,可以创建一个启动脚本,将类路径设置和启动命令写入脚本。###创建启动脚本示例在`/kms/component/canal-admin/bin`目录下创建一个`start.sh`文件:```bash#!/bin/bash#设置类路径CLASSPATH=".:/kms/component/canal-admin/bin/*"#运行主类java-cp"$CLASSPATH"com.example.MainClass```然后赋予执行权限:```bashchmod+xstart.sh```运行:```bash./start.sh```###注意事项-确保Java环境已安装,并且`java`命令在系统路径中。-如果类路径中包含多个路径或jar,使用冒号分隔。-如果路径中包含空格,需要用引号将整个类路径括起来。###相关问题1.如何检查Java是否已正确安装?2.在设置类路径时,如何包含目录下的所有jar文件?3.如何将类路径设置永久生效?4.在Windows系统中如何设置类路径并运行Java应用程序?希望这些步骤能帮助你解决问题。</think>### 在 Linux 中导航目录并设置 Java 类路径 #### 1. 导航到目标目录 使用 `cd` 命令进入指定路径: ```bash cd /kms/component/canal-admin/bin ``` #### 2. 设置 Java 类路径的三种方式 **方式一:通过 `-cp` 参数指定(推荐)** ```bash java -cp ".:/kms/component/canal-admin/bin/*" com.yourpackage.MainClass ``` - `.:` 表示当前目录 - `/*` 自动包含目录下所有 JAR 文件 - 适用于临时执行场景 **方式二:通过环境变量设置** ```bash # 设置类路径 export CLASSPATH="/kms/component/canal-admin/bin:$CLASSPATH" # 运行程序 java com.yourpackage.MainClass ``` - 永久生效需写入 `~/.bashrc` 或 `/etc/profile` - 使用 `:` 分隔多个路径(Linux/Mac) **方式三:使用启动脚本** 在 `/kms/component/canal-admin/bin` 创建 `start.sh`: ```bash #!/bin/bash APP_HOME=$(dirname "$0") java -cp "$APP_HOME:$APP_HOME/*" com.yourpackage.MainClass "$@" ``` 赋予执行权限: ```bash chmod +x start.sh ``` #### 3. 关键注意事项 1. **路径分隔符**: - Linux/Mac 使用 `:` - Windows 使用 `;` 2. **通配符使用**: - `/*` 自动加载目录下所有 JAR - 需 Java 6+ 支持 3. **目录结构验证**: ```bash ls -l /kms/component/canal-admin/bin ``` 确保包含: - 主类文件 `.class` - 依赖库 `.jar` - 配置文件(如需要) 4. **路径错误排查**: - 使用绝对路径避免相对路径问题 - 检查路径大小写(Linux 区分大小写) - 验证文件权限:`ls -l` #### 4. 常见错误解决 - **类找不到**: ```bash java -cp "/kms/component/canal-admin/bin/*" com.example.Main ``` 若报 `ClassNotFoundException`,检查: - 类全限定名是否正确 - JAR 文件是否完整 - **路径不存在**: ```bash # 验证路径存在性 if [ ! -d "/kms/component/canal-admin/bin" ]; then echo "ERROR: Directory not found" fi ``` - **权限问题**: ```bash sudo chmod -R +r /kms/component/canal-admin/bin ``` ### 相关问题 1. 如何在 Windows 系统中为 Java 应用设置类路径? 2. Java 类加载机制中 `-cp` 和 `CLASSPATH` 环境变量的优先级关系是什么? 3. 如何动态加载不在类路径中的 JAR 文件? 4. 当出现 `NoClassDefFoundError` 时,应该按照什么步骤排查? 5. 在 Docker 容器中部署 Java 应用时,类路径设置有哪些特殊注意事项? > 引用说明:类路径配置问题可能导致 `ClassNotFoundException` 等运行时错误,正确设置路径是 Java 应用运行的基础[^2][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值