httpuv fails to build on macOS if automake is present

Abierto
#429 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
c
Área
build-system

Línea de trabajo

Start by reproducing the macOS source installation with automake on PATH, then inspect autogen.sh, configure, and the libuv build rules mentioned in the output. The fix is complete when httpuv no longer regenerates the build system during a regular installation and the package builds with automake present or absent.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

If automake is present (i.e., on the PATH) then httpuv fails to build because it tries to re-generate configure in a fundamentally broken way, thus failing the installation.

Expected: it should not try to regenerate without maintainer mode being enabled and thus regular installation should work regardless of the absence/presence of automake.

To replicate, install automake and its dependenceis (here automake-1.17 from https://mac.r-project.org/bin/ - but it breaks even if you try to match the internally used versions). The problem does not occur is automake is not on the PATH.

* installing *source* package ‘httpuv’ ...
** this is package ‘httpuv’ version ‘1.6.16’
** package ‘httpuv’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: ‘Apple clang version 17.0.0 (clang-1700.3.19.1)’
using C++ compiler: ‘Apple clang version 17.0.0 (clang-1700.3.19.1)’
using SDK: ‘MacOSX14.5.sdk’
aclocal.m4:17: warning: this file was generated for autoconf 2.71.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.
+ glibtoolize --copy
autogen.sh: line 43: glibtoolize: command not found
Error in untar2(tarfile, files, list, exdir, restore_times, allow_all) : 
  incomplete block on file
rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
/Volumes/Temp/tmp/Rtmpc9VX5f/R.INSTALL4d7147fa73de/httpuv/src/libuv/missing: line 81: aclocal-1.16: command not found
WARNING: 'aclocal-1.16' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <https://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <https://www.gnu.org/software/autoconf>
         <https://www.gnu.org/software/m4/>
         <https://www.perl.org/>
make[1]: *** [aclocal.m4] Error 127
make: *** [libuv/.libs/libuv.b] Error 2
ERROR: compilation failed for package ‘httpuv’
Lenguaje dominante
C
Estrellas
252
Forks
87
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rstudio/httpuv

Todos los issues de rstudio/httpuv

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.