httpuv fails to build on macOS if automake is present

Aperta
#429 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c
Ambito
build-system

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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’
Lingua principale
C
Stelle
252
Fork
87
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rstudio/httpuv

Tutte le issue di rstudio/httpuv

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.