Solved synth question

Hello,

In hope that synth is a better ports building tool than portupgrade I have installed it and started experimenting. Must say that first impressions have been somewhat disappointing. As an example, I tried to upgrade libreoffice with command synth install editors/libreoffice. The long run ended like this:

Code:
...
The task is complete.  Final tally:
Initial queue size: 1
    packages built: 0
           ignored: 0
           skipped: 0
            failed: 1

Duration: 03:16:41
The build logs can be found at: /var/log/synth
Stand by, recursively scanning 1 port serially.
Scanning existing packages.
Packages validated, rebuilding local repository.
Local repository successfully rebuilt
Updating Synth repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01  
Fetching packagesite.txz: 100%  151 KiB 154.7kB/s    00:01  
Processing entries: 100%
Synth repository update completed. 604 packages processed.
All repositories are up to date.
pkg: No packages available to install matching 'libreoffice-6.4.4' have been found in the repositories
Unfortunately, the system upgraded failed.

in other words it failed. Then immediately after that with portupgrade portupgrade --batch -R libreoffice-6.3.6_1 the task was completed without errors and libreoffice was upgraded and works without problems:

Code:
...
Installing libreoffice-6.4.4...
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/lib/libreoffice/program/libsdlo.so
/usr/local/lib/libreoffice/program/libuno_sal.so.3

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
https://www.libreoffice.org/
===>  Cleaning for qr-code-generator-1.6.0
===>  Cleaning for libreoffice-6.4.4
--->  Cleaning out obsolete shared libraries

My question is, what is wrong here?
 
Well... what does /var/log/synth say?
Also synth needs to initialize first IIRC.
Check its manpage.

I have initialized and built some ports:

Code:
ls -ltr /var/log/synth/|wc -l
     610

Code:
ls -ltr /var/log/synth/|tail -n 20
-rw-r--r--  1 root  wheel    116832 Jun 17 16:42 textproc___libstaroffice.log
-rw-r--r--  1 root  wheel     33403 Jun 17 16:42 www___serf.log
-rw-r--r--  1 root  wheel     96855 Jun 17 16:42 textproc___libwps.log
-rw-r--r--  1 root  wheel     14152 Jun 17 16:42 x11-fonts___crosextrafonts-caladea-ttf.log
-rw-r--r--  1 root  wheel    134524 Jun 17 16:42 textproc___redland.log
-rw-r--r--  1 root  wheel     14244 Jun 17 16:42 x11-fonts___crosextrafonts-carlito-ttf.log
-rw-r--r--  1 root  wheel     13117 Jun 17 16:42 x11-fonts___gentium-basic.log
-rw-r--r--  1 root  wheel     13032 Jun 17 16:42 x11-fonts___liberation-fonts-ttf.log
-rw-r--r--  1 root  wheel     13088 Jun 17 16:42 x11-fonts___twemoji-color-font-ttf.log
-rw-r--r--  1 root  wheel     12884 Jun 17 16:42 x11-fonts___linuxlibertine-g.log
-rw-r--r--  1 root  wheel   3087844 Jun 17 16:48 x11-toolkits___gtk30.log
-rw-r--r--  1 root  wheel         1 Jun 17 20:07 03_ignored_list.log
-rw-r--r--  1 root  wheel  29369484 Jun 17 23:23 editors___libreoffice.log
drwxr-xr-x  2 root  wheel         9 Jun 17 23:23 Report
-rw-r--r--  1 root  wheel       587 Jun 17 23:23 00_last_results.log
-rw-r--r--  1 root  wheel         1 Jun 17 23:23 01_success_list.log
-rw-r--r--  1 root  wheel        41 Jun 17 23:23 02_failure_list.log
-rw-r--r--  1 root  wheel         1 Jun 17 23:23 04_skipped_list.log
-rw-r--r--  1 root  wheel         1 Jun 17 23:24 06_obsolete_packages.log
-rw-r--r--  1 root  wheel         0 Jun 18 11:33 05_abnormal_command_output.log

tail -n 25 /var/log/synth/editors___libreoffice.log
Code:
... analyzing modules ...
------------------------------------
... languages en-US ...
... analyzing files ...
... analyzing files with flag FILELIST ...
... analyzing files with flag SCPZIP_REPLACE ...
... analyzing unix links ...
... analyzing all directories for this product ...
... analyzing links ...
... creating profiles ...
sh: git: not found
... analyzing modules ...
... analyzing package list ...
... creating log file /construction/xports/editors/libreoffice/work/LibreOffice_SDK//logging/en-US/log_640_en-US.log
... creating installation set in /construction/xports/editors/libreoffice/work/LibreOffice_SDK//install/LibreOffice_6.4.4.2_FreeBSD_x86-64_sdk ...
... removing old installation directories ...
###  Watchdog killed runaway process!  (no activity for 20 minutes)  ###



--------------------------------------------------
--  Termination
--------------------------------------------------
Finished: Wednesday, 17 JUN 2020 at 20:23:43 UTC
Duration: 03:16:19
 

Attachments

It seems that synth got stuck more than 20 minutes in the following step:
Code:
removing old installation directories

With default config option for ports-mgmt/synth there is a watchdog that is enabled. The watchdog will inspect output of the build and kill the process if the build log does not change since a specific period of time.

As a workaround you can build ports-mgmt/synth with the WATCHDOG option off,
and then reinstall synth.

After that you will be able to build the port and there will no longer be a watchdog that kill build process that does not show progress.
 
It seems that synth got stuck more than 20 minutes in the following step:
Code:
removing old installation directories

With default config option for ports-mgmt/synth there is a watchdog that is enabled. The watchdog will inspect output of the build and kill the process if the build log does not change since a specific period of time.

As a workaround you can build ports-mgmt/synth with the WATCHDOG option off,
and then reinstall synth.

After that you will be able to build the port and there will no longer be a watchdog that kill build process that does not show progress.

Thank you! Seems that this was the problem. I have not tried yet, but looks like we have a solution...
 
Back
Top