Code Monkey home page Code Monkey logo

Comments (6)

pgnd avatar pgnd commented on May 27, 2024 1

@cschug

replicate the first code block
...
very simple logic just checking the presence of a header file
...
in an RPM package build you'll have to mimic

yup.

there was at one time (~2015) discussion about 'git submodule' support in COPR rpm builds,

https://lists.fedoraproject.org/archives/list/[email protected]/thread/24IXWXUDHT3OFCXABNSQ6V4DYUSADA7I/

a draft PR was here

https://fedoraproject.org/wiki/User:Gbcox/PackagingDrafts/SourceURL#Git_Submodules

afaict, it was never adopted,

https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/

unclear as to why not ... haven't found subsequent discuss

so, instead, standalone/manual prep in the build

https://download.copr.fedorainfracloud.org/results/pgfed/nginx-mainline/fedora-38-x86_64/06513099-nginx/nginx.spec

does the trick.

build's successful, and exec's good.

thx! o/

from ngx_brotli.

pgnd avatar pgnd commented on May 27, 2024

Looks like Sep 7 commit 63ca02a is the culprit

Builds,

Oct  9, 2023  a71f9312c2deb28875acc7bacfdd5695a111aa53  FAIL

Sep  7, 2023  63ca02abdcf79c9e788d2eedcc388d2335902e52  FAIL
	log ->
		https://download.copr.fedorainfracloud.org/results/pgfed/nginx-mainline/fedora-38-x86_64/06509212-nginx/builder-live.log.gz

Sep  1, 2023  8f726ea6614eb5541812647a673abd8f66eb4660  GOOD
	log ->
		https://download.copr.fedorainfracloud.org/results/pgfed/nginx-mainline/fedora-38-x86_64/06509221-nginx/builder-live.log.gz

Apr 29, 2022  6e975bcb015f62e1f303054897783355e2a877dc  GOOD
	log ->
		https://download.copr.fedorainfracloud.org/results/pgfed/nginx-mainline/fedora-38-x86_64/06509194-nginx/builder-live.log.gz

cc: @wyattoday

from ngx_brotli.

cschug avatar cschug commented on May 27, 2024

@pgnd To me it looks like you did not follow the updated build instructed which tell you that you'll have to build Brotli library before running Nginx's configure script. That's a new extra step required.

Nevertheless there is room for improvement when it comes to the build instructions for the Brotli library as the build flags are highly opinionated (like "works on my desk") and might potentially break Nginx either during build or runtime.

-flto might or might not work correctly dependent how recent the compiler suit is, -march=native -mtune=native might build fine but can cause signal 4 core dumps (illegal instruction) during runtime if executed on a different machine with a different CPU not supporting the same instructions as the build platform. The C++ flags defined per CMAKE_CXX_FLAGS aren't IMHO required at all as ther is no C++ code involved as far as I can see.

from ngx_brotli.

pgnd avatar pgnd commented on May 27, 2024

@cschug

you'll have to build Brotli library before running Nginx's configure script. That's a new extra step required.

can you point to that ?

this,

https://github.com/google/ngx_brotli/blob/master/README.md#dynamically-loaded

doesn't appear to mention it

from ngx_brotli.

u5surf avatar u5surf commented on May 27, 2024

@pgnd Hi, thanks reporting.

related? #157

I guess it is nothing to be related with #157.
Because nginx gzip module has been same care of #157 below.

https://github.com/nginx/nginx/blob/c37fdcdd1e1527d2c98cc68a978cf928589c7330/src/http/modules/ngx_http_gzip_filter_module.c#L284

https://github.com/nginx/nginx/blob/c37fdcdd1e1527d2c98cc68a978cf928589c7330/src/http/modules/ngx_http_gzip_static_module.c#L245

If you said it failed the build for that, nginx gzip module would had already been build failed a few month ago when the below commit came into.
nginx/nginx@e59c209

from ngx_brotli.

cschug avatar cschug commented on May 27, 2024

@pgnd Indeed. Actually I cannot tell for 100 % because I always build Nginx statically, but I guess you'll need to replicate the first code block of the "Statically compiled" instructions, because the check you're failing ("Brotli library is missing from ...") is very simple logic just checking the presence of a header file.

It should be noted that in an RPM package build you'll have to mimic of the git clone --recurse-submodules. I'm not super familiar with COPR, but it looks to me you are using the source code of https://github.com/google/ngx_brotli only, but that one uses the https://github.com/google/brotli as a Git sub-module (see https://github.com/google/ngx_brotli/blob/a71f9312c2deb28875acc7bacfdd5695a111aa53/.gitmodules). Hence you'll need to download and extract those sources too, at the named patch deps/brotli, and ideally also at the revision ed737e8 (see https://github.com/google/ngx_brotli/tree/a71f9312c2deb28875acc7bacfdd5695a111aa53/deps).

from ngx_brotli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.