Skip to content
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

CRAN status #145

Closed
nx10 opened this issue Jan 18, 2024 · 31 comments
Closed

CRAN status #145

nx10 opened this issue Jan 18, 2024 · 31 comments
Labels
bug Something isn't working

Comments

@nx10
Copy link
Owner

nx10 commented Jan 18, 2024

I recently got this email from CRAN:

Dear maintainer,

Please see the problems shown on
<https://cran.r-project.org/web/checks/check_results_httpgd.html>.

Please correct before 2024-01-24 to safely retain your package on CRAN.

Do remember to look at the 'Additional issues'.

The CRAN Team

(Posting here for transparency / tracking)

I will try and resolve this by releasing the current development version (after doing some maintenance) to CRAN this weekend.

@nx10 nx10 added the bug Something isn't working label Jan 18, 2024
@eitsupi
Copy link
Contributor

eitsupi commented Jan 21, 2024

Perhaps you need to make the same changes in unigd that were made in #129?
Let me know if you need any help.

@nx10
Copy link
Owner Author

nx10 commented Jan 22, 2024

Thanks! I think I got it

From the logs it seems like half of the warnings were from

I am doing some heavy testing right now, but will try to submit both unigd and httpgd before the deadline (its long overdue anyway).

@jameslamb
Copy link

jameslamb commented Jan 22, 2024

@nx10 I'm here because I saw your link to that LightGBM issue I wrote.

In case it helps... our fix for the fmt stuff was to remove one unused #include <string> that caused fmt to expand a template to more types that our code actually needed (including deprecated types that trigger a warning from clang-18). See the discussion in microsoft/LightGBM#6265.

Hope it helps 👋🏻

@nx10
Copy link
Owner Author

nx10 commented Jan 22, 2024

I just submitted unigd 0.1.0 to CRAN - fingers crossed that it goes smoothly and we can submit httpgd right after.

@jameslamb Thank you! I actually saw your patch but we need the <string> header alongside fmt - I built a somewhat hacky workaround (nx10/unigd@21bd709) for now.

@nx10
Copy link
Owner Author

nx10 commented Jan 23, 2024

nx10/unigd#13 will fix and send back later today - unfortunately this means httpgd will likely be removed from CRAN for a couple days. Sorry for the inconvenience.

@nx10
Copy link
Owner Author

nx10 commented Jan 24, 2024

Just submitted again and re-added your changes in #129 @eitsupi - sorry I absolutely forgot that you did those after the package split

@nx10
Copy link
Owner Author

nx10 commented Jan 25, 2024

unigd has been accepted on CRAN. 🎉

It usually takes a day or two for binaries to build, I will prepare and submit httpgd after.

benz0li added a commit to b-data/r-docker-stack that referenced this issue Jan 25, 2024
benz0li added a commit to b-data/jupyterlab-r-docker-stack that referenced this issue Jan 25, 2024
@benz0li
Copy link
Contributor

benz0li commented Jan 29, 2024

@nx10 Before submitting [a new version of] httpgd, please

  1. Merge Fix libtiff test configuration unigd#17
  2. Submit a new version of unigd to CRAN

Thank you.

@mcanouil
Copy link

mcanouil commented Jan 30, 2024

The issue is known for a year, I don't think this justifies to postpone any longer the submission of httpgd which is out of CRAN for about a week now.

@grantmcdermott
Copy link

grantmcdermott commented Jan 30, 2024

+1 to @mcanouil's comment. Unless those additional changes are absolutely necessary for the httpgd re-submission to pass CRAN checks, the priority should just be getting the package back on CRAN.

Edit: To clarify, they sound like reasonable improvements for a future version. But I don't think should act as blockers for just getting the package back on CRAN.

@benz0li
Copy link
Contributor

benz0li commented Jan 30, 2024

Without nx10/unigd#17, TIFF export will not be available on UNIX-like operating systems.

Unless those additional changes are absolutely necessary [...]

I am not in the position to judge whether TIFF export is necessary or not.

@benz0li
Copy link
Contributor

benz0li commented Jan 30, 2024

@AliSajid
Copy link

Hi people. Huge fan. Working in research. I really need httpgd back in CRAN because we need a verifiable chain to the version and CRAN qualifies while GitHub does not. Please.

@mcanouil
Copy link

mcanouil commented Feb 1, 2024

@nx10 Any idea of when httpgd will be resubmitted to CRAN? Anything we can do to help?

@nx10
Copy link
Owner Author

nx10 commented Feb 5, 2024

I just submitted httpgd 2.0.0 to CRAN. Fingers crossed that it will be available soon 🤞 (its in the manual inspection pipeline, so hard to give a concrete ETA)

Thank you all for the patience!

@benz0li Thank you for your efforts getting libtiff to work! Its not critical at the moment, but as soon as httpgd is accepted I can make another unigd release.

@viktorzou
Copy link

Is it working again? I get errors for both CRAN and Github install. Trying to get a good enviroment for R on VCStudio running

@benz0li
Copy link
Contributor

benz0li commented Feb 16, 2024

Is it working again?

CRAN submission: Current status: Pending

See https://nx10.github.io/cransubs/pkg#httpgd

@eitsupi
Copy link
Contributor

eitsupi commented Feb 16, 2024

I recommend installing from R-universre.
https://nx10.r-universe.dev/httpgd

@viktorzou
Copy link

@eitsupi thank you, that worked!

@benz0li
Copy link
Contributor

benz0li commented Feb 23, 2024

CRAN submission: Current status: Archive

httpgd v2.0.0 was rejected.

@benz0li
Copy link
Contributor

benz0li commented Feb 28, 2024

@nx10 What were the reasons for rejecting v2.0.0? How to proceed now?

What about the steps outlined in #145 (comment), i.e.

[...] Before submitting [a new version of] httpgd, please

  1. Merge Fix libtiff test configuration unigd#17

  2. Submit a new version of unigd to CRAN

[...]

@eitsupi
Copy link
Contributor

eitsupi commented Mar 7, 2024

Any update?

@mcanouil
Copy link

mcanouil commented Mar 7, 2024

I am starting to feel like httpgd should be removed as a dependency from any workflow ...

@nx10
Copy link
Owner Author

nx10 commented Mar 7, 2024

I received this message last week from CRAN:

I just tried the effect of checking the submission on a Debian testing
system
with the current LLVM 18 compilers and clang++-18 using the libc++
stdlib.
For this, compilation fails with

* installing *source* package ‘httpgd’ ...
** using staged installation
** libs
using C++ compiler: ‘Debian clang version 18.1.0 (rc2-3)’
using C++14
rm -f httpgd.so cpp11.o httpgd.o httpgd_rng.o httpgd_webserver.o
unigd_impl.o
clang++-18 -stdlib=libc++  -std=gnu++14
-I"/home/hornik/tmp/R-d-clang-18-libcxx/include" -DNDEBUG -Ilib
-DFMT_HEADER_ONLY
-I'/home/hornik/lib/R/Library/4.4/x86_64-linux-gnu/cpp11/include'
-I'/home/hornik/lib/R/Library/4.4/x86_64-linux-gnu/AsioHeaders/include'
-I'/home/hornik/tmp/CRAN/Library/unigd/include' -I/usr/local/include
-DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall
-pedantic   -c cpp11.cpp -o cpp11.o
clang++-18 -stdlib=libc++  -std=gnu++14
-I"/home/hornik/tmp/R-d-clang-18-libcxx/include" -DNDEBUG -Ilib
-DFMT_HEADER_ONLY
-I'/home/hornik/lib/R/Library/4.4/x86_64-linux-gnu/cpp11/include'
-I'/home/hornik/lib/R/Library/4.4/x86_64-linux-gnu/AsioHeaders/include'
-I'/home/hornik/tmp/CRAN/Library/unigd/include' -I/usr/local/include
-DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall
-pedantic   -c httpgd.cpp -o httpgd.o
In file included from httpgd.cpp:18:
In file included from ./httpgd_webserver.h:4:
In file included from lib/crow.h:2:
In file included from lib/crow/query_string.h:7:
/usr/include/c++/v1/unordered_map:955:17: error: no viable overloaded
'='
   955 |         __ref() = _VSTD::forward<_ValueTp>(__v);
       |         ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:1497:47: note: in instantiation of
function template specialization 'std::__hash_value_type<std::string,
crow::json::wvalue>::operator=<const std::pair<const std::string,
crow::json::wvalue> &, void>' requested here
  1497 |                 __cache->__upcast()->__value_ = *__first;
       |                                               ^
/usr/include/c++/v1/unordered_map:1879:14: note: in instantiation of
function template specialization
'std::__hash_table<std::__hash_value_type<std::string,
crow::json::wvalue>, std::__unordered_map_hasher<std::string,
std::__hash_value_type<std::string, crow::json::wvalue>,
std::hash<std::string>, std::equal_to<std::string>>,
std::__unordered_map_equal<std::string,
std::__hash_value_type<std::string, crow::json::wvalue>,
std::equal_to<std::string>, std::hash<std::string>>,
std::allocator<std::__hash_value_type<std::string,
crow::json::wvalue>>>::__assign_unique<const std::pair<const
std::string, crow::json::wvalue> *>' requested here
  1879 |     __table_.__assign_unique(__il.begin(), __il.end());
       |              ^
lib/crow/json.h:1662:26: note: in instantiation of member function
'std::unordered_map<std::string, crow::json::wvalue>::operator='
requested here
  1662 |                     (*o) = initializer_list;
       |                          ^
/usr/include/c++/v1/__utility/pair.h:319:11: note: candidate function
not viable: no known conversion from 'const std::pair<const std::string,
crow::json::wvalue>' to 'const
__conditional_t<is_copy_assignable<first_type>::value &&
is_copy_assignable<second_type>::value, pair<string &, wvalue &>,
__nat>' (aka 'const std::__nat') for 1st argument
   319 |     pair& operator=(__conditional_t<
       |           ^         ~~~~~~~~~~~~~~~~
   320 |                         is_copy_assignable<first_type>::value &&
       |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   321 |                         is_copy_assignable<second_type>::value,
       |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   322 |                     pair, __nat> const& __p)
       |                     ~~~~~~~~~~~~~~~~~~~~~~~

etc.

Please fix ...

Unfortunately I have been swamped with my dayjob and did not yet find time replicate this issue (local and github action builds work perfectly for me, I will try to setup a Debian VM/docker container).

In the meanwhile I suggest everyone to use either the GitHub or R-Universe builds (I do consider them stable).

@eitsupi
Copy link
Contributor

eitsupi commented Mar 9, 2024

I tested with devtools::check_rhub(platforms = "debian-gcc-devel") and got this error:

Details
─  Uploading package
─  Preparing build, see status at
   https://builder.r-hub.io/status/httpgd_2.0.0.tar.gz-e6e97a5349634714aa773eb781f362bb
─  Build started
─  Downloading and unpacking package file
─  Querying system requirements
─  Installing system requirements
─  Starting Docker container
─  Querying package dependencies
─  Installing package dependencies
─  Running R CMD check
   About to run xvfb-run R CMD check --as-cran httpgd_2.0.0.tar.gz
   'getOption("repos")' replaces Bioconductor standard repositories, see
   'help("repositories", package = "BiocManager")' for details.
   Replacement repositories:
       CRAN: https://cloud.r-project.org
─  using log directory ‘/home/docker/httpgd.Rcheck’
─  using R Under development (unstable) (2023-12-26 r85738)
─  using platform: x86_64-pc-linux-gnu
─  R was compiled by
       gcc (Debian 13.2.0-7) 13.2.0
       GNU Fortran (Debian 13.2.0-7) 13.2.0
─  running under: Debian GNU/Linux trixie/sid
─  using session charset: UTF-8
─  using option ‘--as-cran’
✔  checking for file ‘httpgd/DESCRIPTION’
─  checking extension type ... Package
─  this is package ‘httpgd’ version ‘2.0.0’
─  package encoding: UTF-8
─  checking CRAN incoming feasibility ... [10s/47s] NOTE (46.3s)
   Maintainer: ‘Florian Rupprecht <[email protected]>’
   
   New submission
   
   Package was archived on CRAN
   
   CRAN repository db overrides:
     X-CRAN-Comment: Archived on 2024-01-24 as check problems were not
       corrected in time.
✔  checking package namespace information
✔  checking package dependencies (5.7s)
✔  checking if this is a source package
✔  checking if there is a namespace
✔  checking for executable files
N  checking for hidden files and directories
   Found the following hidden files and directories:
     .devcontainer
   These were most likely included in error. See section ‘Package
   structure’ in the ‘Writing R Extensions’ manual.
   
   CRAN-pack does not know about
     .devcontainer
✔  checking for portable file names
✔  checking for sufficient/correct file permissions (1.8s)
✔  checking serialization versions
─  checking whether package ‘httpgd’ can be installed ... [26s/58s] OK (56.7s)
─  used C++ compiler: ‘g++ (Debian 13.2.0-7) 13.2.0’
N  checking C++ specification
     Specified C++14: please drop specification unless essential
N  checking installed package size
     installed size is  5.4Mb
     sub-directories of 1Mb or more:
       libs   4.8Mb
✔  checking package directory
✔  checking for future file timestamps
✔  checking ‘build’ directory
✔  checking DESCRIPTION meta-information (807ms)
✔  checking top-level files (2.1s)
✔  checking for left-over files
✔  checking index information (840ms)
✔  checking package subdirectories (1.7s)
✔  checking R files for non-ASCII characters
✔  checking R files for syntax errors (780ms)
✔  checking whether the package can be loaded (785ms)
✔  checking whether the package can be loaded with stated dependencies (813ms)
✔  checking whether the package can be unloaded cleanly (770ms)
✔  checking whether the namespace can be loaded with stated dependencies
✔  checking whether the namespace can be unloaded cleanly (1.6s)
✔  checking loading without being on the library search path (827ms)
✔  checking whether startup messages can be suppressed (1.6s)
✔  checking use of S3 registration (7s)
✔  checking dependencies in R code (775ms)
✔  checking S3 generic/method consistency (857ms)
✔  checking replacement functions (782ms)
✔  checking foreign function calls (815ms)
─  checking R code for possible problems ... [5s/11s] OK (11.3s)
✔  checking Rd files (826ms)
✔  checking Rd metadata (804ms)
✔  checking Rd line widths
✔  checking Rd cross-references (1.1s)
✔  checking for missing documentation entries (913ms)
✔  checking for code/documentation mismatches (1.9s)
✔  checking Rd \usage sections (2.6s)
✔  checking Rd contents
✔  checking for unstated dependencies in examples
✔  checking line endings in shell scripts
✔  checking line endings in C/C++/Fortran sources/headers
✔  checking line endings in Makefiles
✔  checking compilation flags in Makevars (1.5s)
✔  checking for GNU extensions in Makefiles
✔  checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS)
✔  checking use of PKG_*FLAGS in Makefiles
✔  checking use of SHLIB_OPENMP_*FLAGS in Makefiles
✔  checking pragmas in C/C++ headers and code
✔  checking compilation flags used
✔  checking compiled code (3s)
✔  checking installed files from ‘inst/doc’
✔  checking files in ‘vignettes’
✔  checking examples (3s)
✔  checking for unstated dependencies in ‘tests’ (1.4s)
─  checking tests
    [9s/109s] OK
   * checking for unstated dependencies in vignettes ... OK
   * checking package vignettes in ‘inst/doc’ ... OK
   * checking re-building of vignette outputs ... [11s/28s] OK
   * checking PDF version of manual ... OK
   * checking HTML version of manual ... OK
   * checking for non-standard things in the check directory ... OK
   * checking for detritus in the temp directory ... OK
   * DONE
   
   Status: 4 NOTEs
─  Done with R CMD check
─  Saving artifacts
    

── httpgd 2.0.0: PREPERROR

  Build ID:   httpgd_2.0.0.tar.gz-e6e97a5349634714aa773eb781f362bb
  Platform:   Debian Linux, R-devel, GCC
  Submitted:  45m 13.9s ago
  Build time: 45m 6.9s

❯ Build failed during preparation or aborted

[...]
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:157:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  157 |     ATTACH_CMP_OPERATIONS(PlaceholderSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:133:10: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::Selector&) const’ was hidden [-Woverloaded-virtual=]
  133 |     bool operator==(const Selector& rhs) const final override;
      |          ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::PlaceholderSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:157:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  157 |     ATTACH_CMP_OPERATIONS(PlaceholderSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_def_macros.hpp:106:16: warning: ‘virtual bool Sass::SimpleSelector::operator!=(const Sass::SimpleSelector&) const’ was hidden [-Woverloaded-virtual=]
  106 |   virtual bool operator!=(const klass& rhs) const { return !(*this == rhs); }; \
      |                ^~~~~~~~
src/ast_selectors.hpp:139:5: note: in expansion of macro ‘ATTACH_VIRTUAL_CMP_OPERATIONS’
  139 |     ATTACH_VIRTUAL_CMP_OPERATIONS(SimpleSelector);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ast_def_macros.hpp:110:16: note:   by ‘virtual bool Sass::PlaceholderSelector::operator!=(const Sass::PlaceholderSelector&) const’
  110 |   virtual bool operator!=(const klass& rhs) const { return !(*this == rhs); }; \
      |                ^~~~~~~~
src/ast_selectors.hpp:157:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  157 |     ATTACH_CMP_OPERATIONS(PlaceholderSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:137:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::CompoundSelector&) const’ was hidden [-Woverloaded-virtual=]
  137 |     virtual bool operator==(const CompoundSelector& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::TypeSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:174:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  174 |     ATTACH_CMP_OPERATIONS(TypeSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:136:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::ComplexSelector&) const’ was hidden [-Woverloaded-virtual=]
  136 |     virtual bool operator==(const ComplexSelector& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::TypeSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:174:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  174 |     ATTACH_CMP_OPERATIONS(TypeSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:135:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::SelectorList&) const’ was hidden [-Woverloaded-virtual=]
  135 |     virtual bool operator==(const SelectorList& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::TypeSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:174:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  174 |     ATTACH_CMP_OPERATIONS(TypeSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:133:10: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::Selector&) const’ was hidden [-Woverloaded-virtual=]
  133 |     bool operator==(const Selector& rhs) const final override;
      |          ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::TypeSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:174:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  174 |     ATTACH_CMP_OPERATIONS(TypeSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_def_macros.hpp:106:16: warning: ‘virtual bool Sass::SimpleSelector::operator!=(const Sass::SimpleSelector&) const’ was hidden [-Woverloaded-virtual=]
  106 |   virtual bool operator!=(const klass& rhs) const { return !(*this == rhs); }; \
      |                ^~~~~~~~
src/ast_selectors.hpp:139:5: note: in expansion of macro ‘ATTACH_VIRTUAL_CMP_OPERATIONS’
  139 |     ATTACH_VIRTUAL_CMP_OPERATIONS(SimpleSelector);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ast_def_macros.hpp:110:16: note:   by ‘virtual bool Sass::TypeSelector::operator!=(const Sass::TypeSelector&) const’
  110 |   virtual bool operator!=(const klass& rhs) const { return !(*this == rhs); }; \
      |                ^~~~~~~~
src/ast_selectors.hpp:174:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  174 |     ATTACH_CMP_OPERATIONS(TypeSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:137:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::CompoundSelector&) const’ was hidden [-Woverloaded-virtual=]
  137 |     virtual bool operator==(const CompoundSelector& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::ClassSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:188:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  188 |     ATTACH_CMP_OPERATIONS(ClassSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:136:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::ComplexSelector&) const’ was hidden [-Woverloaded-virtual=]
  136 |     virtual bool operator==(const ComplexSelector& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::ClassSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:188:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’
  188 |     ATTACH_CMP_OPERATIONS(ClassSelector)
      |     ^~~~~~~~~~~~~~~~~~~~~
src/ast_selectors.hpp:135:18: warning: ‘virtual bool Sass::SimpleSelector::operator==(const Sass::SelectorList&) const’ was hidden [-Woverloaded-virtual=]
  135 |     virtual bool operator==(const SelectorList& rhs) const;
      |                  ^~~~~~~~
src/ast_def_macros.hpp:109:16: note:   by ‘Sass::ClassSelector::operator==’
  109 |   virtual bool operator==(const klass& rhs) const; \
      |                ^~~~~~~~
src/ast_selectors.hpp:188:5: note: in expansion of macro ‘ATTACH_CMP_OPERATIONS’

@eitsupi eitsupi mentioned this issue Mar 9, 2024
@eitsupi
Copy link
Contributor

eitsupi commented Mar 9, 2024

@nx10 I can reproduce with the error with the rhub2 workflow.
It is far more convenient for repeated testing because it builds faster than traditional rhub tests. (In this case, the error occurred in 3 minutes.)
See #167

@benz0li
Copy link
Contributor

benz0li commented Mar 9, 2024

I cannot reproduce this [on branch add-dev-container, httpgd 2.0.0] using my Dev Container 'R devel (Debian unstable, Clang 18)' – neither on x86_64 nor AArch64.
👉 Debian unstable because Clang 18 is not available in Debian testing's package repository.

Click to expand
 *  Executing task: /usr/local/bin/R --no-echo --no-restore -e devtools::check() 

══ Documenting ═════════════════════════════════════════════════════════════════
ℹ Updating httpgd documentation
ℹ Loading httpgd
ℹ 3 functions decorated with [[cpp11::register]]
ℹ 1 functions decorated with [[cpp11::init]]
✔ generated file cpp11.R
✔ generated file cpp11.cpp
ℹ Re-compiling httpgd (debug build)
── R CMD INSTALL ───────────────────────────────────────────────────────────────
─  installing *source* package ‘httpgd’ ...
   ** using staged installation
   ** libs
   using C++ compiler: ‘Debian clang version 18.1.0 (2)’
   using C++14
   rm -f httpgd.so cpp11.o httpgd.o httpgd_rng.o httpgd_webserver.o unigd_impl.o
   clang++-18 -std=gnu++14 -I"/usr/local/lib/R/include" -DNDEBUG -Ilib -DFMT_HEADER_ONLY -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/cpp11/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/AsioHeaders/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/unigd/include' -I/usr/local/include    -fPIC  -g -O2  -UNDEBUG -Wall -pedantic -g -O0 -fdiagnostics-color=always  -c cpp11.cpp -o cpp11.o
   clang++-18 -std=gnu++14 -I"/usr/local/lib/R/include" -DNDEBUG -Ilib -DFMT_HEADER_ONLY -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/cpp11/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/AsioHeaders/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/unigd/include' -I/usr/local/include    -fPIC  -g -O2  -UNDEBUG -Wall -pedantic -g -O0 -fdiagnostics-color=always  -c httpgd.cpp -o httpgd.o
   clang++-18 -std=gnu++14 -I"/usr/local/lib/R/include" -DNDEBUG -Ilib -DFMT_HEADER_ONLY -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/cpp11/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/AsioHeaders/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/unigd/include' -I/usr/local/include    -fPIC  -g -O2  -UNDEBUG -Wall -pedantic -g -O0 -fdiagnostics-color=always  -c httpgd_rng.cpp -o httpgd_rng.o
   clang++-18 -std=gnu++14 -I"/usr/local/lib/R/include" -DNDEBUG -Ilib -DFMT_HEADER_ONLY -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/cpp11/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/AsioHeaders/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/unigd/include' -I/usr/local/include    -fPIC  -g -O2  -UNDEBUG -Wall -pedantic -g -O0 -fdiagnostics-color=always  -c httpgd_webserver.cpp -o httpgd_webserver.o
   httpgd_webserver.cpp:22:49: warning: unused function 'read_txt' [-Wunused-function]
      22 | inline std::experimental::optional<std::string> read_txt(const std::string &filepath)
         |                                                 ^~~~~~~~
   In file included from httpgd_webserver.cpp:2:
   ./httpgd_webserver.h:81:7: warning: private field 'm_last_upid' is not used [-Wunused-private-field]
      81 |   int m_last_upid = -1;
         |       ^
   ./httpgd_webserver.h:82:8: warning: private field 'm_last_active' is not used [-Wunused-private-field]
      82 |   bool m_last_active = true;
         |        ^
   3 warnings generated.
   clang++-18 -std=gnu++14 -I"/usr/local/lib/R/include" -DNDEBUG -Ilib -DFMT_HEADER_ONLY -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/cpp11/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/AsioHeaders/include' -I'/home/vscode/R/aarch64-unknown-linux-gnu-library/4.4/unigd/include' -I/usr/local/include    -fPIC  -g -O2  -UNDEBUG -Wall -pedantic -g -O0 -fdiagnostics-color=always  -c unigd_impl.cpp -o unigd_impl.o
   clang++-18 -std=gnu++14 -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o httpgd.so cpp11.o httpgd.o httpgd_rng.o httpgd_webserver.o unigd_impl.o -L/usr/local/lib/R/lib -lR
   installing to /tmp/Rtmp8JFgFE/devtools_install_41d23bfbf9c7/00LOCK-httpgd/00new/httpgd/libs
   ** checking absolute paths in shared objects and dynamic libraries
─  DONE (httpgd)

══ Building ════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ─────────────────────────────────────────────────────────────────
✔  checking for file ‘/workspaces/httpgd/DESCRIPTION’ ...
─  preparing ‘httpgd’:
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  running ‘cleanup’
─  installing the package to build vignettes
✔  creating vignettes (13.5s)
─  cleaning src
─  running ‘cleanup’
─  checking for LF line-endings in source and make files and shell scripts
─  checking for empty or unneeded directories
─  building ‘httpgd_2.0.0.9000.tar.gz’
   
══ Checking ════════════════════════════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_REMOTE_               : FALSE
• _R_CHECK_CRAN_INCOMING_                      : FALSE
• _R_CHECK_FORCE_SUGGESTS_                     : FALSE
• _R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_: FALSE
• NOT_CRAN                                     : true
── R CMD check ─────────────────────────────────────────────────────────────────
─  using log directory ‘/tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck’
─  using R Under development (unstable) (2024-03-08 r86072)
─  using platform: aarch64-unknown-linux-gnu
─  R was compiled by
       Debian clang version 18.1.0 (2)
       GNU Fortran (Debian 13.2.0-18) 13.2.0
─  running under: Debian GNU/Linux trixie/sid
─  using session charset: UTF-8
─  using options ‘--no-manual --as-cran’
✔  checking for file ‘httpgd/DESCRIPTION’
─  checking extension type ... Package
─  this is package ‘httpgd’ version ‘2.0.0.9000’
─  package encoding: UTF-8
✔  checking package namespace information ...
✔  checking package dependencies (971ms)
✔  checking if this is a source package ...
✔  checking if there is a namespace
✔  checking for executable files ...
✔  checking for hidden files and directories ...
✔  checking for portable file names ...
✔  checking for sufficient/correct file permissions ...
✔  checking serialization versions ...
─  checking whether package ‘httpgd’ can be installed ... [15s/12s] OK (11.9s)
─  used C++ compiler: ‘Debian clang version 18.1.0 (2)’
N  checking C++ specification
     Specified C++14: please drop specification unless essential
✔  checking installed package size ...
✔  checking package directory ...
✔  checking for future file timestamps (363ms)
✔  checking ‘build’ directory ...
✔  checking DESCRIPTION meta-information ...
✔  checking top-level files ...
✔  checking for left-over files ...
✔  checking index information ...
✔  checking package subdirectories (364ms)
✔  checking R files for non-ASCII characters ...
✔  checking R files for syntax errors ...
✔  checking whether the package can be loaded ...
✔  checking whether the package can be loaded with stated dependencies ...
✔  checking whether the package can be unloaded cleanly ...
✔  checking whether the namespace can be loaded with stated dependencies ...
✔  checking whether the namespace can be unloaded cleanly ...
✔  checking loading without being on the library search path ...
✔  checking whether startup messages can be suppressed ...
✔  checking dependencies in R code ...
✔  checking S3 generic/method consistency ...
✔  checking replacement functions ...
✔  checking foreign function calls ...
✔  checking R code for possible problems (891ms)
✔  checking Rd files ...
✔  checking Rd metadata ...
✔  checking Rd line widths ...
✔  checking Rd cross-references ...
✔  checking for missing documentation entries ...
✔  checking for code/documentation mismatches ...
✔  checking Rd \usage sections ...
✔  checking Rd contents ...
✔  checking for unstated dependencies in examples ...
✔  checking line endings in shell scripts
✔  checking line endings in C/C++/Fortran sources/headers ...
✔  checking line endings in Makefiles
✔  checking compilation flags in Makevars ...
✔  checking for GNU extensions in Makefiles ...
✔  checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS)
✔  checking use of PKG_*FLAGS in Makefiles ...
✔  checking use of SHLIB_OPENMP_*FLAGS in Makefiles ...
✔  checking pragmas in C/C++ headers and code ...
✔  checking compilation flags used ...
N  checking compiled code ...
   /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
   /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
   /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
   File ‘httpgd/libs/httpgd.so’:
     Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’
   
   It is good practice to register native routines and to disable symbol
   search.
   
   See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.
✔  checking installed files from ‘inst/doc’ ...
✔  checking files in ‘vignettes’ ...
✔  checking examples ...
✔  checking for unstated dependencies in ‘tests’ ...
─  checking tests ...
    [3s/10s] OKtthat.R’
   * checking for unstated dependencies in vignettes ... OK
   * checking package vignettes ... OK
   * checking re-building of vignette outputs ... OK
   * checking for non-standard things in the check directory ... OK
   * checking for detritus in the temp directory ... OK
   * DONE
   
   Status: 2 NOTEs
   See
     ‘/tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/00check.log’
   for details.
   
   
── R CMD check results ────────────────────────────────── httpgd 2.0.0.9000 ────
Duration: 31.3s

❯ checking C++ specification ... NOTE
    Specified C++14: please drop specification unless essential

❯ checking compiled code ... NOTE
  /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
  /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
  /usr/bin/nm: /tmp/Rtmp8JFgFE/file41d24b08bdc1/httpgd.Rcheck/httpgd/libs/httpgd.so: no symbols
  File ‘httpgd/libs/httpgd.so’:
    Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’
  
  It is good practice to register native routines and to disable symbol
  search.
  
  See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.

0 errors ✔ | 0 warnings ✔ | 2 notes ✖

I have created the following Dev Containers for this repository:

  • 'R latest (Debian stable)'
  • 'R devel (Debian stable, Clang)'
  • 'R devel (Debian stable, GCC)'
  • 'R devel (Debian testing, Clang)'
  • 'R devel (Debian testing, GCC)'
  • 'R devel (Debian unstable, Clang)'
  • 'R devel (Debian unstable, Clang 18)'
  • 'R devel (Debian unstable, GCC)'

(Clang not using -stdlib=libc++, though)

ℹ️ See PR #152 and https://github.com/benz0li/httpgd/tree/add-dev-container for more information.

@benz0li
Copy link
Contributor

benz0li commented Mar 10, 2024

I can reproduce the error [on branch add-dev-container, httpgd 2.0.0] using my Dev Container 'R devel (Debian unstable, Clang, libc++)'


The following Dev Containers with Clang using -stdlib=libc++ have been added:

  • 'R devel (Debian stable, Clang, libc++)'
  • 'R devel (Debian testing, Clang, libc++)'
  • 'R devel (Debian unstable, Clang, libc++)'
  • 'R devel (Debian unstable, Clang 18, libc++)'

Test online with GitHub Codespaces: https://codespaces.new/benz0li/httpgd?hide_repo_select=true&ref=add-dev-container
ℹ️ Build time of the Dev Container is about 30 mins on a [Codespace] machine with 4 cores and 16 GB RAM.

@nx10
Copy link
Owner Author

nx10 commented Mar 10, 2024

Thank you @eitsupi and @benz0li for setting up CI workflows and dev containers to reproduce this.

I managed to patch the issue in the crow library (0c4da04).

I will now start a big batch of CI runs and then resubmit to CRAN.

@benz0li
Copy link
Contributor

benz0li commented Mar 11, 2024

httpgd v2.0.1 is now available on CRAN.

Thank you @nx10 for your effort.

@nx10
Copy link
Owner Author

nx10 commented Mar 11, 2024

Thanks everyone for your patience!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants