The verify script requirements need to get updated:
- meson is required but not listed
- gtest/gmock are required but not listed
- I had to export CPR_USE_SYSTEM_CURL=OFF for some reason due to ssl
stuff, unsure.
These issues don't need to block the release, but should get addressed
at some point to make verification easier.
That said, I did run into a different issue:
[ 94%] Linking CXX shared library libiceberg_rest.so
/usr/bin/ld: ../../../../_deps/curl-build/lib/libcurl.a(cookie.c.o):
warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section
`.text'
/usr/bin/ld: ../../../../_deps/curl-build/lib/libcurl.a(mprintf.c.o):
relocation R_X86_64_PC32 against symbol `stdout@@GLIBC_2.2.5' can not
be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
Since I set CPR_USE_SYSTEM_CURL=OFF, it looks like whatever version of
libcurl is being used by the default configuration for CMake is having
an issue with this linking. Most likely, the
`fetchcontent_makeavailable(cpr)` needs to explicitly do something
like:
foreach(_curl_target IN ITEMS libcurl libcurl_static libcurl_shared)
if(TARGET ${_curl_target})
set_target_properties(${_curl_target} PROPERTIES
POSITION_INDEPENDENT_CODE ON)
endif()
endforeach()
Or just globally set `CMAKE_POSITION_INDEPENDENT_CODE=ON` earlier in
the CMakeLists.txt so that the curl subbuild properly gets that
option.
As a result, my vote is -1 (binding).
I ran on Ubuntu 25.10
--Matt
On Tue, Jun 9, 2026 at 10:19 AM Gang Wu <[email protected]> wrote:
>
> +1 (non-binding)
>
> Ran verify script successfully and verified the installed artifacts. Thanks
> Junwang for the effort!
>
> We should improve the release script to catch similar issues in the future.
>
> Best,
> Gang
>
> On Tue, Jun 9, 2026 at 6:21 PM Junwang Zhao <[email protected]> wrote:
>>
>> Hi,
>>
>> I would like to propose the following release candidate (RC2) of
>> Apache Iceberg C++ 0.3.0.
>>
>> This release candidate is based on commit:
>> b6508226cb944e36267685d29c3a23c8422d8cad [1]
>>
>> The source release RC2 is hosted at [2].
>>
>> Please download, verify checksums and signatures, run the unit tests,
>> and vote on the release. See [3] for how to validate a release candidate.
>>
>> The vote will be open for at least 72 hours.
>>
>> [ ] +1 Release this as Apache Iceberg C++ 0.3.0
>> [ ] +0
>> [ ] -1 Do not release this as Apache Iceberg C++ 0.3.0 because...
>>
>> [1]:
>> https://github.com/apache/iceberg-cpp/tree/b6508226cb944e36267685d29c3a23c8422d8cad
>> [2]:
>> https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-cpp-0.3.0-rc2
>> [3]:
>> https://github.com/apache/iceberg-cpp/blob/main/dev/release/README.md#verify
>>
>> --
>> Regards
>> Junwang Zhao