ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.22k stars 9.72k forks source link

bazel-bin软链接问题 #15067

Open zzx568730371 opened 1 year ago

zzx568730371 commented 1 year ago

hi,我这里想用apollo文件夹里的bazel-bin这个文件,但是他现在的状态是软连接断开的状态,然后我重新创建软链接到目标文件路径发现还是不行,请问下有什么解决办法吗 2023-08-01 09-20-37 的屏幕截图 2023-08-01 09-57-30 的屏幕截图

zzx568730371 commented 1 year ago

![Uploading 2023-08-01 10-00-44 的屏幕截图.png…]()

MambaWong commented 1 year ago

你这路径不对吧

zzx568730371 commented 1 year ago

你这路径不对吧

不是,这个软链接并不是我创建的,一开始就有了的。因为我要用bazel-bin这个工具生成sim_map.bin的文件。但是这个软链接不知道为啥断开了,我LL看了下他软链接到的目标路径xx/opt下是有个bin文件的,但是不知道为什么我重新链接(不知道我指令有没有弄错),一直显示没有目标路径的文件或者目录

zzx568730371 commented 1 year ago

你这路径不对吧

请问下我这个路径是什么地方有问题呢

MambaWong commented 1 year ago

你这路径不对吧

请问下我这个路径是什么地方有问题呢

/apollo~/apollo? 一般 bazel-bin就是链接的项目当前目录中的.cache

zzx568730371 commented 1 year ago

你这路径不对吧

请问下我这个路径是什么地方有问题呢

/apollo~/apollo? 一般 bazel-bin就是链接的项目当前目录中的.cache

我看了下那几个文件都是root,您的意思是我要在根目录下执行创建软链接的命令吗

nagareru commented 1 year ago

你要启动apollo的docker环境那几个目录才能访问吧

zzx568730371 commented 1 year ago

你这路径不对吧

请问下我这个路径是什么地方有问题呢

/apollo~/apollo? 一般 bazel-bin就是链接的项目当前目录中的.cache

我把他那个目标路径改成了我的apollo路径,执行了,然后如截图中显示文件已存在,但是我看那个bazel-bin还是断开的状态,这是为啥呀

zzx568730371 commented 1 year ago

启动了阿,您的意思是说在docker内执行么?

nagareru commented 1 year ago

是的,你的第一张截图还是在docker外吧,是访问不了docker内创建的目录的吧

zzx568730371 commented 1 year ago

2023-08-01 15-51-52 的屏幕截图 2023-08-01 15-54-05 的屏幕截图

你这路径不对吧

请问下我这个路径是什么地方有问题呢

/apollo~/apollo? 一般 bazel-bin就是链接的项目当前目录中的.cache

2023-08-01 15-54-05 的屏幕截图 2023-08-01 15-51-52 的屏幕截图 我这边尝试了更改目标文件的路径为~/apollo,就是我这边的文件路径,执行完指令后,bazel-bin还是没有改变

MambaWong commented 1 year ago

我没在docker里面弄。实在不行,自己重新build一下呗。

zzx568730371 commented 1 year ago

是的,你的第一张截图还是在docker外吧,是访问不了docker内创建的目录的吧

2023-08-01 16-15-47 的屏幕截图 我在容器内执行了创建的指令,显示文件已存在(不知道是不是我刚刚在docker外面修改了目标文件路径为我这边的路径然后执行创建软链接命令的原因)但是我bazel-bin还显示断开的状态

CesarLiu commented 1 year ago

docker容器相当于一个系统,在容器里创建的软链接只能在容器里用。

lilejin322 commented 3 months ago

docker容器相当于一个系统,在容器里创建的软链接只能在容器里用。 @CesarLiu 你说得对,在宿主机里访问bazel存储的编译器二进制内容需要在docker中查阅软链接指向的真实地址,容器外该软链接是断的;可以先在docker中使用ls -l进行查看,后在宿主机访问该位置

另外,似乎将编译器从GCC切换至LLVM是件困难的事情,GCC缺乏中间表示IR功能,如果能换成LLVM进行编译,并抽取出.ll文件其实就可以做model checking了