OpenVPN stock ebuild does not compile with pthread support enabled. Enabling pthread support will allow OpenVPN to offload the rekeying functions to a separate thread that can be more effectively managed; thereby allowing the main OpenVPN process to focus more on important connection-related tasks, and allow the CPU-intensive-but-not-urgent rekeying functions to be given a lower priority. Bottom line, better performance with it. Reproducible: Always Steps to Reproduce: 1.Emerge OpenVPN. 2.Set the --nice-work swith to something 3. Watch OpenVPN tell you that pthread support is not enabled. Actual Results: It told me there was no pthread support. Expected Results: It should have not given me an error message. I'm not smart enough to figure out how to rewrite the ebuild to do this. Otherwise, I would have included a fix. I experimented a bit with running ./configure --enable-pthread by hand and trying to ebuild merge from there, but portage wants to rebuild from scratch. (usually that works) I did get this output from running ./configure --enable-pthread by hand: configure: checking for pthread support... checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... -D_REENTRANT Is pthread already installed somewhere? Does it have to be?
pthreads is a part of glibc.
Ok, how difficult will it be to add support for it to the ebuild?
Sorry, I should have probably said that pthread support can be enabled with: ./configure --enable-pthread in the compilation stage. I just don't know how to do that in an ebuild, and i couldn't readily figure it out by looking at the ebuild itself.
Okay I added support for this with USE="pthreads".
That did it! Thank you much. Am I supposed to close this bug out, or just leave it?