-
-
Notifications
You must be signed in to change notification settings - Fork 13
MNT: v5.4.0_0 #71
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
base: main
Are you sure you want to change the base?
MNT: v5.4.0_0 #71
Conversation
Testing Scripts: - test-env-paths: Validate OCAMLLIB, OCAML_TOPLEVEL_PATH, activation - test-config: OCaml configuration validation (ld.conf, Makefile.config) - test-cross-arch: Binary architecture verification for cross-builds - test-tool-versions: Version checks for all OCaml tools - test-native-only-tools: ocamldoc and ocamldebug validation - test-compilation: Bytecode, native, and multi-file compilation tests - test-cross-compilers: Cross-compiler functionality for aarch64, ppc64le, arm64 - test-toolchain-vars: CONDA_OCAML_* variable validation Platform Coverage: - Unix (.sh) and Windows (.bat) variants for all applicable tests - QEMU limitation handling for cross-compiled packages - Native-only tool tests skip cross-platform builds Recipe Updates: - recipe.yaml: Comprehensive test suite integration with platform guards Test Features: - Environment variable validation - Resource path verification - Architecture detection for cross-builds - Compilation test with library linking - Cross-compiler wrapper validation All tests implement proper skip logic for: - Cross-platform builds (QEMU instability) - Platform-specific tools (ocamldoc, ocamldebug) - Architecture-specific scenarios (arm64 on macOS)
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
911e392 to
8ae2709
Compare
- Add custom Makefile.cross with crosscompiledopt/crosscompiledruntime targets (removed in upstream OCaml 5.4.0 but needed for Stage 3 fast path) - Update apply_cross_patches() to copy Makefile.cross and apply dynlink fixes - Fix build-cross-target.sh to use crosscompiledopt (not crossopt) - Remove CONDA_OCAML_AS/MKEXE overrides - native tools need native assembler/linker Results: - linux-64: Native build + cross-compilers successful - linux-aarch64: Cross-platform build successful (tests fail as expected - QEMU)
8ae2709 to
5ae44b5
Compare
dslarm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I guess it's better to merge to 5.3.0x one to get a working 5.3.0 build before this otherwise it'd skip and just to 5.4.0x as the default.
|
@dslarm Sure, that was my expectation. I will test the 5.3.0 on the opam recipe and I may have to iterate on 5.3.0 as I move through the various downstream packages for a full conda OCAML suite |
957e8fe to
e2cc8d3
Compare
5b2e6a0 to
3c97b60
Compare
OCaml 5.4.0 changed how configure processes compiler flags. Passing CFLAGS as configure arguments causes the generated Makefile to misparse flags like '-O2' as make targets/dependencies instead of compiler flags. Error before fix: make[2]: O2: No such file or directory make[2]: [Makefile:2217: tools/checkstack.o] Error 127 Fix: Export CC, CFLAGS, LDFLAGS as environment variables before calling configure. The configure script reads these from the environment and writes them correctly to Makefile.config. Affected files: - build-native.sh: native compiler configuration - build-cross-compiler.sh: cross-compiler configuration - build-cross-target.sh: cross-target configuration Co-Authored-By: Claude Opus 4.5 <[email protected]>
OCaml 5.4.0 introduced CHECKSTACK_CC in Makefile but never defined it. When undefined, the build command becomes just flags being executed: make[2]: O2: No such file or directory Fix: Append 'CHECKSTACK_CC = $(CC)' to Makefile.config after configure. Co-Authored-By: Claude Opus 4.5 <[email protected]>
86ab67f to
00ec1e7
Compare
Cherry-picked from 5.3.0 branch fix/v5.3.0_5-cross-arch-test (3a805a8): - Add --mandir to cross-compiler and cross-target configure - Add xt context variable for platform-specific exe extension - Add strict: true for package_contents tests - Consolidate binary listings with brace expansion Original-commit: 3a805a8 Co-Authored-By: Claude Opus 4.5 <[email protected]>
3f4ee2a to
616b3d5
Compare
Cherry-picked from 5.3.0 branch (b8cd602): - Add -mmacosx-version-min flag to MKEXE/MKDLL to match SDK version - Add fix-macos-install-names.sh to fix install_names for shared libraries - Silence expected 'undefined symbol: custom_prim' in architecture test - Consolidate recipe.yaml patterns using brace expansion - Move compiler deps from test to run requirements - Rename "Windows" references to "non-unix" for consistency Original-commit: b8cd602 Co-Authored-By: Claude Opus 4.5 <[email protected]>
616b3d5 to
7f3f2e7
Compare
d7f33f9 to
8513f5d
Compare
8513f5d to
832b396
Compare
|
@conda-forge-admin please rerender |
40335c4 to
ad961c0
Compare
ad961c0 to
e3e9723
Compare
|
@dslarm We should first merge this one before the jump to 5.4.0 _1 since it will break many of the cross-compiled downstream packages (cross-compilers will be separated) |
8de36ad to
0e450ac
Compare
|
@conda-forge-admin Please rerender |
0e450ac to
ef23c14
Compare
|
@conda-forge-admin Please rerender |
5fb2bfb to
7fd4939
Compare
fec7729 to
0e16a43
Compare
|
Hi! This is the friendly automated conda-forge-linting service. I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict. Please ping the 'conda-forge/core' team (using the |
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
|
@conda-forge-admin Please rerender |
Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)