Skip to content

Clean up source builds and native registration - #141

Open
xjsun1221 wants to merge 3 commits into
RfastOfficial:masterfrom
xjsun1221:clean-up-source-builds
Open

Clean up source builds and native registration#141
xjsun1221 wants to merge 3 commits into
RfastOfficial:masterfrom
xjsun1221:clean-up-source-builds

Conversation

@xjsun1221

Copy link
Copy Markdown

Problem

This PR addresses three source-build and native-interface issues:

  1. The repository contains compiled objects, Rfast.dll, and symbols.rds
    under src/. A direct installation from the GitHub archive can therefore
    skip compilation and reuse a DLL built against a different TBB ABI.
  2. cts_rf.cpp and g2t.h define different global classes with the same
    TestResult name, violating the C++ one-definition rule.
  3. The package uses hand-written wrappers and init.c registration, but also
    retains stale Rcpp::export attributes. Running compileAttributes() can
    generate duplicate bhattacharyya wrappers and unregistered _Rfast_*
    entry points.

Change

  • Remove and ignore platform-specific build artifacts.
  • Rename the cts-local result type to CtsTestResult.
  • Remove stale automatic-export attributes while preserving the existing
    hand-written registration and public R API.

Validation

  • Windows 11 x64
  • R 4.5.0
  • Rtools45 / GCC 14.2.0
  • RcppParallel 6.2.0
  • Reproduced the original Windows LoadLibrary failure after make reported
    Nothing to be done for 'all' for the unmodified GitHub archive.
  • Rcpp::compileAttributes() completes without warnings and does not create
    conflicting wrapper files.
  • Clean source compilation, installation, and loading succeeded.
  • Smoke tests passed for categorical pc.skel(), g2Test(), coeff(),
    eachcol.apply(), and vecdist().
  • R CMD check --no-manual completed with 0 errors. Its only warning was that
    locally installed dependencies were built under newer R 4.5 patch releases;
    the unavailable suggested package philentropy was not forced.

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.

1 participant