Skip to content

build: remove bogous work-around for problems with sframes#199

Merged
ingomueller-net merged 1 commit intosubstrait-io:mainfrom
ingomueller-net:remove-sframe-workaround
Apr 1, 2026
Merged

build: remove bogous work-around for problems with sframes#199
ingomueller-net merged 1 commit intosubstrait-io:mainfrom
ingomueller-net:remove-sframe-workaround

Conversation

@ingomueller-net
Copy link
Copy Markdown
Collaborator

This PR removes a work-around I thought would fix a problem with sframes I ran into on my machine leading to linker errors while compiling ANTLR (a dependency of substrait-cpp). Turns out that the root cause is that CMake uses the system default compiler for dependencies fetched with FetchContent, which is g++ on my machine (which emits sframes), which may then linked with compilation units compiled by a different compiler, which may break of LTO is enabled. The short-term solution is to set the CC? and CXXenvironment variables to the same values asCMAKE_*_COMPILER` when configuring. I have submitted a better mid-term solution as substrait-io/substrait-cpp#145.

@ingomueller-net ingomueller-net force-pushed the remove-sframe-workaround branch 2 times, most recently from 5a91e35 to 17dae50 Compare March 31, 2026 11:52
@ingomueller-net
Copy link
Copy Markdown
Collaborator Author

@googlebot rescan

@ingomueller-net
Copy link
Copy Markdown
Collaborator Author

Need to close and re-open to make CLA assistant approve.

auto-merge was automatically disabled April 1, 2026 15:54

Pull request was closed

@ingomueller-net ingomueller-net force-pushed the remove-sframe-workaround branch from 76e2a9d to e6b15a6 Compare April 1, 2026 15:55
@ingomueller-net
Copy link
Copy Markdown
Collaborator Author

Need to close and re-open to make CLA assistant re-check.

@ingomueller-net ingomueller-net enabled auto-merge (squash) April 1, 2026 15:56
This PR removes a work-around I thought would fix a problem with sframes
I ran into on my machine leading to linker errors while compiling ANTLR
(a dependency of substrait-cpp). Turns out that the root cause is that
CMake uses the system default compiler for dependencies fetched with
`FetchContent`, which is g++ on my machine (which emits sframes), which
may then linked with compilation units compiled by a different compiler,
which may break of LTO is enabled. The short-term solution is to set the
`CC?  and `CXX` environment variables to the same values as
`CMAKE_*_COMPILER` when configuring. I have submitted a better mid-term
solution as substrait-io/substrait-cpp#145.

Signed-off-by: Ingo Müller <ingomueller@google.com>
@ingomueller-net ingomueller-net force-pushed the remove-sframe-workaround branch from e6b15a6 to 3969096 Compare April 1, 2026 17:59
@ingomueller-net ingomueller-net merged commit 33b2749 into substrait-io:main Apr 1, 2026
11 checks passed
@ingomueller-net ingomueller-net deleted the remove-sframe-workaround branch April 1, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants