Solved /usr/ports/textproc/gtk-doc/ __pycache__/ ... No such file or directory

Code:
===>  Deinstalling for gtk-doc
===>   gtk-doc not installed, skipping
===>  Installing for gtk-doc-1.33.2
===>  Checking if gtk-doc is already installed
===>   Registering installation for gtk-doc-1.33.2
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/__init__.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/__init__.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/check.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/check.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/common.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/common.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/config.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/config.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/config_data.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/config_data.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/fixxref.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/fixxref.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/highlight.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/highlight.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/md_to_db.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/md_to_db.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkdb.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkdb.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkhtml.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkhtml.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkhtml2.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkhtml2.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkman.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkman.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkpdf.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/mkpdf.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/rebase.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/rebase.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/scan.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/scan.cpython-38.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/scangobj.cpython-38.opt-1.pyc:No such file or directory
pkg-static: Unable to access file /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/__pycache__/scangobj.cpython-38.pyc:No such file or directory
*** Error code 1

Stop.
Hello, I try to install the dns/bind916 port with the default setting "DNSTAP = on".
It need textproc/gtk-doc/, but I get this errors above.
In ll /usr/ports/textproc/gtk-doc/work/stage/usr/local/share/py38-gtk-doc/python/gtkdoc/ is no __pycache__ directory:
Code:
-rw-r--r-- 1 root wheel      0 Jan. 19 18:08 __init__.py
drwxr-xr-x 2 root wheel    512 Juli 20 21:44 .
drwxr-xr-x 3 root wheel    512 Juli 20 21:44 ..
-rwxr-xr-x 1 root wheel   4868 Jan. 19 18:08 check.py
-rw-r--r-- 1 root wheel  21905 Jan. 19 18:08 common.py
-rw-r--r-- 1 root wheel    316 Juli 20 21:44 config_data.py
-rw-r--r-- 1 root wheel    999 Jan. 19 18:08 config.py
-rwxr-xr-x 1 root wheel  14582 Jan. 19 18:08 fixxref.py
-rw-r--r-- 1 root wheel   1604 Jan. 19 18:08 highlight.py
-rw-r--r-- 1 root wheel  28672 Jan. 19 18:08 md_to_db.py
-rw-r--r-- 1 root wheel 183216 Jan. 19 18:08 mkdb.py
-rw-r--r-- 1 root wheel   2945 Jan. 19 18:08 mkhtml.py
-rw-r--r-- 1 root wheel  59055 Jan. 19 18:08 mkhtml2.py
-rw-r--r-- 1 root wheel   2060 Jan. 19 18:08 mkman.py
-rwxr-xr-x 1 root wheel   4787 Jan. 19 18:08 mkpdf.py
-rwxr-xr-x 1 root wheel   8188 Jan. 19 18:08 rebase.py
-rw-r--r-- 1 root wheel  48530 Jan. 19 18:08 scan.py
-rw-r--r-- 1 root wheel  41879 Jan. 19 18:08 scangobj.py
What can I do now to prevent this error?
 
Well, I can give you a hint with a different port.
When I compile graphics/graphviz (with everything but ruby\doxygen\java\sdl), grapviz fails to install because it's not finding a lib (/usr/ports/graphics/graphviz/work/... .../20190701/lua.so). However, running # updatedb, followed by # locate lua.so | grep graphviz shows that the lib is very much present on my system, but in the directory (/usr/ports/graphics/graphviz/work/... .../20190701-zts/lua.so). The solution is obvious - # cp -r 20190701-zts/ 20190701/, followed by # cd /usr/ports/graphics/graphviz, and then by # make install, and then graphics/graphviz installs just fine.

I think this kind of workaround can be applied to your case, as well. FWIW, a simpler way to do it is to remove the work/ subdirectory of the port, run # make config to remove the offending option, and then run # make && make install.
 
Ports are not every time the same. Mixing ports and packages brings big trouble. I know that I had tried that for some years.
So here we see:
pkg install gtk-doc
Code:
Installed packages to be REMOVED:
        symon: 2.87

New packages to be INSTALLED:
        gtk-doc: 1.33.2
        krb5-117: 1.17.2
        python37: 3.7.10_1

Installed packages to be REINSTALLED:
        lmdb-0.9.28,1 (ABI changed: 'freebsd:12:x86:64' -> 'freebsd:13:x86:64')
/usr/ports/lang/python37
Code:
make package-name ; pkg search -q python37
python37-3.7.11
python37-3.7.10_1
So when installing python37-3.7.10_1 I will get some trouble next time I installed another port which required version python37-3.7.11. And in addition I has installed python38.
In /usr/ports/Mk/bsd.default-versions.mk (FreeBSD 13.0)
Code:
PYTHON_DEFAULT?=    3.8
sysutils/symon I had installed = "Performance and information monitoring tool"
why to remove them.

I have absolute no experience with textproc/gtk-doc. I want to install bind916. I don't know why the __pycache__ directory isn't been build.

in /etc/make.conf I have note and defined


Code:
#20131003:  The default versions of lang/python* have been changed to support the
#           new DEFAULT_VERSIONS variable.
#
#             PYTHON_DEFAULT_VERSION,
#            PYTHON2_DEFAULT_VERSION and
#              PYTHON3_DEFAULT_VERSION are deprecated
#            See /usr/ports/Mk/Uses/python.mk for proper variables.
#
#20210516: Default version of python3 and python was switched to 3.8.
# You should remove the python meta-port /usr/ports/lang/python.
# Then set the following variable in
#
DEFAULT_VERSIONS+=python=3.8
DEFAULT_VERSIONS+=python2=2.7
DEFAULT_VERSIONS+=python3=3.8
#
# If a port conflicts with multiple python versions then concurrent needs to be added
USE_PYTHON=concurrent
and
Code:
WITHOUT=X11
OPTIONS_UNSET+=X11         #to set it globally,
OPTIONS_UNSET+=X
because there is no desktop or monitor, just a server box.
I have tried to build bind without make.conf by renaming it but it get the same errors.

Can anyone help me to solve the error in textproc/gtk-doc? Thanks
 
Code:
# cd /usr/ports/textproc/gtk-doc
# rm -rf work
# make config
(remove python deps)
# make && make install
I'm specifically suggesting going into the gtk-doc port's directory and rebuilding by hand. Once you see that it installs OK, then go back to /usr/ports/dns/bind916/, and try again.

FWIW, I actually don't like messing with make.conf... It sets global options, and that has the potential for messing up my compilations in ways I don't like.
 
Installed packages to be REINSTALLED:
lmdb-0.9.28,1 (ABI changed: 'freebsd:12:x86:64' -> 'freebsd:13:x86:64')
It looks like you have upgraded your system from 12.x to 13.0, and you haven't run pkg-upgrade(8) or used other ports management tools during system upgrade. There are packages with mixed ABI on your system.

I would start there before installing dns/bind916.
 
New packages to be INSTALLED:
gtk-doc: 1.33.2
krb5-117: 1.17.2
python37: 3.7.10_1
Package gtk-doc doesn't pull in lang/python37 but lang/python38 which is default since 20210425:
Code:
pkg info -d gtk-doc
         ...
         python38-3.8.10

/usr/ports/lang/python37
make package-name ; pkg search -q python37
python37-3.7.11
python37-3.7.10_1
pkg-search(9) runs pkg-update(8) automatically. There is something seriously wrong with your systems package management. The result should be:
Code:
/usr/ports/lang/python37 % make package-name ; pkg search -q python37
python37-3.7.11
python37-3.7.11

"sysutils/symon" I had installed = "Performance and information monitoring tool"
why to remove them.
Here they are installed side by side with gtk-doc. The removal has other causes:
Code:
pkg info | egrep '(gtk-doc|symon)'
gtk-doc-1.33.2                 Code documentation system, originally for GTK+
symon-2.87                     Performance and information monitoring tool

Your installed ports (packages) are a mess. There are inconsistency in dependency versions and there are packages with mixed ABI on the system. It's quite possible the build error of dns/bind916 is because of this inconsistency.

I suggest you
Also all regarding PYTHON in /etc/make.conf are unnecessary. All those variables are already defined in /usr/ports/Mk/bsd.default-verions.mk as default.
 
It looks like you have upgraded your system from 12.x to 13.0, and you haven't run pkg-upgrade(8) or used other ports management tools during system upgrade. There are packages with mixed ABI on your system.

I would start there before installing dns/bind916.
Thank you for your help.
I install everything with the ports, because mixing ports and packages brings problems. After upgrade to FreeBSD 13.0 I had fetch a new ports tree
# portsnap fetch extract and rebuild all with
# portsupgrade -ac.
pkg-upgrade can not me help, because I used the ports
lmdb seams to be left. I have fixed that now.
The command pkg install gtk-doc I have not executed. I just want to show what would happen.
T-Daemon: "There are packages with mixed ABI on your sys"
How can I check this?
I have search in the handbook what ABI means, I found "Major versions use different Application Binary Interfaces (ABIs), which will break most third-party applications."
T-Daemon: "There is something seriously wrong with your systems package management."
How can I control this?
 
Thank you for your help.
I install everything with the ports, because mixing ports and packages brings problems. After upgrade to FreeBSD 13.0 I had fetch a new ports tree
# portsnap fetch extract and rebuild all with
# portsupgrade -ac.
pkg-upgrade can not me help, because I used the ports
lmdb seams to be left. I have fixed that now.
The command pkg install gtk-doc I have not executed. I just want to show what would happen.

How can I check this?
I have search in the handbook what ABI means, I found "Major versions use different Application Binary Interfaces (ABIs), which will break most third-party applications."

How can I control this?
Good job reading the Handbook, you're on the right track. Basically, ABI is how compiled stuff reacts to the kernel's memory management and execution directions. Memory management has been reworked extensively in FreeBSD 13. So, packages compiled for FreeBSD 12.2 will not work if you just upgrade the kernel from 12.2 to 13.0. You check the ABI of a package with # pkg info mypackage | grep Architecture . This works, even if you compiled a package from ports, complete with # make install.

To have any semblance of control, avoid mixing packages and ports. Also, if you upgrade (like from 12.2 to 13.0), your packages need to be upgraded together with the kernel in order to avoid the ABI breakage.
 
# pkg info mypackage | grep Architecture .
Thanks for that.
I created a long command to check all packages; there it is (also for anybody who could needed):
pkg info -q | xargs -I % sh -c 'sw=%; printf "$sw\t\t"; pkg info $sw | grep Architecture;'
or for my case better:
pkg info -q | xargs -I % sh -c 'sw=%; printf "$sw\t\t"; pkg info $sw | grep Architecture;' | grep FreeBSD:12

I found I get something more to do :)
pkg info -q | xargs -I % sh -c 'sw=%; printf "$sw\t\t"; pkg info $sw | grep Architecture;' | grep FreeBSD:12 | wc -l
--> 105 old Packages
I will compile them and see if the error above is gone.
 
I created a long command to check all packages; there it is (also for anybody who could needed):
...
pkg info -q | xargs -I % sh -c 'sw=%; printf "$sw\t\t"; pkg info $sw | grep Architecture;' | grep FreeBSD:12

That is easier done with pkg query '%q %o' | grep 12
 
There was some other errors I had to fix it. But at the end bind has been build and the error above as thread started has gone after all ports left has now been build to Architecture FreeBSD:13.
My fault was to think: fetching a complete new Ports tree and rebuild all with portupgrade -ac would be enough.
Thanks all for help :) !
 
Back
Top