-
-
Notifications
You must be signed in to change notification settings - Fork 323
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
Bear spawns an endless number of processes on FreeBSD #557
Comments
I just upgraded to 14.0-STABLE and I'm getting the same issue, just endless wrappers spawning. If I run with --force-wrapper it seems to run the Makefile and exit, but it doesn't write anything in compile_commands.json. |
Thanks guys for the reporting... Yes, if the newly introduced The potential workarounds are not easy with my time budget this time... Static linking of the wrapper could fix that. (A lot of work on the build system, which will not be as portable as it is today.) Instead of calling Using the |
Unfortunately, |
I think it depends on the project @Jehops . Three things have to match: the makefile should call the compiler not with an absolute path, and the compiler should have a matching wrapper (you can create a soft link), and if the compiler name is not recognized you need to register in the config file. The link I've posted helps this to set up. If you have a specific problem I can try to help you, but need more details. |
I'm running 14.1-RELEASE, and it turns out that the FreeBSD package maintainer does not install any of the wrapper symlinks, preventing To make
The (P.S. I'm not sure why the |
I have been following this bug report since 14.1-RELEASE (That is when bear stopped working for me). I had to create a symlink to The non superuser access version did not work for me, I am not sure why. I hope this helps. Maybe the port maintainer should do this by default? |
I can add something like this to the port to create a bunch of symlinks.
I can also add a note to let users know that Do you suggest any other symlinks? |
On Fri, Aug 16, 2024 at 01:26:34PM EDT, Joseph Mingrone wrote:
I can add something like this to the port to create a bunch of symlinks.
You might want to look at ccache port it does the same thing for
/usr/local/libexec/ccache/
|
Thanks. I extracted some bits from the ccache port to come up with:
That's a fairly exhaustive list of C/C++ compilers. I notice that, e.g., the Arch bear package [0] creates links for other binaries. I'm open to thoughts about which are useful. [0] See |
After src commit 8ccd0b876e, bear can no longer intercept compile commands using the dynamic linker preload method. See rizsotto/Bear#557 for details. An alternative method for bear to intercept compile commands is via wrappers. To simplify using this method, install links for common build tools under lib/bear/wrapper.d/. PR: 280844 Sponsored by: The FreeBSD Foundation
After src commit 8ccd0b876e, bear can no longer intercept compile commands using the dynamic linker preload method. See rizsotto/Bear#557 for details. An alternative method for bear to intercept compile commands is via wrappers. To simplify using this method, install links for common build tools under lib/bear/wrapper.d/. PR: 280844 Sponsored by: The FreeBSD Foundation
After src commit 8ccd0b876e, bear can no longer intercept compile commands using the dynamic linker preload method. See rizsotto/Bear#557 for details. An alternative method for bear to intercept compile commands is via wrappers. To simplify using this method, install links for common build tools under lib/bear/wrapper.d/. PR: 280844 Sponsored by: The FreeBSD Foundation
After this commit on FreeBSD's main branch, bear will indefinitely spawn new processes.
root@15amd64-default:~ # bear --verbose -- ls
bear_ls_output_freebsd15.txt
Until SIGKILL is sent, new process will be spawned indefinitely.
Bear runs as expected on FreeBSD systems built prior to that commit.
root@14amd64-default:~ # bear --verbose -- ls
bear_ls_output_freebsd14.txt
The text was updated successfully, but these errors were encountered: