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

[Wolfi Package Request]: libpoppler-cpp-dev #40074

Open
2 of 4 tasks
askanonymous opened this issue Jan 21, 2025 · 4 comments
Open
2 of 4 tasks

[Wolfi Package Request]: libpoppler-cpp-dev #40074

askanonymous opened this issue Jan 21, 2025 · 4 comments
Labels
needs-triage applied to all new customer/user issues. Removed after triage occurs. wolfi-package-request used to track requests for new wolfi packages

Comments

@askanonymous
Copy link

What software would you like us to add to wolfi-os. Ideally include a URL to the project and its source.

Hi team,

We want to get libpoppler-cpp-dev for wolfi images. This is required for some 3rd party integration.

https://packages.debian.org/buster/libpoppler-cpp-dev

which versions of the software should we include?

https://packages.debian.org/buster/libpoppler-cpp-dev

Add some justification for why this specific package and versions are important.

This is required for PDF generation and third-party integration.

Please check all that apply

  • This package has an un-restrictive license
  • The package/versions proposed are actively maintained upstream
  • I am interested in adding this package to Wolfi OS myself
  • I am willing to help maintain this package
@askanonymous askanonymous added needs-triage applied to all new customer/user issues. Removed after triage occurs. wolfi-package-request used to track requests for new wolfi packages labels Jan 21, 2025
@askanonymous
Copy link
Author

change required for - required for compiling https://pypi.org/project/python-poppler/ package

@tuananh
Copy link
Contributor

tuananh commented Jan 21, 2025

@askanonymous looks like it's equivalent to poppler-dev in wolfi

https://packages.debian.org/buster/amd64/libpoppler-cpp-dev/filelist

can you check that?

@askanonymous
Copy link
Author

askanonymous commented Jan 21, 2025

Thanks @tuananh for the quick response.
i did try that out. However, i am getting below error:

68.97 Collecting python-poppler==0.4.1 (from -r requirements.txt (line 144))
68.98   Downloading python_poppler-0.4.1.tar.gz (138 kB)
69.01   Installing build dependencies: started
71.22   Installing build dependencies: finished with status 'done'
71.22   Getting requirements to build wheel: started
71.49   Getting requirements to build wheel: finished with status 'done'
71.49   Installing backend dependencies: started
72.42   Installing backend dependencies: finished with status 'done'
72.42   Preparing metadata (pyproject.toml): started
133.7   Preparing metadata (pyproject.toml): still running...
147.5   Preparing metadata (pyproject.toml): finished with status 'error'
147.5   error: subprocess-exited-with-error
147.5   
147.5   × Preparing metadata (pyproject.toml) did not run successfully.
147.5   │ exit code: 1
147.5   ╰─> [100 lines of output]
147.5       + meson setup /tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12 /tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12/.mesonpy-zwl564bo -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12/.mesonpy-zwl564bo/meson-python-native-file.ini
147.5       The Meson build system
147.5       Version: 1.6.1
147.5       Source dir: /tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12
147.5       Build dir: /tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12/.mesonpy-zwl564bo
147.5       Build type: native build
147.5       Project name: python-poppler
147.5       Project version: 0.4.1
147.5       C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Wolfi 14.2.0-r7) 14.2.0")
147.5       C++ linker for the host machine: c++ ld.bfd 2.43.1
147.5       Host machine cpu family: x86_64
147.5       Host machine cpu: x86_64
147.5       Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
147.5       Run-time dependency poppler-cpp found: YES 25.01.0
147.5       Program python3 found: YES (/usr/bin/python3.11)
147.5       Downloading pybind11 source from https://github.com/pybind/pybind11/archive/refs/tags/v2.10.3.tar.gz
147.5       Downloading file of unknown size.
147.5       Downloading pybind11 patch from https://wrapdb.mesonbuild.com/v2/pybind11_2.10.3-1/get_patch
147.5       
147.5       Executing subproject pybind11
147.5       
147.5       pybind11| Project name: pybind11
147.5       pybind11| Project version: 2.10.3
147.5       pybind11| C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Wolfi 14.2.0-r7) 14.2.0")
147.5       pybind11| C++ linker for the host machine: c++ ld.bfd 2.43.1
147.5       pybind11| Build targets in project: 0
147.5       pybind11| Subproject pybind11 finished.
147.5       
147.5       Configuring _version.py using configuration
147.5       Run-time dependency python found: YES 3.11
147.5       Build targets in project: 13
147.5       
147.5       python-poppler 0.4.1
147.5       
147.5         Subprojects
147.5           pybind11    : YES
147.5       
147.5         User defined options
147.5           Native files: /tmp/pip-wheel-j2n3qqou/python-poppler_f5f2fe383d4044b6b5f97dd7f46f9f12/.mesonpy-zwl564bo/meson-python-native-file.ini
147.5           b_ndebug    : if-release
147.5           b_vscrt     : md
147.5           buildtype   : release
147.5       
147.5       Found ninja-1.11.1.git.kitware.jobserver-1 at /tmp/pip-build-env-d_bvru1_/normal/bin/ninja
147.5       + /tmp/pip-build-env-d_bvru1_/normal/bin/ninja
147.5       [1/26] Compiling C++ object src/cpp/destination.cpython-311-x86_64-linux-gnu.so.p/destination.cpp.o
147.5       [2/26] Linking target src/cpp/destination.cpython-311-x86_64-linux-gnu.so
147.5       [3/26] Compiling C++ object src/cpp/global_.cpython-311-x86_64-linux-gnu.so.p/global.cpp.o
147.5       [4/26] Linking target src/cpp/global_.cpython-311-x86_64-linux-gnu.so
147.5       [5/26] Compiling C++ object src/cpp/document.cpython-311-x86_64-linux-gnu.so.p/document.cpp.o
147.5       [6/26] Linking target src/cpp/document.cpython-311-x86_64-linux-gnu.so
147.5       [7/26] Compiling C++ object src/cpp/embedded_file.cpython-311-x86_64-linux-gnu.so.p/embedded_file.cpp.o
147.5       [8/26] Linking target src/cpp/embedded_file.cpython-311-x86_64-linux-gnu.so
147.5       [9/26] Compiling C++ object src/cpp/image.cpython-311-x86_64-linux-gnu.so.p/image.cpp.o
147.5       FAILED: src/cpp/image.cpython-311-x86_64-linux-gnu.so.p/image.cpp.o
147.5       c++ -Isrc/cpp/image.cpython-311-x86_64-linux-gnu.so.p -Isrc/cpp -I../src/cpp -I../subprojects/pybind11-2.10.3/include -I/usr/include/poppler/cpp -I/usr/include/poppler -I/usr/include/python3.11 -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O3 -fPIC -MD -MQ src/cpp/image.cpython-311-x86_64-linux-gnu.so.p/image.cpp.o -MF src/cpp/image.cpython-311-x86_64-linux-gnu.so.p/image.cpp.o.d -o src/cpp/image.cpython-311-x86_64-linux-gnu.so.p/image.cpp.o -c ../src/cpp/image.cpp
147.5       ../src/cpp/image.cpp: In function 'void poppler::set_data(image&, char*)':
147.5       ../src/cpp/image.cpp:32:11: warning: variable 'img_data' set but not used [-Wunused-but-set-variable]
147.5          32 |     char *img_data = img.data();
147.5             |           ^~~~~~~~
147.5       In file included from ../src/cpp/image.cpp:20:
147.5       ../subprojects/pybind11-2.10.3/include/pybind11/pybind11.h: In instantiation of 'void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11::cpp_function::cpp_function<poppler::image, poppler::image, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg_v>(poppler::image (poppler::image::*)() const, const pybind11::name&, const pybind11::is_method&, const pybind11::sibling&, const pybind11::arg_v&)::<lambda(const poppler::image*)>; Return = poppler::image; Args = {const poppler::image*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg_v}]':
147.5       ../subprojects/pybind11-2.10.3/include/pybind11/pybind11.h:131:19:   required from 'pybind11::cpp_function::cpp_function(Return (Class::*)(Arg ...) const, const Extra& ...) [with Return = poppler::image; Class = poppler::image; Arg = {}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg_v}]'
147.5         131 |         initialize([f](const Class *c,
147.5             |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
147.5         132 |                        Arg... args) -> Return { return (c->*f)(std::forward<Arg>(args)...); },
147.5             |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         133 |                    (Return(*)(const Class *, Arg...)) nullptr,
147.5             |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         134 |                    extra...);
147.5             |                    ~~~~~~~~~
147.5       ../subprojects/pybind11-2.10.3/include/pybind11/pybind11.h:1568:22:   required from 'pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const char*, Func&&, const Extra& ...) [with Func = poppler::image (poppler::image::*)() const; Extra = {pybind11::arg_v}; type_ = poppler::image; options = {}]'
147.5        1568 |         cpp_function cf(method_adaptor<type>(std::forward<Func>(f)),
147.5             |                      ^~
147.5       ../src/cpp/image.cpp:105:13:   required from here
147.5          98 |     py::class_<image>(m, "image", py::buffer_protocol())
147.5             |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5          99 |         .def(py::init<>())
147.5             |         ~~~~~~~~~~~~~~~~~~
147.5         100 |         .def_buffer(&image_buffer_info)
147.5             |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         101 |         .def(py::init<char *, int, int, image::format_enum>(), py::arg("idata"), py::arg("iwidth"), py::arg("iheight"), py::arg("iformat"))
147.5             |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         102 |         .def(py::init<int, int, image::format_enum>(), py::arg("iwidth"), py::arg("iheight"), py::arg("iformat"))
147.5             |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         103 |         .def("bytes_per_row", &image::bytes_per_row)
147.5             |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         104 |         // .def("const_data", &image::const_data)
147.5             |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5         105 |         .def("copy", &image::copy, py::arg("rect") = rect())
147.5             |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5       ../subprojects/pybind11-2.10.3/include/pybind11/pybind11.h:218:40: error: static assertion failed: The number of argument annotations does not match the number of function arguments
147.5         218 |             expected_num_args<Extra...>(
147.5             |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
147.5         219 |                 sizeof...(Args), cast_in::args_pos >= 0, cast_in::has_kwargs),
147.5             |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147.5       ../subprojects/pybind11-2.10.3/include/pybind11/pybind11.h:218:40: note: 'pybind11::detail::expected_num_args<pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg_v>(1, (((int)pybind11::detail::argument_loader<const poppler::image*>::args_pos) >= 0), ((int)((bool)pybind11::detail::argument_loader<const poppler::image*>::has_kwargs)))' evaluates to false
147.5       [10/26] Compiling C++ object src/cpp/font.cpython-311-x86_64-linux-gnu.so.p/font.cpp.o
147.5       [11/26] Compiling C++ object src/cpp/global.cpython-311-x86_64-linux-gnu.so.p/global.cpp.o
147.5       ninja: build stopped: subcommand failed.
147.5       [end of output]
147.5   
147.5   note: This error originates from a subprocess, and is likely not a problem with pip.
147.6 error: metadata-generation-failed
147.6 
147.6 × Encountered error while generating package metadata.
147.6 ╰─> See above for output.
147.6 
147.6 note: This is an issue with the package mentioned above, not pip.
147.6 hint: See above for details.
------
Dockerfile:62
--------------------
  61 |     # NOTE: We are only installing production dependencies here.
  62 | >>> RUN --mount=type=secret,id=dot-env . /run/secrets/dot-env \
  63 | >>>   # Configure the git token before running poetry commands
  64 | >>>   && git config --global --add url.https://api:${<Redacted>}@github.com/<Redacted>.insteadof https://github.com/<Redacted> \
  65 | >>>   && git config --global --add url.https://api:${<Redacted>}@github.com/<redacted>.insteadof https://github.com/<redacted> \
  66 | >>>   && poetry export -f requirements.txt --output requirements.txt --without-hashes --with production \
  67 | >>>   && pip install --upgrade pip && pip wheel --wheel-dir /usr/src/app/wheels -r requirements.txt \
  68 | >>>   # Remove the token at the end of the step to ensure token doesn't get persisted
  69 | >>>   && git config --global --unset-all url.https://api:${<Redacted>}@github.com/<Redacted>.insteadof \
  70 | >>>   && git config --global --unset-all url.https://api:${<Redacted>}@github.com/<redacted>.insteadof
  71 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c . /run/secrets/dot-env   && git config --global --add url.https://api:${<Redacted>}@github.com/<Redacted>.insteadof https://github.com/<Redacted>   && git config --global --add url.https://api:${<Redacted>}@github.com/<redacted>.insteadof https://github.com/<redacted> && poetry export -f requirements.txt --output requirements.txt --without-hashes --with production   && pip install --upgrade pip && pip wheel --wheel-dir /usr/src/app/wheels -r requirements.txt   && git config --global --unset-all url.https://api:${<Redacted>}@github.com/<Redacted>.insteadof   && git config --global --unset-all url.https://api:${<Redacted>}@github.com/<redacted>.insteadof" did not complete successfully: exit code: 1
904  /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
github.com/moby/buildkit/executor/runcexecutor.exitError
	/root/build-deb/engine/vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go:380
github.com/moby/buildkit/executor/runcexecutor.(*runcExecutor).Run
	/root/build-deb/engine/vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go:338
github.com/moby/buildkit/solver/llbsolver/ops.(*ExecOp).Exec
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/llbsolver/ops/exec.go:484
github.com/moby/buildkit/solver.(*sharedOp).Exec.func2
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/jobs.go:1100
github.com/moby/buildkit/util/flightcontrol.(*call[...]).run
	/root/build-deb/engine/vendor/github.com/moby/buildkit/util/flightcontrol/flightcontrol.go:122
sync.(*Once).doSlow
	/usr/local/go/src/sync/once.go:74
sync.(*Once).Do
	/usr/local/go/src/sync/once.go:65
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:1695

904  /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
github.com/moby/buildkit/solver.(*edge).execOp
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/edge.go:979
github.com/moby/buildkit/solver/internal/pipe.NewWithFunction.func2
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/internal/pipe/pipe.go:82
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:1695

904  /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
github.com/moby/buildkit/solver/llbsolver/ops.(*ExecOp).Exec
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/llbsolver/ops/exec.go:505
github.com/moby/buildkit/solver.(*sharedOp).Exec.func2
	/root/build-deb/engine/vendor/github.com/moby/buildkit/solver/jobs.go:1100

439 v0.12.1 /usr/libexec/docker/cli-plugins/docker-buildx buildx build --secret id=dot-env,src=/home/circleci/project/.env --build-arg CODEBUILD_START_TIME=2025-01-20T19:33:36+05:30 --build-arg CODEBUILD_RESOLVED_SOURCE_VERSION=96fd9b75395df0997a66116b04af653afc978234 --build-arg CODEBUILD_SOURCE_VERSION=96fd9b75395df0997a66116b04af653afc978234 --build-arg CODEBUILD_BUILD_NUMBER=wolfiimage.17 --build-arg CODEBUILD_WEBHOOK_HEAD_REF=test-wolfi-image -t ************.dkr.ecr.*********.amazonaws.com/********** -f /home/circleci/project/stgcore-app-cls/stgcore-app-common/stgcore/deploy/compose/production/django/Dockerfile .
google.golang.org/grpc.getChainUnaryInvoker.func1
	google.golang.org/[email protected]/clientconn.go:361
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryClientInterceptor.func1
	go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]/interceptor.go:99
github.com/moby/buildkit/client.New.filterInterceptor.func6
	github.com/moby/[email protected]/client/client.go:398
google.golang.org/grpc.DialContext.chainUnaryClientInterceptors.func3
	google.golang.org/[email protected]/clientconn.go:349
google.golang.org/grpc.(*ClientConn).Invoke
	google.golang.org/[email protected]/call.go:35
github.com/moby/buildkit/api/services/control.(*controlClient).Solve
	github.com/moby/[email protected]/api/services/control/control.pb.go:2208
github.com/moby/buildkit/client.(*Client).solve.func2
	github.com/moby/[email protected]/client/solve.go:258
golang.org/x/sync/errgroup.(*Group).Go.func1
	golang.org/x/[email protected]/errgroup/errgroup.go:75
runtime.goexit
	runtime/asm_amd64.s:1650

439 v0.12.1 /usr/libexec/docker/cli-plugins/docker-buildx buildx build --secret id=dot-env,src=/home/circleci/project/.env --build-arg CODEBUILD_START_TIME=2025-01-20T19:33:36+05:30 --build-arg CODEBUILD_RESOLVED_SOURCE_VERSION=96fd9b75395df0997a66116b04af653afc978234 --build-arg CODEBUILD_SOURCE_VERSION=96fd9b75395df0997a66116b04af653afc978234 --build-arg CODEBUILD_BUILD_NUMBER=wolfiimage.17 --build-arg CODEBUILD_WEBHOOK_HEAD_REF=test-wolfi-image -t ************.dkr.ecr.*********.amazonaws.com/********** -f /home/circleci/project/stgcore-app-cls/stgcore-app-common/stgcore/deploy/compose/production/django/Dockerfile .
github.com/moby/buildkit/client.(*Client).solve.func2
	github.com/moby/[email protected]/client/solve.go:273
golang.org/x/sync/errgroup.(*Group).Go.func1
	golang.org/x/[email protected]/errgroup/errgroup.go:75
runtime.goexit
	runtime/asm_amd64.s:1650

I know I might be doing something wrong but i am unable to pinpoint it the actual issue.

@tuananh
Copy link
Contributor

tuananh commented Jan 21, 2025

minus the docker part. i think pip install python-poppler is falling back to build from src & still failing there.

however, i'm not very well-versed in meson. maybe someone else can chime in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage applied to all new customer/user issues. Removed after triage occurs. wolfi-package-request used to track requests for new wolfi packages
Projects
None yet
Development

No branches or pull requests

2 participants