Solved Can not build portupgrade in 13.0-RC3

Hello!

Trying to build ports-mgmt/portupgrade on 13.0-RC3. The required port is databases/ruby-bdb. The build of ruby-bdb ends like this:

Code:
===>   Generating temporary packing list
/usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd12
/usr/bin/strip /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd13/bdb.so
strip: open /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd13/bdb.so failed: No such file or directory
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/ruby-bdb
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/ruby-bdb

Is here anything I have missed? It is looking for file in directory /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd13/, but this directory is missing.
 
Code:
/usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd12
Rebuild your Ruby ports. It's referring to FreeBSD 12 here.

It builds fine on 13.0-STABLE:
Code:
=======================<phase: run-depends    >============================
===>   ruby27-bdb-0.6.6_8 depends on file: /usr/local/bin/ruby27 - found
===========================================================================
=======================<phase: stage          >============================
===>  Staging for ruby27-bdb-0.6.6_8
===>   Generating temporary packing list
/usr/bin/install -c -m 0755 bdb.so /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd13
/usr/bin/strip /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.7/amd64-freebsd13/bdb.so
/bin/mkdir -p /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/doc/ruby27/bdb/doc
(cd /wrkdirs/usr/ports/databases/ruby-bdb/work/bdb-0.6.6 && install  -m 0644 Changes README.en bdb.rd docs/*.rd /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/doc/ruby27/bdb)
(cd /wrkdirs/usr/ports/databases/ruby-bdb/work/bdb-0.6.6/docs/doc && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) &&  /usr/bin/find -Ed $1 $3 \(   -type d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} +  -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE . /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/doc/ruby27/bdb/doc)
/bin/mkdir -p /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/examples/ruby27/bdb/
(cd /wrkdirs/usr/ports/databases/ruby-bdb/work/bdb-0.6.6/examples/ && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) &&  /usr/bin/find -Ed $1 $3 \(   -type d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} +  -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE . /wrkdirs/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/examples/ruby27/bdb "! -empty")
====> Compressing man pages (compress-man)
===========================================================================
 
Rebuild your Ruby ports. It's referring to FreeBSD 12 here.
I will try, starting from lang/ruby27.

I have few Ruby related stuff in the system:

portfind ruby|grep "+"

Code:
+ ruby27-gems-3.0.8 (/usr/ports/devel/ruby-gems)
+ rubygem-rdoc-6.3.0 (/usr/ports/devel/rubygem-rdoc)
+ ruby-2.7.2_1,1 (/usr/ports/lang/ruby27)
+ rubygem-asciidoctor-2.0.12 (/usr/ports/textproc/rubygem-asciidoctor)
 
I think the issue is a little deeper, this error is happening while building databases/ruby-dbd. So I suspect lang/ruby27 itself.

Argentum after upgrading to 13.0 from 12.x did you rebuild all your ports?
Rebuilt them both, and now the build completes. Also ports-mgmt/portupgrade completed, but behaves a little bit unexpectedly. When the ports tree is upgraded, the portversion -vl "<" normally rebuilds the database and includes fresh ports onto the listing. But now it only displays the outdated list without new available ports.
 
After a major version upgrade you must rebuild everything.
I rebuilt only kernel bound ports and everything seemed to work. Web browsers, MATE, etc. All the desktop applications.

Then I noticed that portversion does not behave as normal after portsnap fetch update. Now the whole portversion with all its dependencies have been rebuilt, but the strange behavior has not changed. The other ports are not culprit here. I will rebuild them in time, but I want to get the portupgrade running correctly first.

portversion -vR portupgrade
Code:
[Reading data from pkg(8) ... - 1477 packages found - done]
portupgrade-2.4.16,2        =  up-to-date with port
ruby-2.7.2_1,1              =  up-to-date with port
ruby27-bdb-0.6.6_8          =  up-to-date with port
pkg_tree -v portupgrade
Code:
portupgrade-2.4.16,2
|\__ ruby-2.7.2_1,1
|     |\__ libyaml-0.2.5
|     |\__ libunwind-20201110
|     |\__ libffi-3.3_1
|     |      \__ indexinfo-0.3.1
|      \__ libedit-3.1.20191231,1
|            \__ ncurses-6.2.20210313
 \__ ruby27-bdb-0.6.6_8
      |\__ ruby-2.7.2_1,1
      |     |\__ libyaml-0.2.5
      |     |\__ libunwind-20201110
      |     |\__ libffi-3.3_1
      |     |      \__ indexinfo-0.3.1
      |      \__ libedit-3.1.20191231,1
      |            \__ ncurses-6.2.20210313
       \__ db5-5.3.28_7
 
Code:
portupgrade-2.4.16,2
|\__ ruby-2.7.2_1,1
|     |\__ libyaml-0.2.5
|     |\__ libunwind-20201110
|     |\__ libffi-3.3_1
|     |      \__ indexinfo-0.3.1
|      \__ libedit-3.1.20191231,1
|            \__ ncurses-6.2.20210313
\__ ruby27-bdb-0.6.6_8
      |\__ ruby-2.7.2_1,1
      |     |\__ libyaml-0.2.5
      |     |\__ libunwind-20201110
      |     |\__ libffi-3.3_1
      |     |      \__ indexinfo-0.3.1
      |      \__ libedit-3.1.20191231,1
      |            \__ ncurses-6.2.20210313
       \__ db5-5.3.28_7
Now I rebuilt the whole dependency tree with portupgrade -fR ruby27-bdb and seems that everything is good, but the problem with portupgrade is elsewhere.

It works fine, no errors, builds ports, but when the ports tree is upgraded by portsnap fetch update the portversion -vl "<"does not update the listing.

The familiar
Code:
[Updating the portsdb <format:bdb_btree> in /usr/ports ... - 31012 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........22000.........23000.........24000.........25000.........26000.........27000.........28000.........29000.........30000.........31000 ..... done]
line is missing.

Very strange. I think the issue is not in portupgrade or Ruby. Any ideas where to look?
 
Back
Top