mudge/re2

Test round-trip of precompiled gems

Closed this issue · 2 comments

mudge commented

From @flavorjones:

I would recommend round-trip tests for the precompiled gems:

stanhu commented

#76 is getting close to working, but there are a few Windows failures:

  1. Some of the jobs (such as https://github.com/mudge/re2/actions/runs/5572656906/jobs/10178996692) are failing because the abseil path exceeds 240 characters. Perhaps we can fix this by telling mini_portile2 to use a different temp directory?
  2. Windows 2022 builds (such as https://github.com/mudge/re2/actions/runs/5572656906/jobs/10178936082) are failing in the linker due to missing abseil symbols. I'm not sure yet why it works fine on my own Windows 2022 machine. Windows 2019 builds are working fine.
stanhu commented

It seems the Windows 2022 link order may be a problem with pkgconf, which is used with MSYS2: pkgconf/pkgconf#268

I think I reproduced the issue by using MSYS2. The ordering below is incorrect:

$ PKG_CONFIG_PATH=.:../abseil-cpp-20230125.3/build/lib/pkgconfig pkg-config --libs --static re2
-L/usr/local/lib -labsl_flags -labsl_spinlock_wait -labsl_flags_internal -labsl_flags_reflection -labsl_bad_optional_access -labsl_strings_internal -labsl_flags_program_name -labsl_graphcycles_internal -labsl_symbolize -labsl_civil_time -labsl_time_zone -labsl_demangle_internal -labsl_flags_marshalling -labsl_str_format_internal -labsl_flags_private_handle_accessor -labsl_cord -labsl_hash -labsl_crc32c -labsl_crc_internal -labsl_cordz_handle -labsl_city -labsl_low_level_hash -labsl_bad_variant_access -labsl_hashtablez_sampler -pthread -Llib@ -lre2 -labsl_raw_hash_set -labsl_cordz_functions -labsl_exponential_biased -labsl_debugging_internal -labsl_stacktrace -labsl_crc_cpu_detect -labsl_cordz_info -labsl_time -labsl_crc_cord_state -labsl_cord_internal -labsl_malloc_internal -labsl_log_severity -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_commandlineflag -labsl_int128 -labsl_throw_delegate -labsl_synchronization -lrt -labsl_base -labsl_strings -labsl_raw_logging_internal