Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FreeBSD support? #263

Open
davidchisnall opened this issue Feb 6, 2020 · 12 comments
Open

FreeBSD support? #263

davidchisnall opened this issue Feb 6, 2020 · 12 comments
Labels
enhancement Enchancement request

Comments

@davidchisnall
Copy link

OS: FreeBSD 12
VSCode version: 1.41
Extension version: N/A
Python version: 3.7.6
LLDB version: 8.0.1, up to 10 RC1 supported in packages

LLDB is the system debugger for FreeBSD and FreeBSD ships multiple versions in packages, but this extension produces an error on install, saying that FreeBSD is not supported. I believe this is because it is missing the platform-specific binaries for the native adaptor, but falling back to the Python adaptor does not work. I was not able to find a setting to try with a different lldb version, so this may be a problem with the version in the base system only.

@vadimcn
Copy link
Owner

vadimcn commented Feb 10, 2020

Sorry, I've no near-future plans for FreeBSD port.

@vadimcn vadimcn added the enhancement Enchancement request label Feb 10, 2020
@davidchisnall
Copy link
Author

What are the blockers? It appears as if the only thing preventing it from working is the lack of a binary.

@vadimcn
Copy link
Owner

vadimcn commented Feb 11, 2020

Well, yes, it's the lack of binaries. I don't have a machine or a docker image to build them and I don't have a machine to test.

@wolfspider
Copy link

wolfspider commented Feb 12, 2020

I've spent the last couple of days porting it and not a lot of changes need to take place for it to build. Unfortunately, I have found it has the same problem as QTCreator in that LLDB is missing the breakpoints which is the reason I tried porting it in the first place.

I just decided to include everything so you can see some of the changes necessary but also forcing LLVM90 as the version due to the shipped LLVM and LLVM90 from pkg not having scripting support turned on (hint: build it from ports or use devel):

wolfspider/vscode-lldb@05ef6a4

It is very WIP obviously here is the release as a VSIX:

https://github.com/wolfspider/vscode-lldb/releases

Also have encountered a strange Rust problem with FreeBSD hence the weird header file in there- yes I actually have to include this header AND the import haven't narrowed this one down quite yet but it builds. Weird huh?

mystor/rust-cpp#70

I'm still trying a thing or two to get this working just let me know what you think, thanks!

@vadimcn
Copy link
Owner

vadimcn commented Feb 12, 2020

Thanks for looking into it, but It's not that simple... I also build a custom version of LLDB, maximally stripped of dependencies, with Rust support and some bug fixes. Which also requires a special build of SWIG, which makes it possible to bind to different versions of Python.

But even if all that were solved, there's still the question of building and testing it. In my experience, platform ports tend to break quite often unless tested by CI.

@davidchisnall
Copy link
Author

Cirrus CI provides free FreeBSD CI and can be triggered automatically from GitHub.

@wolfspider
Copy link

wolfspider commented Feb 12, 2020

@vadimcn Oh absolutely I agree, all that I am trying to explain here is that even with it being built LLDB regex breakpoints are problematic right now. I can set regular breakpoints just fine in the terminal however I'm seeing the same behavior across QTCreator, etc.. So this may be similar to the problem MacOS was having and some functionality may be needed in LLDB (for FreeBSD) first before moving forward. Both adapters from your code native and python work just fine as-is from what I can tell.

@vadimcn
Copy link
Owner

vadimcn commented Feb 12, 2020

@wolfspider, did you mean to post in this thread? I'm not quite sure what regex'es have to do with FreeBSD...

@wolfspider
Copy link

wolfspider commented Feb 12, 2020

@vadimcn Heh, no it's the right thread just getting ahead of myself here. What I was describing was setting regex breakpoints. I need to do more testing with my installation of LLDB. TBH I think it's a permissions issue with FreeBSD and may have something to do with the defaults. Setting breakpoints manually in the terminal works fine but when another process sets them then something is going wrong. Hopefully, I can figure out if this is normal behavior, or a misconfiguration, or an actual issue because everybody who uses 12.1 Release branch of FreeBSD will encounter this. I do have specific examples + questions but want to make sure those go to the right place but IMO it's too early to determine that. To be fair I haven't edited LLDB source code at all here just added the scripting support so that is all stock.

@wolfspider
Copy link

Even setting a regex breakpoint to "." by hand still not getting anything when attaching a function but when not scripting (set breakpoint --file file.c -l 10) it works. Tried with sudo as well.

nocommand

@AlexanderYukhanov
Copy link

Did anybody make a progress on freeBSD support?

1 similar comment
@mitidzi
Copy link

mitidzi commented Dec 18, 2022

Did anybody make a progress on freeBSD support?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enchancement request
Projects
None yet
Development

No branches or pull requests

5 participants