arm-linux-g++.br_real: error: unrecognized command line option ‘-mmmx’ 如何解决,交叉编译时报错
时间: 2024-04-18 13:24:13 浏览: 779
您好!对于该错误,可能是由于使用了支持的命令行选项导致的。'-mmmx'选项是为x86架构设计的,不适用于ARM架构。
要解决这个问题,您可以尝试以下几种方法:
1. 检查编译器版本:确保您使用的是适用于ARM架构的交叉编译器。您可以通过运行`arm-linux-g++ --version`来检查版本信息。如果版本不正确或过旧,尝试更新到最新版本的交叉编译器。
2. 检查编译选项:查看您的编译选项,确保没有错误地包含了'-mmmx'选项。您可以检查您的构建脚本或Makefile中的编译选项,并将其删除或注释掉。
3. 使用正确的编译选项:ARM架构通常使用'-march='和'-mcpu='选项来指定目标处理器架构和CPU型号。您可以根据您的目标处理器类型选择适当的选项。例如,对于ARM Cortex-A系列处理器,可以使用'-march=armv7-a'和'-mcpu=cortex-a9'等选项。
4. 检查交叉编译工具链:确保您正确设置了交叉编译工具链。交叉编译工具链应该是针对ARM架构的,而不是针对x86架构的。
希望这些提示能帮助您解决问题!如果问题仍然存在,请提供更多的细节和错误信息,以便我能够更好地帮助您。
相关问题
在make prepare时报错aarch64-none-linux-gnu-gcc: error: unrecognized argument in option '-mcmodel=kernel' aarch64-none-linux-gnu-gcc: note: valid arguments to '-mcmodel=' are: large small tiny aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse'; did you mean '-fno-dse'? aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-mmx' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse2' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-3dnow' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-m64' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-red-zone' scripts/Makefile.build:273: recipe for target 'scripts/mod/empty.o' failed具体如何解决
这个错误可能是由于编译器版本不兼容或编译选项有误导致的。您可以尝试以下步骤来解决该问题:
1. 确认您使用的是正确版本的编译器。您可以尝试更新编译器或使用另一个版本的编译器。
2. 检查编译选项。在Makefile中,可能有一些选项需要根据您的编译器版本进行调整。 您可以尝试删除一些选项,或者添加一些适当的选项,例如:
-mcmodel=large
-mno-sse -fno-dse
-mno-mmx
-mno-sse2
-mno-3dnow
-mno-red-zone
3. 检查您的内核配置。您可以尝试禁用CONFIG_STRICT_KERNEL_RWX选项,并重新编译内核。
希望这些解决方案可以帮助您解决问题。
usage: control_robot.py [-h] [--config_path str] [--robot str] [--robot.type {aloha,koch,koch_bimanual,moss,so101,so100,stretch,lekiwi}] [--robot.gripper_open_degree str] [--robot.max_relative_target str] [--robot.ip str] [--robot.port str] [--robot.video_port str] [--robot.cameras str] [--robot.calibration_dir str] [--robot.leader_arms str] [--robot.follower_arms str] [--robot.teleop_keys str] [--robot.mock str] [--control str] [--control.type {calibrate,teleoperate,record,replay,remote_robot}] [--control.arms str] [--control.teleop_time_s str] [--control.single_task str] [--policy str] [--control.policy.type {act,diffusion,pi0,smolvla,tdmpc,vqbet,pi0fast}] [--control.policy.replace_final_stride_with_dilation str] [--control.policy.pre_norm str] [--control.policy.dim_model str] [--control.policy.n_heads str] [--control.policy.dim_feedforward str] [--control.policy.feedforward_activation str] [--control.policy.n_encoder_layers str] [--control.policy.n_decoder_layers str] [--control.policy.use_vae str] [--control.policy.n_vae_encoder_layers str] [--control.policy.temporal_ensemble_coeff str] [--control.policy.kl_weight str] [--control.policy.optimizer_lr_backbone str] [--control.policy.drop_n_last_frames str] [--control.policy.use_separate_rgb_encoder_per_camera str] [--control.policy.down_dims str] [--control.policy.kernel_size str] [--control.policy.n_groups str] [--control.policy.diffusion_step_embed_dim str] [--control.policy.use_film_scale_modulation str] [--control.policy.noise_scheduler_type str] [--control.policy.num_train_timesteps str] [--control.policy.beta_schedule str] [--control.policy.beta_start str] [--control.policy.beta_end str] [--control.policy.prediction_type str] [--control.policy.clip_sample str] [--control.policy.clip_sample_range str] [--control.policy.num_inference_steps str] [--control.policy.do_mask_loss_for_padding str] [--control.policy.scheduler_name str] [--control.policy.attention_implementation str] [--control.policy.num_steps str] [--control.policy.train_expert_only str] [--control.policy.train_state_proj str] [--control.policy.optimizer_grad_clip_norm str] [--control.policy.vlm_model_name str] [--control.policy.load_vlm_weights str] [--control.policy.add_image_special_tokens str] [--control.policy.attention_mode str] [--control.policy.prefix_length str] [--control.policy.pad_language_to str] [--control.policy.num_expert_layers str] [--control.policy.num_vlm_layers str] [--control.policy.self_attn_every_n_layers str] [--control.policy.expert_width_multiplier str] [--control.policy.min_period str] [--control.policy.max_period str] [--control.policy.n_action_repeats str] [--control.policy.horizon str] [--control.policy.image_encoder_hidden_dim str] [--control.policy.state_encoder_hidden_dim str] [--control.policy.latent_dim str] [--control.policy.q_ensemble_size str] [--control.policy.mlp_dim str] [--control.policy.discount str] [--control.policy.use_mpc str] [--control.policy.cem_iterations str] [--control.policy.max_std str] [--control.policy.min_std str] [--control.policy.n_gaussian_samples str] [--control.policy.n_pi_samples str] [--control.policy.uncertainty_regularizer_coeff str] [--control.policy.n_elites str] [--control.policy.elite_weighting_temperature str] [--control.policy.gaussian_mean_momentum str] [--control.policy.max_random_shift_ratio str] [--control.policy.reward_coeff str] [--control.policy.expectile_weight str] [--control.policy.value_coeff str] [--control.policy.consistency_coeff str] [--control.policy.advantage_scaling str] [--control.policy.pi_coeff str] [--control.policy.temporal_decay_coeff str] [--control.policy.target_model_momentum str] [--control.policy.n_action_pred_token str] [--control.policy.action_chunk_size str] [--control.policy.vision_backbone str] [--control.policy.crop_shape str] [--control.policy.crop_is_random str] [--control.policy.pretrained_backbone_weights str] [--control.policy.use_group_norm str] [--control.policy.spatial_softmax_num_keypoints str] [--control.policy.n_vqvae_training_steps str] [--control.policy.vqvae_n_embed str] [--control.policy.vqvae_embedding_dim str] [--control.policy.vqvae_enc_hidden_dim str] [--control.policy.gpt_block_size str] [--control.policy.gpt_input_dim str] [--control.policy.gpt_output_dim str] [--control.policy.gpt_n_layer str] [--control.policy.gpt_n_head str] [--control.policy.gpt_hidden_dim str] [--control.policy.dropout str] [--control.policy.mlp_hidden_dim str] [--control.policy.offset_loss_weight str] [--control.policy.primary_code_loss_weight str] [--control.policy.secondary_code_loss_weight str] [--control.policy.bet_softmax_temperature str] [--control.policy.sequentially_select str] [--control.policy.optimizer_vqvae_lr str] [--control.policy.optimizer_vqvae_weight_decay str] [--control.policy.n_obs_steps str] [--control.policy.normalization_mapping str] [--control.policy.input_features str] [--control.policy.output_features str] [--control.policy.device str] [--control.policy.use_amp str] [--control.policy.chunk_size str] [--control.policy.n_action_steps str] [--control.policy.max_state_dim str] [--control.policy.max_action_dim str] [--control.policy.resize_imgs_with_padding str] [--control.policy.interpolate_like_pi str] [--control.policy.empty_cameras str] [--control.policy.adapt_to_pi_aloha str] [--control.policy.use_delta_joint_actions_aloha str] [--control.policy.tokenizer_max_length str] [--control.policy.proj_width str] [--control.policy.max_decoding_steps str] [--control.policy.fast_skip_tokens str] [--control.policy.max_input_seq_len str] [--control.policy.use_cache str] [--control.policy.freeze_vision_encoder str] [--control.policy.freeze_lm_head str] [--control.policy.optimizer_lr str] [--control.policy.optimizer_betas str] [--control.policy.optimizer_eps str] [--control.policy.optimizer_weight_decay str] [--control.policy.scheduler_warmup_steps str] [--control.policy.scheduler_decay_steps str] [--control.policy.scheduler_decay_lr str] [--control.policy.checkpoint_path str] [--control.policy.padding_side str] [--control.policy.precision str] [--control.policy.grad_clip_norm str] [--control.policy.relaxed_action_decoding str] [--control.warmup_time_s str] [--control.episode_time_s str] [--control.reset_time_s str] [--control.num_episodes str] [--control.video str] [--control.push_to_hub str] [--control.private str] [--control.tags str] [--control.num_image_writer_processes str] [--control.num_image_writer_threads_per_camera str] [--control.resume str] [--control.repo_id str] [--control.episode str] [--control.root str] [--control.fps str] [--control.play_sounds str] [--control.log_interval str] [--control.display_data str] [--control.viewer_ip str] [--control.viewer_port str] control_robot.py: error: unrecognized arguments: --control.local_files_only=true
<think>我们遇到了一个错误:在运行control_robot.py时,传递了一个未被识别的参数`--control.local_files_only=true`。
根据帮助信息(usage)中列出的参数,我们可以看到所有参数都是以`--`开头,并且分为不同的部分,例如`--robot`、`--control`等。
但是,在帮助信息中并没有列出`--control.local_files_only`这个参数,因此脚本无法识别它。
可能的原因:
1. 该参数确实不存在于当前版本的脚本中。
2. 参数名称拼写错误,或者应该属于其他部分(例如,可能是`--policy.local_files_only`,但帮助信息中也没有)。
3. 该参数可能是为某个特定功能预留的,但当前版本尚未实现或文档未更新。
解决方案:
1. 检查参数名称是否正确,特别是注意大小写(例如,是否应该是`--control.local-files-only`?但帮助信息中都是使用下划线)。
2. 查看脚本的最新文档或源代码,确认是否支持该参数。
3. 如果该参数不是必需的,可以尝试移除它。
根据帮助信息,我们注意到有一个参数是`--control`,但它后面需要跟一个字符串(str),而不是子参数。实际上,帮助信息中列出的参数结构是:
--control.str ... 这样的形式,但实际上在帮助信息中是以`--control.`开头的多个参数,例如`--control.type`、`--control.arms`等。
但是,我们并没有看到`--control.local_files_only`。因此,我们只能认为这个参数在当前版本中不被支持。
建议:
去掉这个参数,或者如果必须使用,则需要检查脚本的更新版本是否支持。
另外,注意在帮助信息中,所有参数的值都被指定为字符串(str),因此即使布尔值也需要用字符串表示,如`true`或`True`。但是,由于该参数未被识别,所以不是格式问题。
所以,直接移除`--control.local_files_only=true`参数再运行即可。
如果这个参数是用于控制本地文件(比如避免从网络下载),并且脚本中确实需要这个功能,那么可能需要更新脚本到支持该参数的版本。
根据错误信息,我们也可以看到脚本支持很多参数,但唯独不支持这个。因此,移除它是最直接的解决方案。
如果用户坚持要使用这个参数,那么可能需要修改脚本源代码,添加对这个参数的支持(使用argparse或其他解析库)。
但是,在没有明确文档说明的情况下,不建议随意添加,因为可能影响脚本逻辑。
因此,我们建议先移除该参数运行。
如果问题仍然存在,再根据错误信息进一步分析。
现在,我们按照要求,在回答后提出3-5个相关问题。
§§相关问题§§
1. 在运行Python脚本时,如何正确传递布尔类型的命令行参数?
2. 如果我想在control_robot.py中添加一个名为`--control.local_files_only`的参数,应该如何修改代码?
3. 有哪些方法可以查看一个Python脚本支持的所有命令行参数?
4. 为什么在帮助信息中没有列出`--control.local_files_only`参数?
5. 如果移除`--control.local_files_only=true`参数后脚本运行正常,但我想实现类似的功能(例如强制使用本地文件),应该怎么做?</think>运行 `control_robot.py` 时出现错误 `unrecognized arguments: --control.local_files_only=true`,说明该参数未被脚本识别。根据您提供的帮助信息,分析原因及解决方案如下:
### 错误原因分析
1. **参数未定义**
`--control.local_files_only` 未出现在脚本的帮助信息中(usage 部分),证明该参数未被声明。
2. **可能的来源**
此参数可能是 Hugging Face 库(如 `transformers`)的通用参数,用于强制使用本地缓存文件。但 `control_robot.py` 未集成对此参数的支持。
3. **格式问题**
- 脚本中所有布尔参数(如 `--control.video`)均以 `str` 类型声明(如 `str` 而非 `bool`),需传递字符串值(如 `"true"` 而非 `true`)。
- 但即使修正格式,未声明的参数仍会报错。
### 解决方案
#### 1. **移除无效参数(推荐)**
直接删除 `--control.local_files_only=true`:
```bash
python control_robot.py [其他有效参数]
```
#### 2. **修改参数格式(若必须保留)**
若脚本实际支持此功能但未声明,尝试:
```bash
# 添加 "control." 前缀并修正布尔值格式
python control_robot.py --control.local_files_only="true" [其他参数]
```
#### 3. **扩展脚本参数解析**
若您可修改脚本源码,在参数解析器中添加此参数(使用 `argparse` 示例):
```python
import argparse
parser = argparse.ArgumentParser()
# 添加以下声明
parser.add_argument("--control.local_files_only", type=str, default="false", help="强制使用本地文件")
args = parser.parse_args()
```
#### 4. **检查依赖库文档**
若此参数属于第三方库(如 Hugging Face),查看其文档确认是否需通过环境变量启用:
```bash
export HF_LOCAL_FILES_ONLY=true # Hugging Face 的环境变量方式
python control_robot.py [其他参数]
```
### 关键注意事项
- **优先验证有效参数**:通过 `python control_robot.py --help` 确认所有支持参数。
- **参数命名一致性**:帮助信息中所有参数均以 `--[模块].[参数名]` 格式(如 `--control.type`),需严格匹配大小写和命名。
阅读全文
相关推荐















