Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
51ba893
updated v4.5.0
regro-cf-autotick-bot Apr 11, 2025
d6bd251
Fix error: Autoconf version 2.72 or higher is required
IsabelParedes Apr 22, 2025
0407abe
Debug m4
IsabelParedes May 13, 2025
8c7ac16
Add verbosity
IsabelParedes May 13, 2025
6951c18
Set M4 env var
IsabelParedes May 14, 2025
c029f8c
MNT: Re-rendered with conda-build 25.4.2, conda-smithy 3.48.1, and co…
May 20, 2025
987fa86
Restore build recipe
IsabelParedes May 20, 2025
701681a
Trigger ci
IsabelParedes May 26, 2025
b37a4fb
Try m2-autoconf2.72
IsabelParedes May 26, 2025
4184be5
Revert last commit
IsabelParedes May 26, 2025
90ce3da
Reset build number
IsabelParedes May 26, 2025
240a22d
Try `m2-autoconf2.72` again
xhochy May 27, 2025
c16cf96
Don't store build artifacts
xhochy May 27, 2025
5463f8d
MNT: Re-rendered with conda-build 25.4.2, conda-smithy 3.48.1, and co…
xhochy May 27, 2025
85e8a08
Limit CI matrix (for debugging)
xhochy May 27, 2025
cb48662
Set autom4te path
xhochy May 27, 2025
ea9d3ad
MNT: Re-rendered with conda-build 25.4.2, conda-smithy 3.48.1, and co…
xhochy May 27, 2025
b7368d0
Fix condition for AUTOM4TE
xhochy May 27, 2025
bacf6ce
Call explicit versioned autoconf
xhochy May 27, 2025
4229726
Support older BLAS implementations on win
xhochy May 27, 2025
5afc1de
Try internal blas/lapack for win
IsabelParedes Jun 4, 2025
cf79fe8
Revert last commit
IsabelParedes Jun 4, 2025
5b28f07
Try following instructions
IsabelParedes Jun 4, 2025
819b212
Add new syms to atlas also
IsabelParedes Jun 4, 2025
2d75f5e
Restore ci files
IsabelParedes Jun 4, 2025
c51d294
MNT: Re-rendered with conda-build 25.5.0, conda-smithy 3.50.0, and co…
Jun 4, 2025
3ffc755
Restore matrix
IsabelParedes Jun 4, 2025
2a107b5
MNT: Re-rendered with conda-build 25.5.0, conda-smithy 3.50.0, and co…
Jun 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .ci_support/migrations/libdeflate124.yaml

This file was deleted.

8 changes: 0 additions & 8 deletions .ci_support/migrations/pcre21045.yaml

This file was deleted.

43 changes: 43 additions & 0 deletions recipe/0019-Copy-dz-gemmtr.f-from-lapack-to-Rblas.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 8e5073ecbdaaee3e6c20012ab964879268964719 Mon Sep 17 00:00:00 2001
From: Isabel Paredes <isabel.paredes@quantstack.net>
Date: Wed, 4 Jun 2025 14:24:42 +0200
Subject: [PATCH] Copy [dz]gemmtr.f from lapack to Rblas

---
src/extra/blas/Makefile.win | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/extra/blas/Makefile.win b/src/extra/blas/Makefile.win
index 7a60c0c7f1..1d1cfedb81 100644
--- a/src/extra/blas/Makefile.win
+++ b/src/extra/blas/Makefile.win
@@ -8,7 +8,7 @@ all: ../../../$(BINDIR)/Rblas.dll
## So to use latter, copy [dz]gemmtr.f from ../../modules/lapack
## and add dgemmtr.o zgemmtr.o to the dependencies.
ifeq "$(USE_ATLAS)" "YES"
-../../../$(BINDIR)/Rblas.dll: ../../gnuwin32/dllversion.o
+../../../$(BINDIR)/Rblas.dll: ../../gnuwin32/dllversion.o dgemmtr.o zgemmtr.o
@$(ECHO) -------- Building $@ --------
$(DLL) -s -shared $(DLLFLAGS) -o $@ $^ Rblas.def \
-L../../../$(IMPDIR) -lR -L"$(ATLAS_PATH)" -lf77blas -latlas
@@ -18,7 +18,7 @@ else ifeq "$(USE_OPENBLAS)" "YES"
$(DLL) -s -shared $(DLLFLAGS) -o $@ $^ Rblas.def \
-L../../../$(IMPDIR) -lR $(shell $(PKG_CONFIG) --libs openblas)
else
-../../../$(BINDIR)/Rblas.dll: blas.o blas2.o cmplxblas.o cmplxblas2.o ../../gnuwin32/dllversion.o
+../../../$(BINDIR)/Rblas.dll: blas.o blas2.o cmplxblas.o cmplxblas2.o dgemmtr.o zgemmtr.o ../../gnuwin32/dllversion.o
@$(ECHO) -------- Building $@ --------
$(DLL) -s -shared $(DLLFLAGS) -o $@ $^ Rblas.def -L../../../$(IMPDIR) -lR $(FLIBS)
endif
@@ -26,3 +26,11 @@ endif
distclean clean:
@$(RM) ../../../$(BINDIR)/Rblas.dll *~ blas.o cmplxblas.o

+
+dgemmtr.o:
+ cp ../../modules/lapack/dgemmtr.f .
+ $(FC) $(FFLAGS) -c dgemmtr.f -o $@
+
+zgemmtr.o:
+ cp ../../modules/lapack/zgemmtr.f .
+ $(FC) $(FFLAGS) -c zgemmtr.f -o $@
8 changes: 7 additions & 1 deletion recipe/build-r-base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ set -exo pipefail

if [[ ! $target_platform =~ .*win.* ]]; then
cp $BUILD_PREFIX/share/gnuconfig/config.* ./tools
export AUTOCONF=autoconf
else
export AUTOM4TE=autom4te-2.72
export AUTOCONF=autoconf-2.72
fi

export
Expand Down Expand Up @@ -104,7 +108,7 @@ if [[ ${CONDA_BUILD_CROSS_COMPILATION:-0} == 1 ]]; then
fi

aclocal -I m4
autoconf
${AUTOCONF}

# Filter out -std=.* from CXXFLAGS as it disrupts checks for C++ language levels.
re='(.*[[:space:]])\-std\=[^[:space:]]*(.*)'
Expand Down Expand Up @@ -297,6 +301,8 @@ Mingw_w64_makefiles() {
export CPATH=${PREFIX}/Library/include
export LIBRARY_PATH=${PREFIX}/Library/lib

# Support older BLAS implementations (pre-2025)
sed -i '/^LIBSOURCES =/ s/$/ dgemmtr.f zgemmtr.f/' src/modules/lapack/Makefile.win

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's going to be a lot slower than intended.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we need to update the blas version used here. I guess this means we need to get in conda-forge/blas-feedstock#114 first, right?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to update to 3.12.1 or backport the dgemmtr routines to 3.9

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other option is to remove these symbols altogether. They are only used in lapack.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is removing the symbols preferable to the included patch which adds the symbols and it's working?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, removing them is preferable. can you send a PR to remove them?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @isuruf !

New PR here #379

# Some hints from https://www.r-bloggers.com/an-openblas-based-rblas-for-windows-64-step-by-step/
echo "LEA_MALLOC = YES" > "${SRC_DIR}/src/gnuwin32/MkRules.local"
echo "BINPREF = ${HOST}-" >> "${SRC_DIR}/src/gnuwin32/MkRules.local"
Expand Down
10 changes: 6 additions & 4 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{% set native = 'm2w64-' if win else '' %}
{% set posix = 'm2-' if win else '' %}
{% set version = "4.4.3" %}
{% set version = "4.5.0" %}

package:
name: r-base-split
version: {{ version }}

source:
- url: https://cran.r-project.org/src/base/R-4/R-{{ version }}.tar.gz
sha256: 0d93d224442dea253c2b086f088db6d0d3cfd9b592cd5496e8cb2143e90fc9e8
sha256: 3b33ea113e0d1ddc9793874d5949cec2c7386f66e4abfb1cef9aec22846c3ce1
patches:
- 0001-Darwin-Remove-unicode-elipsis-character-from-grDevic.patch
- 0002-Fix-trio-config.h-include-depth-issue.patch
Expand All @@ -25,9 +25,10 @@ source:
- 0014-Use-conda-s-tzdata-package.patch
- 0015-Win32-Fix-COMPILED_BY-for-custom-GCC-pkgversion.patch
- 0018-Fix-path-to-TCL-TK.patch
- 0019-Copy-dz-gemmtr.f-from-lapack-to-Rblas.patch # [win]

build:
number: 2
number: 0
no_link:
- lib/R/doc/html/packages.html

Expand Down Expand Up @@ -87,7 +88,8 @@ outputs:
#- texlive-core # [unix]
- texinfo # [unix]
- openjdk
- {{ posix }}autoconf 2.71
- autoconf >=2.72 # [unix]
- m2-autoconf2.72 # [win]
- m2-automake-wrapper # [win]
- automake # [not win]
- make # [not win]
Expand Down