Skip to content

Crafting with gRPC as dependency fails on debian:trixie #921

@JoshuaBehrens

Description

@JoshuaBehrens

I am having trouble craft a php with gRPC as dependency due to this error:

Validation failed: Cannot find grpc source code in //source/grpc/src/php/ext/grpc
# Dockerfile
FROM debian:trixie-slim AS builder

COPY craft.yml /tmp/craft.yml

RUN set -eux; \
	apt update -yy && \
	apt install -yy curl && \
	curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-$(uname -m) && \
	chmod +x ./spc && \
	mv /tmp/craft.yml ./craft.yml && \
	./spc craft --debug
# craft.yml
php-version: 8.4
extensions:
  - amqp
  - bcmath
  - curl
  - ftp
  - gd
  - grpc
  - intl
  - mbstring
  - openssl
  - pcntl
  - pdo_mysql
  - phar
  - posix
  - readline
  - simplexml
  - tokenizer
  - xml
  - zip
  - zstd
shared-extensions:
  - xdebug
sapi:
  - cli
  - fpm
download-options:
  prefer-pre-built: true
with-hardcoded-ini:
  - 'upload_max_filesize=128M'
  - 'post_max_size=128M'
  - 'max_execution_time=30'
  - 'memory_limit=1G'
  - 'date.timezone="Europe/Berlin"'

There are files in the gRPC folder though, but I see, that the expected directory does not exist:

# ls /source/grpc/*
+ ls /source/grpc/bin /source/grpc/include /source/grpc/lib /source/grpc/share /source/grpc/source-licenses
/source/grpc/bin:
protoc  protoc-28.1.0  protoc-gen-upb  protoc-gen-upb-28.1.0  protoc-gen-upb_minitable  protoc-gen-upb_minitable-28.1.0  protoc-gen-upbdefs  protoc-gen-upbdefs-28.1.0

/source/grpc/include:
absl  google  grpc  grpc++  grpcpp  java  re2  upb  upb_generator  utf8_range.h  utf8_validity.h

/source/grpc/lib:
cmake                                     libabsl_flags_parse.a                    libabsl_poison.a                                  libabsl_vlog_config_internal.a
libabsl_bad_any_cast_impl.a               libabsl_flags_private_handle_accessor.a  libabsl_random_distributions.a                    libaddress_sorting.a
libabsl_bad_optional_access.a             libabsl_flags_program_name.a             libabsl_random_internal_distribution_test_util.a  libgpr.a
libabsl_bad_variant_access.a              libabsl_flags_reflection.a               libabsl_random_internal_platform.a                libgrpc++.a
libabsl_base.a                            libabsl_flags_usage.a                    libabsl_random_internal_pool_urbg.a               libgrpc++_alts.a
libabsl_city.a                            libabsl_flags_usage_internal.a           libabsl_random_internal_randen.a                  libgrpc++_error_details.a
libabsl_civil_time.a                      libabsl_graphcycles_internal.a           libabsl_random_internal_randen_hwaes.a            libgrpc++_unsecure.a
libabsl_cord.a                            libabsl_hash.a                           libabsl_random_internal_randen_hwaes_impl.a       libgrpc.a
libabsl_cord_internal.a                   libabsl_hashtablez_sampler.a             libabsl_random_internal_randen_slow.a             libgrpc_authorization_provider.a
libabsl_cordz_functions.a                 libabsl_int128.a                         libabsl_random_internal_seed_material.a           libgrpc_plugin_support.a
libabsl_cordz_handle.a                    libabsl_kernel_timeout_internal.a        libabsl_random_seed_gen_exception.a               libgrpc_unsecure.a
libabsl_cordz_info.a                      libabsl_leak_check.a                     libabsl_random_seed_sequences.a                   libprotobuf-lite.a
libabsl_cordz_sample_token.a              libabsl_log_entry.a                      libabsl_raw_hash_set.a                            libprotobuf.a
libabsl_crc32c.a                          libabsl_log_flags.a                      libabsl_raw_logging_internal.a                    libprotoc.a
libabsl_crc_cord_state.a                  libabsl_log_globals.a                    libabsl_scoped_set_env.a                          libre2.a
libabsl_crc_cpu_detect.a                  libabsl_log_initialize.a                 libabsl_spinlock_wait.a                           libupb.a
libabsl_crc_internal.a                    libabsl_log_internal_check_op.a          libabsl_stacktrace.a                              libupb_base_lib.a
libabsl_debugging_internal.a              libabsl_log_internal_conditions.a        libabsl_status.a                                  libupb_json_lib.a
libabsl_decode_rust_punycode.a            libabsl_log_internal_fnmatch.a           libabsl_statusor.a                                libupb_mem_lib.a
libabsl_demangle_internal.a               libabsl_log_internal_format.a            libabsl_str_format_internal.a                     libupb_message_lib.a
libabsl_demangle_rust.a                   libabsl_log_internal_globals.a           libabsl_strerror.a                                libupb_mini_descriptor_lib.a
libabsl_die_if_null.a                     libabsl_log_internal_log_sink_set.a      libabsl_string_view.a                             libupb_textformat_lib.a
libabsl_examine_stack.a                   libabsl_log_internal_message.a           libabsl_strings.a                                 libupb_wire_lib.a
libabsl_exponential_biased.a              libabsl_log_internal_nullguard.a         libabsl_strings_internal.a                        libutf8_range.a
libabsl_failure_signal_handler.a          libabsl_log_internal_proto.a             libabsl_symbolize.a                               libutf8_range_lib.a
libabsl_flags_commandlineflag.a           libabsl_log_severity.a                   libabsl_synchronization.a                         libutf8_validity.a
libabsl_flags_commandlineflag_internal.a  libabsl_log_sink.a                       libabsl_throw_delegate.a                          pkgconfig
libabsl_flags_config.a                    libabsl_low_level_hash.a                 libabsl_time.a
libabsl_flags_internal.a                  libabsl_malloc_internal.a                libabsl_time_zone.a
libabsl_flags_marshalling.a               libabsl_periodic_sampler.a               libabsl_utf8_for_code_point.a

/source/grpc/share:
grpc

/source/grpc/source-licenses:
grpc

There are different issues ( #908 , #909 ) and pull requests ( #905 ) that are gRPC related but do not seem to be related to my specific case, so I opened this one.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions