@Nikita1244
Anonymous

Происходит ошибка сборки GNU M4, почему?

Собираю LFS, ранее собирал LFS - все было нормально.
Все делаю почти по инструкции в LFS, только версию GCC повысил с 12.2.0 до GCC 13.1.0. Прокатило вроде.
Вот ошибка:
spoiler
lfs@unknown-desktop:/mnt/lfs/sources/m4-1.4.19> make -j12
make  all-recursive
make[1]: Entering directory '/mnt/lfs/sources/m4-1.4.19'
Making all in .
make[2]: Entering directory '/mnt/lfs/sources/m4-1.4.19'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/mnt/lfs/sources/m4-1.4.19'
Making all in examples
make[2]: Entering directory '/mnt/lfs/sources/m4-1.4.19/examples'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/lfs/sources/m4-1.4.19/examples'
Making all in lib
make[2]: Entering directory '/mnt/lfs/sources/m4-1.4.19/lib'
  GEN      alloca.h
  GEN      configmake.h
  GEN      dirent.h
  GEN      fcntl.h
  GEN      getopt.h
  GEN      getopt-cdefs.h
  GEN      iconv.h
  GEN      inttypes.h
  GEN      langinfo.h
  GEN      limits.h
  GEN      locale.h
  GEN      math.h
  GEN      sched.h
  GEN      signal.h
  GEN      sigsegv.h
  GEN      spawn.h
  GEN      stdio.h
  GEN      stdlib.h
  GEN      string.h
  GEN      sys/random.h
  GEN      sys/types.h
  GEN      sys/stat.h
  GEN      time.h
  GEN      sys/wait.h
  GEN      unistd.h
  GEN      wchar.h
  GEN      wctype.h
make  all-am
make[3]: Entering directory '/mnt/lfs/sources/m4-1.4.19/lib'
  CC       openat-proc.o
  CC       c-stack.o
  CC       c-strcasecmp.o
  CC       c-strncasecmp.o
  CC       canonicalize.o
  CC       clean-temp.o
  CC       clean-temp-simple.o
  CC       cloexec.o
  CC       close-stream.o
  CC       closein.o
  CC       closeout.o
  CC       concat-filename.o
In file included from /mnt/lfs/usr/include/stdlib.h:1040,
                 from ./stdlib.h:36,
                 from openat-priv.h:25,
                 from openat-proc.c:22:
/mnt/lfs/usr/include/bits/stdlib.h: In function 'wctomb':
/mnt/lfs/usr/include/bits/stdlib.h:86:3: error: #error "Assumed value of MB_LEN_MAX wrong"
   86 | # error "Assumed value of MB_LEN_MAX wrong"
      |   ^~~~~
In file included from /mnt/lfs/usr/include/stdlib.h:1040,
                 from ./stdlib.h:36,
                 from c-stack.c:44:
/mnt/lfs/usr/include/bits/stdlib.h: In function 'wctomb':
/mnt/lfs/usr/include/bits/stdlib.h:86:3: error: #error "Assumed value of MB_LEN_MAX wrong"
   86 | # error "Assumed value of MB_LEN_MAX wrong"
      |   ^~~~~
  CC       dirname.o
  CC       basename.o
In file included from /mnt/lfs/usr/include/stdlib.h:1040,
                 from ./stdlib.h:36,
                 from clean-temp-simple.c:28:
/mnt/lfs/usr/include/bits/stdlib.h: In function 'wctomb':
/mnt/lfs/usr/include/bits/stdlib.h:86:3: error: #error "Assumed value of MB_LEN_MAX wrong"
   86 | # error "Assumed value of MB_LEN_MAX wrong"
      |   ^~~~~
make[3]: *** [Makefile:2866: c-stack.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:2866: openat-proc.o] Error 1
canonicalize.c: In function 'canonicalize_filename_mode':
canonicalize.c:484:5: warning: #warning "GCC might issue a bogus -Wreturn-local-addr warning here." [-Wcpp]
  484 |    #warning "GCC might issue a bogus -Wreturn-local-addr warning here."
      |     ^~~~~~~
canonicalize.c:485:5: warning: #warning "See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644>." [-Wcpp]
  485 |    #warning "See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644>."
      |     ^~~~~~~
make[3]: *** [Makefile:2866: clean-temp-simple.o] Error 1
make[3]: Leaving directory '/mnt/lfs/sources/m4-1.4.19/lib'
make[2]: *** [Makefile:2481: all] Error 2
make[2]: Leaving directory '/mnt/lfs/sources/m4-1.4.19/lib'
make[1]: *** [Makefile:2018: all-recursive] Error 1
make[1]: Leaving directory '/mnt/lfs/sources/m4-1.4.19'
make: *** [Makefile:1974: all] Error 2

Есть идеи? Limits.h есть файл в /usr
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
/mnt/lfs/usr/include/bits/stdlib.h:86:3: error: #error "Assumed value of MB_LEN_MAX wrong"

Ну что, нужно взять /mnt/lfs/usr/include/bits/stdlib.h и почитать внимательно, что там вокруг 86й строчки написано и где это assumed value зашито. Вообще эта ошибка не выглядит специфичной для m4, больше похоже на глюк libc.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы