青木@名古屋です。

一般論ですが、RELEASEから新しいRELEASEに移行する際は、基本的に
1つ前のものからというのが原則です。 12.4からならまずは13.2を
経由して更新してはいかがでしょうか?

もう少し詳しく書くと、コンパイラその他ビルド環境は現状のブランチの
最新(12系ならその時点の最新、今なら20231130付の12.4-RELEASE-p8)
からすぐ次のブランチの最新(13系なら同日付の13.2-RELEASE-p6)への
移行がサポート対象です。 そこからやはり同日付の14.0-RELEASE-p1に
移行するのが無難と思います。

ただ、英語で申し訳ありませんが、Forums [1]の方で13.2から14.0への
移行がうまくいっていない事案が挙がっています。 そのスレッドの中で
上手く行っているという声もあるので、失敗している方固有の何らかの
事情があるのかもしれません。
あと、14系では(freebsd-updateでの更新だと)/etc以下の更新方法が
mergemasterからetcupdateに切り替わっていることとrootのデフォルトの
シェルがcshからshに変更されたことで手作業が不可避になっている
ことで多数の阿鼻叫喚の声が挙がっていますので、

 ・etcupdateで手作業でのマージが必要になった時のやり方
  (diff3の出力の見方と直し方プラスetcupdateでの後処理)
 ・viに慣れていなくて編集にeeを使いたい場合の変更の仕方(shとcsh)

をしっかり予習しておくことを強くお勧めします。
diff3の3 way diff出力の見方は、Linux関係のページですが[2]が
参考になるかもしれません。 「コンフリクトマーカー」でページ内
検索してみて下さい。

編集上のポイントは、デフォルトのシェルをcshのままにしておきたければ
rootの行は現状維持、shに変更するならcshをshに変更するだけ。
英語で宜しけれっば[3]や[4]が具体例です。 結構Forum内検索もせずに
質問が投げられてるようです。

[1]
https://forums.freebsd.org/threads/upgrading-13-2-14-0-from-source-is-not-successful.91263/

[2] https://linuxcommand.net/diff3/

[3]
https://forums.freebsd.org/threads/newbie-upgrade-problem-13-2-release-14-0-release-merge-conflict.91219/

[4]
https://forums.freebsd.org/threads/14-0-release-upgrade-question-merge-conflict-markers-remain.91079/


On Sun, 3 Dec 2023 21:13:57 +0900
Yoshida Kazuhito <kazuhito.yosh...@nifty.com> wrote:

> 吉田@Niftyです。
> 
> FreeBSD 12.4-RELEASE-p7のシステムをFreeBSD 14.0-RELEASE-p1へ一気に
> バージョンアップしようとしているのですが、buildworldでコンパイルエラーと
> なるため悩んでいます。
> ググっても以下Bugzilla / MLを見てもそのような報告が見当たらないため、
> 皆様のお知恵を拝借したい次第です。
>  FreeBSD Bugzilla
>  freebsd-bugs
>  freebsd-amd64
>  freebsd-current
>  freebsd-stable
> 
> ソースはgit.freebsd.orgからのgitupで取得しており、configはGENERICです。
> エラー個所は下記の通りで、/usr/src/usr.sbin/jail/jaillex.l辺りで型の
> 不一致が起きているようですが、報告事例がないことが気になっております。
> 本エラーは、FreeBSD 14.0-RELEASEでも発生します。
> 
> 相談1.jailは不要なので、できればjailなしでコンパイルしてひとまず
>     逃げたいと思っております。方法はありましたでしょうか。
>     (そんなことよりOpenSSlを早く3.0系に上げたい)
> 
> 相談2.FreeBSD Bugzillaで報告したほうが良いのでしょうか。
>     英語で説明できる自信がないのですが。
> 
> ----console log----
> ===> usr.sbin/jail (all)
> lex   -ojaillex.c /usr/src/usr.sbin/jail/jaillex.l
> yacc -d -v  /usr/src/usr.sbin/jail/jailparse.y
> yacc: w - line 154 of "/usr/src/usr.sbin/jail/jailparse.y", the default 
> action for param assigns an undefined value to $$
> cp y.tab.c jailparse.c
> echo jail.full: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a 
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libjail.a 
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libkvm.a 
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libutil.a >> .depend
> cc -target x86_64-unknown-freebsd14.0 
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common   -I. 
> -I/usr/src/usr.sbin/jail -DINET6 -DINET -fPIE -g -gz=zlib -MD 
> -MF.depend.jail.o -MTjail.o -std=gnu99 -Wno-format-zero-length 
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch 
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts 
> -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time 
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int 
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter 
> -Qunused-arguments    -c /usr/src/usr.sbin/jail/jail.c -o jail.o
> cc -target x86_64-unknown-freebsd14.0 
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common   -I. 
> -I/usr/src/usr.sbin/jail -DINET6 -DINET -fPIE -g -gz=zlib -MD 
> -MF.depend.command.o -MTcommand.o -std=gnu99 -Wno-format-zero-length 
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch 
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts 
> -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time 
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int 
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter 
> -Qunused-arguments    -c /usr/src/usr.sbin/jail/command.c -o command.o
> cc -target x86_64-unknown-freebsd14.0 
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common   -I. 
> -I/usr/src/usr.sbin/jail -DINET6 -DINET -fPIE -g -gz=zlib -MD 
> -MF.depend.config.o -MTconfig.o -std=gnu99 -Wno-format-zero-length 
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch 
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts 
> -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time 
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int 
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter 
> -Qunused-arguments    -c /usr/src/usr.sbin/jail/config.c -o config.o
> cc -target x86_64-unknown-freebsd14.0 
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common   -I. 
> -I/usr/src/usr.sbin/jail -DINET6 -DINET -fPIE -g -gz=zlib -MD 
> -MF.depend.state.o -MTstate.o -std=gnu99 -Wno-format-zero-length 
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch 
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts 
> -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time 
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int 
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter 
> -Qunused-arguments    -c /usr/src/usr.sbin/jail/state.c -o state.o
> cc -target x86_64-unknown-freebsd14.0 
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common   -I. 
> -I/usr/src/usr.sbin/jail -DINET6 -DINET -fPIE -g -gz=zlib -MD 
> -MF.depend.jaillex.o -MTjaillex.o -std=gnu99 -Wno-format-zero-length 
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch 
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts 
> -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time 
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int 
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter 
> -Qunused-arguments    -c jaillex.c -o jaillex.o
> /usr/src/usr.sbin/jail/jaillex.l:106:6: error: comparison of integers of 
> different signs: 'int' and 'yy_size_t' (aka 'unsigned long') 
> [-Werror,-Wsign-compare]
>                                          yyless(atvar);
>                                          ^~~~~~~~~~~~~
> jaillex.c:215:9: note: expanded from macro 'yyless'
>          YY_LESS_LINENO(yyless_macro_arg);\
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> jaillex.c:204:36: note: expanded from macro 'YY_LESS_LINENO'
>                  for ( yyl = n; yyl < yyleng; ++yyl )\
>                                 ~~~ ^ ~~~~~~
> /usr/src/usr.sbin/jail/jaillex.l:146:5: error: comparison of integers of 
> different signs: 'int' and 'yy_size_t' (aka 'unsigned long') 
> [-Werror,-Wsign-compare]
>                                  yyless(0);
>                                  ^~~~~~~~~
> jaillex.c:215:9: note: expanded from macro 'yyless'
>          YY_LESS_LINENO(yyless_macro_arg);\
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> jaillex.c:204:36: note: expanded from macro 'YY_LESS_LINENO'
>                  for ( yyl = n; yyl < yyleng; ++yyl )\
>                                 ~~~ ^ ~~~~~~
> jaillex.c:1906:58: error: unused parameter 'yyscanner' 
> [-Werror,-Wunused-parameter]
> static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
>                                                           ^
> jaillex.c:2226:43: error: unused parameter 'yyscanner' 
> [-Werror,-Wunused-parameter]
> void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
>                                            ^
> jaillex.c:2231:58: error: unused parameter 'yyscanner' 
> [-Werror,-Wunused-parameter]
> void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
>                                                           ^
> jaillex.c:2243:36: error: unused parameter 'yyscanner' 
> [-Werror,-Wunused-parameter]
> void yyfree (void * ptr , yyscan_t yyscanner)
>                                     ^
> 6 errors generated.
> *** Error code 1
> 
> Stop.
> make[4]: stopped in /usr/src/usr.sbin/jail
> *** Error code 1
> *** Error code 1
>       1640.94 real      1544.06 user       110.48 sys
> *** Error code 1
> *** Error code 1
> 
> ----console log----
> 
> 以上、よろしくお願いいたします。
> 


-- 
青木 知明  [Tomoaki AOKI]    <junch...@dec.sakura.ne.jp>

Reply via email to