rstudio / htmltools

Tools for HTML generation and output
https://rstudio.github.io/htmltools/
215 stars 68 forks source link

htmltools 0.5.2 compatibility issue with R shiny? #290

Closed djacobs7 closed 3 years ago

djacobs7 commented 3 years ago

Hi,

Our shiny install (install.packages('shiny')) started failing sometime in the last few days. I think(????) it may have something to do with the latest build of htmltools. ( And forgive me if I am way off and am just missing something here - I appreciate everyones hard work on this package ).

I tried this: install.packages('shiny') and shiny failed to build. Then I tried the following - and in this case the install worked ok:

remotes::install_version( 'htmltools', version = ">= 0.5.1, < 0.5.2", upgrade = 'never') install.packages('sass', dependencies = FALSE) install.packages('bslib', dependencies = FALSE) install.packages('shiny', dependencies = FALSE)

I included a full build log below. Thank you again for your hard work on this wonderful package !

install.packages('shiny')

Installing package into ‘/usr/local/lib/R/site-library’

(as ‘lib’ is unspecified)

also installing the dependencies ‘sass’, ‘htmltools’, ‘bslib’

trying URL 'http://cran.rstudio.com/src/contrib/sass_0.4.0.tar.gz'

Content type 'application/x-gzip' length 3022459 bytes (2.9 MB)

==================================================

downloaded 2.9 MB

trying URL 'http://cran.rstudio.com/src/contrib/htmltools_0.5.2.tar.gz'

Content type 'application/x-gzip' length 124510 bytes (121 KB)

==================================================

downloaded 121 KB

trying URL 'http://cran.rstudio.com/src/contrib/bslib_0.2.5.1.tar.gz'

Content type 'application/x-gzip' length 3810412 bytes (3.6 MB)

==================================================

downloaded 3.6 MB

trying URL 'http://cran.rstudio.com/src/contrib/shiny_1.6.0.tar.gz'

Content type 'application/x-gzip' length 4170497 bytes (4.0 MB)

==================================================

downloaded 4.0 MB

** package ‘htmltools’ successfully unpacked and MD5 sums checked

** using staged installation

** libs

gcc -I"/usr/local/lib/R/include" -DNDEBUG -I/usr/local/include -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c init.c -o init.o

gcc -I"/usr/local/lib/R/include" -DNDEBUG -I/usr/local/include -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c template.c -o template.o

gcc -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o htmltools.so init.o template.o -L/usr/local/lib/R/lib -lR

installing to /usr/local/lib/R/site-library/00LOCK-htmltools/00new/htmltools/libs

** R

** byte-compile and prepare package for lazy loading

Error: object ‘faststack’ is not exported by 'namespace:fastmap'

Execution halted

ERROR: lazy loading failed for package ‘htmltools’

** package ‘sass’ successfully unpacked and MD5 sums checked

** using staged installation

** libs

/usr/local/lib/R/share/make/shlib.mk:14: warning: overriding recipe for target 'shlib-clean'

Makevars:12: warning: ignoring old recipe for target 'shlib-clean'

gcc -I"/usr/local/lib/R/include" -DNDEBUG -I./libsass/include -I/usr/local/include -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c compile.c -o compile.o

gcc -I"/usr/local/lib/R/include" -DNDEBUG -I./libsass/include -I/usr/local/include -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c init.c -o init.o

MAKEFLAGS= CC="gcc" CFLAGS="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g " CXX="g++ -std=gnu++11" AR="ar" LDFLAGS="-L/usr/local/lib" make -C libsass

make[1]: Entering directory '/tmp/RtmpocxikT/R.INSTALLe2533d7f64/sass/src/libsass'

gcc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -I ./include -fPIC -c -o src/cencode.o src/cencode.c

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast.o src/ast.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_values.o src/ast_values.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_supports.o src/ast_supports.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_sel_cmp.o src/ast_sel_cmp.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_sel_unify.o src/ast_sel_unify.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_sel_super.o src/ast_sel_super.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_sel_weave.o src/ast_sel_weave.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_selectors.o src/ast_selectors.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/context.o src/context.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/constants.o src/constants.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_utils.o src/fn_utils.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_miscs.o src/fn_miscs.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_maps.o src/fn_maps.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_lists.o src/fn_lists.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_colors.o src/fn_colors.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_numbers.o src/fn_numbers.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_strings.o src/fn_strings.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/fn_selectors.o src/fn_selectors.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/color_maps.o src/color_maps.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/environment.o src/environment.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast_fwd_decl.o src/ast_fwd_decl.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/bind.o src/bind.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/file.o src/file.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/util.o src/util.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/util_string.o src/util_string.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/json.o src/json.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/units.o src/units.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/values.o src/values.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/plugins.o src/plugins.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/source.o src/source.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/position.o src/position.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/lexer.o src/lexer.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/parser.o src/parser.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/parser_selectors.o src/parser_selectors.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/prelexer.o src/prelexer.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/eval.o src/eval.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/eval_selectors.o src/eval_selectors.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/expand.o src/expand.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/listize.o src/listize.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/cssize.o src/cssize.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/extender.o src/extender.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/extension.o src/extension.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/stylesheet.o src/stylesheet.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/output.o src/output.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/inspect.o src/inspect.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/emitter.o src/emitter.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/check_nesting.o src/check_nesting.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/remove_placeholders.o src/remove_placeholders.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/sass.o src/sass.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/sass_values.o src/sass_values.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/sass_context.o src/sass_context.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/sass_functions.o src/sass_functions.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/sass2scss.o src/sass2scss.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/backtrace.o src/backtrace.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/operators.o src/operators.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/ast2c.o src/ast2c.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/c2ast.o src/c2ast.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/to_value.o src/to_value.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/source_map.o src/source_map.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/error_handling.o src/error_handling.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/memory/allocator.o src/memory/allocator.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/memory/shared_ptr.o src/memory/shared_ptr.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/utf8_string.o src/utf8_string.cpp

g++ -std=gnu++11 -Wall -O2 -std=c++11 -I ./include -fPIC -c -o src/base64vlq.o src/base64vlq.cpp

mkdir lib

ar rcvs lib/libsass.a src/cencode.o src/ast.o src/ast_values.o src/ast_supports.o src/ast_sel_cmp.o src/ast_sel_unify.o src/ast_sel_super.o src/ast_sel_weave.o src/ast_selectors.o src/context.o src/constants.o src/fn_utils.o src/fn_miscs.o src/fn_maps.o src/fn_lists.o src/fn_colors.o src/fn_numbers.o src/fn_strings.o src/fn_selectors.o src/color_maps.o src/environment.o src/ast_fwd_decl.o src/bind.o src/file.o src/util.o src/util_string.o src/json.o src/units.o src/values.o src/plugins.o src/source.o src/position.o src/lexer.o src/parser.o src/parser_selectors.o src/prelexer.o src/eval.o src/eval_selectors.o src/expand.o src/listize.o src/cssize.o src/extender.o src/extension.o src/stylesheet.o src/output.o src/inspect.o src/emitter.o src/check_nesting.o src/remove_placeholders.o src/sass.o src/sass_values.o src/sass_context.o src/sass_functions.o src/sass2scss.o src/backtrace.o src/operators.o src/ast2c.o src/c2ast.o src/to_value.o src/source_map.o src/error_handling.o src/memory/allocator.o src/memory/shared_ptr.o src/utf8_string.o src/base64vlq.o

a - src/cencode.o

a - src/ast.o

a - src/ast_values.o

a - src/ast_supports.o

a - src/ast_sel_cmp.o

a - src/ast_sel_unify.o

a - src/ast_sel_super.o

a - src/ast_sel_weave.o

a - src/ast_selectors.o

a - src/context.o

a - src/constants.o

a - src/fn_utils.o

a - src/fn_miscs.o

a - src/fn_maps.o

a - src/fn_lists.o

a - src/fn_colors.o

a - src/fn_numbers.o

a - src/fn_strings.o

a - src/fn_selectors.o

a - src/color_maps.o

a - src/environment.o

a - src/ast_fwd_decl.o

a - src/bind.o

a - src/file.o

a - src/util.o

a - src/util_string.o

a - src/json.o

a - src/units.o

a - src/values.o

a - src/plugins.o

a - src/source.o

a - src/position.o

a - src/lexer.o

a - src/parser.o

a - src/parser_selectors.o

a - src/prelexer.o

a - src/eval.o

a - src/eval_selectors.o

a - src/expand.o

a - src/listize.o

a - src/cssize.o

a - src/extender.o

a - src/extension.o

a - src/stylesheet.o

a - src/output.o

a - src/inspect.o

a - src/emitter.o

a - src/check_nesting.o

a - src/remove_placeholders.o

a - src/sass.o

a - src/sass_values.o

a - src/sass_context.o

a - src/sass_functions.o

a - src/sass2scss.o

a - src/backtrace.o

a - src/operators.o

a - src/ast2c.o

a - src/c2ast.o

a - src/to_value.o

a - src/source_map.o

a - src/error_handling.o

a - src/memory/allocator.o

a - src/memory/shared_ptr.o

a - src/utf8_string.o

a - src/base64vlq.o

make[1]: Leaving directory '/tmp/RtmpocxikT/R.INSTALLe2533d7f64/sass/src/libsass'

gcc -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o sass.so compile.o init.o ./libsass/lib/libsass.a -lstdc++ -L/usr/local/lib/R/lib -lR

installing to /usr/local/lib/R/site-library/00LOCK-sass/00new/sass/libs

** R

** inst

** byte-compile and prepare package for lazy loading

Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :

namespace ‘htmltools’ 0.4.0 is being loaded, but >= 0.5.1 is required

Calls: ... withCallingHandlers -> loadNamespace -> namespaceImport -> loadNamespace

Execution halted

ERROR: lazy loading failed for package ‘sass’

ERROR: dependency ‘sass’ is not available for package ‘bslib’

ERROR: dependency ‘bslib’ is not available for package ‘shiny’

The downloaded source packages are in

  ‘/tmp/RtmpU9bwr2/downloaded_packages’

Warning messages:

1: In install.packages("shiny") :

installation of package ‘htmltools’ had non-zero exit status

2: In install.packages("shiny") :

installation of package ‘sass’ had non-zero exit status

3: In install.packages("shiny") :

installation of package ‘bslib’ had non-zero exit status

4: In install.packages("shiny") :

installation of package ‘shiny’ had non-zero exit status

wch commented 3 years ago

Can you try doing this, and then installing the other packages as you were doing before?

install.packages('fastmap')
djacobs7 commented 3 years ago

Yep, I think that fixed the problem.

I started with a fresh environment, and then did this:

install.packages('fastmap')
install.packages('shiny')

and the install worked ok. Thanks!