Based on your comments, I've changed it back to using the shared
library, though I am still building a static library as well.

Thanks a lot for all your help!

comments?

PS: yes, uwebsockets did go from 0.17.6 to 18.1.0

Aisha

On 6/3/20 11:14 AM, Stuart Henderson wrote:
> On 2020/06/02 15:55, Aisha Tammy wrote:
>>> All these static libraries mean that things won't get updated
>>> automatically when a library is updated. Say you install purritobin
>>> and there is a later security fix to usockets; purritobin won't be
>>> updated unless you manually force it (e.g. by bumping REVISION).
>>> The normal way of handling this with almost everything else in ports
>>> is to use shared libraries.
>>>
>> I totally agree but upstream has mandated that this library is to be used 
>> static only and with -flto -O3 (which Brian has removed stating unsupported 
>> archs, thanks brian!).
> 
> that could just be changed in the port like you did before (but then
> actually make use of it). I don't think we honestly care about the
> difference upstream talks about in the ticket (160k req/sec with
> shared libs, to 215k req/sec with static+lto, on some unspecified OS).
> https://github.com/uNetworking/uSockets/issues/99#issuecomment-627384325
> 
> Packagers for at least some other OS will want this too if they're
> going to include it in their package systems.
> 
>> Upstream have also rejected my patch to add shared libraries :( and is 
>> adamant
>> on using both the above flags (which was a separate issue that was raised, to
>> remove the flags and make them optional depending on distribution)
>>
>> Does ports not handle such an automated revision bump for static libraries 
>> that get updated? (am just asking, I don't know the intricacies and details
>> of shared/static library things)
> 
> If there was a shared library as well you could list it as a "fake" WANTLIB
> entry (it would show as "extra" so we add a comment to say what's going on)
> and then it would at least get updated if the shared library version number
> (.so.X.Y) changes though that doesn't force it for every update either.
> Really with static libs you need to bump all the downstream users or
> set a tight dependency on the particular version number.
> 
>> I am not sure how to resolve this conflict...
>>
>>
>> an aside: why was -O3 removed, upstream has it present and wants it to be 
>> there?
> 
> Higher opt levels increase risk of hitting compiler bugs (maybe only
> on certain architectures). If the code implements anything which is
> undefined behaviour that can cause problems with optimisers too,
> especially at higher opt levels.
> 
> Ports policy is to respect what is set by the user / ports infrastructure,
> usually -O2, but sometimes it's necessary to change that on certain arches.
> 

Attachment: purritobin-0.2.1.tgz
Description: application/compressed-tar

Attachment: uwebsockets-18.1.0.tgz
Description: application/compressed-tar

Attachment: usockets-0.4.0.tgz
Description: application/compressed-tar

Reply via email to