Diff of the two buildlogs: -- --- b1/build.log 2023-04-27 00:34:48.977636064 +0000 +++ b2/build.log 2023-04-27 00:45:41.348686457 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue May 28 18:54:34 -12 2024 -I: pbuilder-time-stamp: 1716965674 +I: Current time: Thu Apr 27 14:34:53 +14 2023 +I: pbuilder-time-stamp: 1682555693 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -17,7 +17,7 @@ I: copying [./octave-optim_1.6.2.orig.tar.gz] I: copying [./octave-optim_1.6.2-3.debian.tar.xz] I: Extracting source -gpgv: Signature made Mon Dec 5 03:02:40 2022 -12 +gpgv: Signature made Tue Dec 6 05:02:40 2022 +14 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: issuer "rafael@debian.org" gpgv: Can't check signature: No public key @@ -32,137 +32,169 @@ dpkg-source: info: applying remove-Makefile-in-distclean-rule.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/129225/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/D01_modify_environment starting +debug: Running on ionos2-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 27 14:35 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' - DISTRIBUTION='bookworm' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=7' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='ffdbd072be0a421ba143ce35780cd433' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='129225' - PS1='# ' - PS2='> ' + INVOCATION_ID=5a255214a1dc4c2986bd5eec5cd98737 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2180 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.0vxuJI89/pbuilderrc_K7Wb --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0vxuJI89/b1 --logfile b1/build.log octave-optim_1.6.2-3.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.0vxuJI89/pbuilderrc_HT9O --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0vxuJI89/b2 --logfile b2/build.log --extrapackages usrmerge octave-optim_1.6.2-3.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos6-i386 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-21-686-pae #1 SMP Debian 5.10.162-1 (2023-01-21) i686 GNU/Linux I: ls -l /bin total 6036 - -rwxr-xr-x 1 root root 1408088 Apr 23 2023 bash - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bunzip2 - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzcat - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzip2 - -rwxr-xr-x 1 root root 17892 Sep 18 2022 bzip2recover - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore - -rwxr-xr-x 1 root root 42920 Sep 20 2022 cat - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chgrp - -rwxr-xr-x 1 root root 67496 Sep 20 2022 chmod - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chown - -rwxr-xr-x 1 root root 162024 Sep 20 2022 cp - -rwxr-xr-x 1 root root 136916 Jan 5 2023 dash - -rwxr-xr-x 1 root root 137160 Sep 20 2022 date - -rwxr-xr-x 1 root root 100364 Sep 20 2022 dd - -rwxr-xr-x 1 root root 108940 Sep 20 2022 df - -rwxr-xr-x 1 root root 162152 Sep 20 2022 dir - -rwxr-xr-x 1 root root 87760 Mar 22 2023 dmesg - lrwxrwxrwx 1 root root 8 Dec 19 2022 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Dec 19 2022 domainname -> hostname - -rwxr-xr-x 1 root root 38760 Sep 20 2022 echo - -rwxr-xr-x 1 root root 41 Jan 24 2023 egrep - -rwxr-xr-x 1 root root 34664 Sep 20 2022 false - -rwxr-xr-x 1 root root 41 Jan 24 2023 fgrep - -rwxr-xr-x 1 root root 84272 Mar 22 2023 findmnt - -rwsr-xr-x 1 root root 30240 Mar 22 2023 fusermount - -rwxr-xr-x 1 root root 218680 Jan 24 2023 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 100952 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 21916 Dec 19 2022 hostname - -rwxr-xr-x 1 root root 75756 Sep 20 2022 ln - -rwxr-xr-x 1 root root 55600 Mar 22 2023 login - -rwxr-xr-x 1 root root 162152 Sep 20 2022 ls - -rwxr-xr-x 1 root root 214568 Mar 22 2023 lsblk - -rwxr-xr-x 1 root root 96328 Sep 20 2022 mkdir - -rwxr-xr-x 1 root root 84008 Sep 20 2022 mknod - -rwxr-xr-x 1 root root 38792 Sep 20 2022 mktemp - -rwxr-xr-x 1 root root 63016 Mar 22 2023 more - -rwsr-xr-x 1 root root 58912 Mar 22 2023 mount - -rwxr-xr-x 1 root root 13856 Mar 22 2023 mountpoint - -rwxr-xr-x 1 root root 157932 Sep 20 2022 mv - lrwxrwxrwx 1 root root 8 Dec 19 2022 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 2 2023 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 38792 Sep 20 2022 pwd - lrwxrwxrwx 1 root root 4 Apr 23 2023 rbash -> bash - -rwxr-xr-x 1 root root 51080 Sep 20 2022 readlink - -rwxr-xr-x 1 root root 75720 Sep 20 2022 rm - -rwxr-xr-x 1 root root 51080 Sep 20 2022 rmdir - -rwxr-xr-x 1 root root 22308 Nov 2 2022 run-parts - -rwxr-xr-x 1 root root 133224 Jan 5 2023 sed - lrwxrwxrwx 1 root root 4 Jan 5 2023 sh -> dash - -rwxr-xr-x 1 root root 38760 Sep 20 2022 sleep - -rwxr-xr-x 1 root root 87976 Sep 20 2022 stty - -rwsr-xr-x 1 root root 83492 Mar 22 2023 su - -rwxr-xr-x 1 root root 38792 Sep 20 2022 sync - -rwxr-xr-x 1 root root 598456 Apr 6 2023 tar - -rwxr-xr-x 1 root root 13860 Nov 2 2022 tempfile - -rwxr-xr-x 1 root root 120776 Sep 20 2022 touch - -rwxr-xr-x 1 root root 34664 Sep 20 2022 true - -rwxr-xr-x 1 root root 17892 Mar 22 2023 ulockmgr_server - -rwsr-xr-x 1 root root 30236 Mar 22 2023 umount - -rwxr-xr-x 1 root root 38760 Sep 20 2022 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 162152 Sep 20 2022 vdir - -rwxr-xr-x 1 root root 71216 Mar 22 2023 wdctl - lrwxrwxrwx 1 root root 8 Dec 19 2022 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/129225/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1408088 Apr 24 11:24 bash + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bunzip2 + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzcat + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Sep 19 2022 bzdiff + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4893 Nov 28 2021 bzexe + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Sep 19 2022 bzgrep + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzip2 + -rwxr-xr-x 1 root root 17892 Sep 19 2022 bzip2recover + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Sep 19 2022 bzmore + -rwxr-xr-x 1 root root 42920 Sep 21 2022 cat + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chgrp + -rwxr-xr-x 1 root root 67496 Sep 21 2022 chmod + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chown + -rwxr-xr-x 1 root root 162024 Sep 21 2022 cp + -rwxr-xr-x 1 root root 136916 Jan 6 03:20 dash + -rwxr-xr-x 1 root root 137160 Sep 21 2022 date + -rwxr-xr-x 1 root root 100364 Sep 21 2022 dd + -rwxr-xr-x 1 root root 108940 Sep 21 2022 df + -rwxr-xr-x 1 root root 162152 Sep 21 2022 dir + -rwxr-xr-x 1 root root 87760 Mar 24 00:20 dmesg + lrwxrwxrwx 1 root root 8 Dec 20 03:33 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Dec 20 03:33 domainname -> hostname + -rwxr-xr-x 1 root root 38760 Sep 21 2022 echo + -rwxr-xr-x 1 root root 41 Jan 25 04:43 egrep + -rwxr-xr-x 1 root root 34664 Sep 21 2022 false + -rwxr-xr-x 1 root root 41 Jan 25 04:43 fgrep + -rwxr-xr-x 1 root root 84272 Mar 24 00:20 findmnt + -rwsr-xr-x 1 root root 30240 Mar 23 22:38 fusermount + -rwxr-xr-x 1 root root 218680 Jan 25 04:43 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 100952 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 21916 Dec 20 03:33 hostname + -rwxr-xr-x 1 root root 75756 Sep 21 2022 ln + -rwxr-xr-x 1 root root 55600 Mar 24 01:43 login + -rwxr-xr-x 1 root root 162152 Sep 21 2022 ls + -rwxr-xr-x 1 root root 214568 Mar 24 00:20 lsblk + -rwxr-xr-x 1 root root 96328 Sep 21 2022 mkdir + -rwxr-xr-x 1 root root 84008 Sep 21 2022 mknod + -rwxr-xr-x 1 root root 38792 Sep 21 2022 mktemp + -rwxr-xr-x 1 root root 63016 Mar 24 00:20 more + -rwsr-xr-x 1 root root 58912 Mar 24 00:20 mount + -rwxr-xr-x 1 root root 13856 Mar 24 00:20 mountpoint + -rwxr-xr-x 1 root root 157932 Sep 21 2022 mv + lrwxrwxrwx 1 root root 8 Dec 20 03:33 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 3 20:25 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 38792 Sep 21 2022 pwd + lrwxrwxrwx 1 root root 4 Apr 24 11:24 rbash -> bash + -rwxr-xr-x 1 root root 51080 Sep 21 2022 readlink + -rwxr-xr-x 1 root root 75720 Sep 21 2022 rm + -rwxr-xr-x 1 root root 51080 Sep 21 2022 rmdir + -rwxr-xr-x 1 root root 22308 Nov 3 06:31 run-parts + -rwxr-xr-x 1 root root 133224 Jan 6 09:55 sed + lrwxrwxrwx 1 root root 9 Apr 27 14:35 sh -> /bin/bash + -rwxr-xr-x 1 root root 38760 Sep 21 2022 sleep + -rwxr-xr-x 1 root root 87976 Sep 21 2022 stty + -rwsr-xr-x 1 root root 83492 Mar 24 00:20 su + -rwxr-xr-x 1 root root 38792 Sep 21 2022 sync + -rwxr-xr-x 1 root root 598456 Apr 7 04:25 tar + -rwxr-xr-x 1 root root 13860 Nov 3 06:31 tempfile + -rwxr-xr-x 1 root root 120776 Sep 21 2022 touch + -rwxr-xr-x 1 root root 34664 Sep 21 2022 true + -rwxr-xr-x 1 root root 17892 Mar 23 22:38 ulockmgr_server + -rwsr-xr-x 1 root root 30236 Mar 24 00:20 umount + -rwxr-xr-x 1 root root 38760 Sep 21 2022 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 162152 Sep 21 2022 vdir + -rwxr-xr-x 1 root root 71216 Mar 24 00:20 wdctl + lrwxrwxrwx 1 root root 8 Dec 20 03:33 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 6460 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8103 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -757,7 +789,7 @@ Get: 545 http://deb.debian.org/debian bookworm/main i386 texlive-latex-base all 2022.20230122-3 [1182 kB] Get: 546 http://deb.debian.org/debian bookworm/main i386 texlive-latex-recommended all 2022.20230122-3 [8880 kB] Get: 547 http://deb.debian.org/debian bookworm/main i386 texlive all 2022.20230122-3 [18.2 kB] -Fetched 278 MB in 6s (48.7 MB/s) +Fetched 278 MB in 8s (36.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package poppler-data. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19604 files and directories currently installed.) @@ -3013,8 +3045,19 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +usrmerge is already the newest version (35). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/octave-optim-1.6.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../octave-optim_1.6.2-3_source.changes +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +removed '/etc/unsupported-skip-usrmerge-conversion' +The system has been successfully converted. +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/octave-optim-1.6.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../octave-optim_1.6.2-3_source.changes dpkg-buildpackage: info: source package octave-optim dpkg-buildpackage: info: source version 1.6.2-3 dpkg-buildpackage: info: source distribution unstable @@ -3048,7 +3091,7 @@ octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m /build/octave-optim-1.6.2/debian/octave-optim/usr/share/octave/packages /build/octave-optim-1.6.2/debian/octave-optim/usr/lib/i386-linux-gnu/octave/packages checking for mkoctfile... /usr/bin/mkoctfile --verbose checking for octave-config... /usr/bin/octave-config -checking for a sed that does not truncate output... /bin/sed +checking for a sed that does not truncate output... /usr/bin/sed checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... @@ -3062,8 +3105,8 @@ checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E -checking for grep that handles long lines and -e... /bin/grep -checking for egrep... /bin/grep -E +checking for grep that handles long lines and -e... /usr/bin/grep +checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes @@ -3113,12 +3156,6 @@ "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __disna_optim__.cc."; \ exit 1; \ fi -if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS __max_nargin_optim__.cc; \ - then echo \ - "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __max_nargin_optim__.cc."; \ - exit 1; \ - fi -CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose -c error-helpers.cc if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS __bfgsmin.cc; \ then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __bfgsmin.cc."; \ exit 1; \ @@ -3135,11 +3172,6 @@ then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __disna_optim__.cc."; \ exit 1; \ fi -if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS __max_nargin_optim__.cc; \ - then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __max_nargin_optim__.cc."; \ - exit 1; \ - fi -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security error-helpers.cc -o error-helpers.o (echo "#include "; \ echo "int main () {"; \ sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g \ @@ -3184,6 +3216,17 @@ echo "}"; \ ) \ | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " __disna_optim__.cc\n" doc "\n\n", 0x1D);' -o __disna_optim__.bin - +if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS __max_nargin_optim__.cc; \ + then echo \ + "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __max_nargin_optim__.cc."; \ + exit 1; \ + fi +CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose -c error-helpers.cc +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security error-helpers.cc -o error-helpers.o +if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS __max_nargin_optim__.cc; \ + then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in __max_nargin_optim__.cc."; \ + exit 1; \ + fi (echo "#include "; \ echo "int main () {"; \ sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g \ @@ -3197,34 +3240,34 @@ | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " __max_nargin_optim__.cc\n" doc "\n\n", 0x1D);' -o __max_nargin_optim__.bin - (echo "### This file is generated automatically from the"; \ echo "### corresponding .cc file by a Makefile rule."; \ - echo ""; ./__max_nargin_optim__.bin) > __max_nargin_optim__.cc.docstrings + echo ""; ./__bfgsmin.bin) > __bfgsmin.cc.docstrings (echo "### This file is generated automatically from the"; \ echo "### corresponding .cc file by a Makefile rule."; \ - echo ""; ./__disna_optim__.bin) > __disna_optim__.cc.docstrings + echo ""; ./numgradient.bin) > numgradient.cc.docstrings (echo "### This file is generated automatically from the"; \ echo "### corresponding .cc file by a Makefile rule."; \ - echo ""; ./__bfgsmin.bin) > __bfgsmin.cc.docstrings + echo ""; ./numhessian.bin) > numhessian.cc.docstrings (echo "### This file is generated automatically from the"; \ echo "### corresponding .cc file by a Makefile rule."; \ - echo ""; ./numgradient.bin) > numgradient.cc.docstrings + echo ""; ./__max_nargin_optim__.bin) > __max_nargin_optim__.cc.docstrings (echo "### This file is generated automatically from the"; \ echo "### corresponding .cc file by a Makefile rule."; \ - echo ""; ./numhessian.bin) > numhessian.cc.docstrings + echo ""; ./__disna_optim__.bin) > __disna_optim__.cc.docstrings ./munge-texi.pl MFDOCSTRINGS __bfgsmin.cc.docstrings numgradient.cc.docstrings numhessian.cc.docstrings __disna_optim__.cc.docstrings __max_nargin_optim__.cc.docstrings < ../doc/optim.txi > ../doc/optim.texi makeinfo ../doc/optim.texi -o ../doc/optim.info macros.texi:51: warning: redefining Texinfo language command: @seealso CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose __bfgsmin.cc error-helpers.o CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose numgradient.cc error-helpers.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __bfgsmin.cc -o /tmp/oct-cDDD0C.o CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose numhessian.cc error-helpers.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security numgradient.cc -o /tmp/oct-WsYfki.o CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose \ -llapack -lblas \ __disna_optim__.cc error-helpers.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security numhessian.cc -o /tmp/oct-sxeOr0.o CXXFLAGS="-g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security" /usr/bin/mkoctfile --verbose __max_nargin_optim__.cc error-helpers.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __bfgsmin.cc -o /tmp/oct-kdoqqq.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security numgradient.cc -o /tmp/oct-UNB53O.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security numhessian.cc -o /tmp/oct-QO4sqp.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __disna_optim__.cc -o /tmp/oct-qIDubg.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __max_nargin_optim__.cc -o /tmp/oct-JGZLMe.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __disna_optim__.cc -o /tmp/oct-sgvs9L.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security __max_nargin_optim__.cc -o /tmp/oct-ZmWqXf.o In file included from __disna_optim__.cc:21: __disna_optim__.cc: In function 'octave_value_list F__disna_optim__(const octave_value_list&, int)': error-helpers.h:48:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] @@ -3274,95 +3317,95 @@ /usr/include/octave-7.3.0/octave/../octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ -In file included from numhessian.cc:24: -numhessian.cc: In function 'bool any_bad_argument(const octave_value_list&)': +In file included from __bfgsmin.cc:30: +__bfgsmin.cc: In function 'int __bfgsmin_obj(double&, std::string, octave_value_list, ColumnVector, int)': error-helpers.h:119:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 119 | if (error_state) \ | ^~~~~~~~~~~ -numhessian.cc:47:7: note: in expansion of macro 'SET_ERR' - 47 | SET_ERR (tmp = args(2).int_value(), err); - | ^~~~~~~ +__bfgsmin.cc:39:3: note: in expansion of macro 'SET_ERR' + 39 | SET_ERR (f_return = OCTAVE__FEVAL (f, f_args_new), err); + | ^~~~~~~ In file included from /usr/include/octave-7.3.0/octave/oct.h:36, - from numhessian.cc:18: + from __bfgsmin.cc:23: /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ error-helpers.h:121:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 121 | error_state = 0; \ | ^~~~~~~~~~~ -numhessian.cc:47:7: note: in expansion of macro 'SET_ERR' - 47 | SET_ERR (tmp = args(2).int_value(), err); - | ^~~~~~~ +__bfgsmin.cc:39:3: note: in expansion of macro 'SET_ERR' + 39 | SET_ERR (f_return = OCTAVE__FEVAL (f, f_args_new), err); + | ^~~~~~~ /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ -In file included from numgradient.cc:24: -numgradient.cc: In function 'bool any_bad_argument(const octave_value_list&)': error-helpers.h:119:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 119 | if (error_state) \ | ^~~~~~~~~~~ -numgradient.cc:47:7: note: in expansion of macro 'SET_ERR' - 47 | SET_ERR (tmp = args(2).int_value(), err); +__bfgsmin.cc:42:7: note: in expansion of macro 'SET_ERR' + 42 | SET_ERR (obj = f_return(0).double_value(), err); | ^~~~~~~ -In file included from /usr/include/octave-7.3.0/octave/oct.h:36, - from numgradient.cc:18: /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ error-helpers.h:121:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 121 | error_state = 0; \ | ^~~~~~~~~~~ -numgradient.cc:47:7: note: in expansion of macro 'SET_ERR' - 47 | SET_ERR (tmp = args(2).int_value(), err); +__bfgsmin.cc:42:7: note: in expansion of macro 'SET_ERR' + 42 | SET_ERR (obj = f_return(0).double_value(), err); | ^~~~~~~ /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ -In file included from __bfgsmin.cc:30: -__bfgsmin.cc: In function 'int __bfgsmin_obj(double&, std::string, octave_value_list, ColumnVector, int)': +In file included from numhessian.cc:24: +numhessian.cc: In function 'bool any_bad_argument(const octave_value_list&)': error-helpers.h:119:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 119 | if (error_state) \ | ^~~~~~~~~~~ -__bfgsmin.cc:39:3: note: in expansion of macro 'SET_ERR' - 39 | SET_ERR (f_return = OCTAVE__FEVAL (f, f_args_new), err); - | ^~~~~~~ +numhessian.cc:47:7: note: in expansion of macro 'SET_ERR' + 47 | SET_ERR (tmp = args(2).int_value(), err); + | ^~~~~~~ In file included from /usr/include/octave-7.3.0/octave/oct.h:36, - from __bfgsmin.cc:23: + from numhessian.cc:18: /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ error-helpers.h:121:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 121 | error_state = 0; \ | ^~~~~~~~~~~ -__bfgsmin.cc:39:3: note: in expansion of macro 'SET_ERR' - 39 | SET_ERR (f_return = OCTAVE__FEVAL (f, f_args_new), err); - | ^~~~~~~ +numhessian.cc:47:7: note: in expansion of macro 'SET_ERR' + 47 | SET_ERR (tmp = args(2).int_value(), err); + | ^~~~~~~ /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ +In file included from numgradient.cc:24: +numgradient.cc: In function 'bool any_bad_argument(const octave_value_list&)': error-helpers.h:119:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 119 | if (error_state) \ | ^~~~~~~~~~~ -__bfgsmin.cc:42:7: note: in expansion of macro 'SET_ERR' - 42 | SET_ERR (obj = f_return(0).double_value(), err); +numgradient.cc:47:7: note: in expansion of macro 'SET_ERR' + 47 | SET_ERR (tmp = args(2).int_value(), err); | ^~~~~~~ +In file included from /usr/include/octave-7.3.0/octave/oct.h:36, + from numgradient.cc:18: /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ error-helpers.h:121:13: warning: 'error_state' is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations] 121 | error_state = 0; \ | ^~~~~~~~~~~ -__bfgsmin.cc:42:7: note: in expansion of macro 'SET_ERR' - 42 | SET_ERR (obj = f_return(0).double_value(), err); +numgradient.cc:47:7: note: in expansion of macro 'SET_ERR' + 47 | SET_ERR (tmp = args(2).int_value(), err); | ^~~~~~~ /usr/include/octave-7.3.0/octave/error.h:577:26: note: declared here 577 | extern OCTINTERP_API int error_state; | ^~~~~~~~~~~ -g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __max_nargin_optim__.oct error-helpers.o /tmp/oct-JGZLMe.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro -g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __disna_optim__.oct error-helpers.o /tmp/oct-qIDubg.o -llapack -lblas -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro -g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o numhessian.oct error-helpers.o /tmp/oct-QO4sqp.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro -g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o numgradient.oct error-helpers.o /tmp/oct-UNB53O.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro -g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __bfgsmin.oct error-helpers.o /tmp/oct-kdoqqq.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro +g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __disna_optim__.oct error-helpers.o /tmp/oct-sgvs9L.o -llapack -lblas -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro +g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __max_nargin_optim__.oct error-helpers.o /tmp/oct-ZmWqXf.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro +g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o numhessian.oct error-helpers.o /tmp/oct-sxeOr0.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro +g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o numgradient.oct error-helpers.o /tmp/oct-WsYfki.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro +g++ -I/usr/include/octave-7.3.0/octave/.. -I/usr/include/octave-7.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/octave-optim-1.6.2=. -fstack-protector-strong -Wformat -Werror=format-security -o __bfgsmin.oct error-helpers.o /tmp/oct-cDDD0C.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -Wl,-z,relro rm numhessian.bin numgradient.cc.docstrings MFDOCSTRINGS numgradient.bin __disna_optim__.cc.docstrings __disna_optim__.bin numhessian.cc.docstrings __max_nargin_optim__.bin __max_nargin_optim__.cc.docstrings __bfgsmin.bin __bfgsmin.cc.docstrings make[1]: Leaving directory '/build/octave-optim-1.6.2/src' copyfile /build/octave-optim-1.6.2/./src/__bfgsmin.oct /build/octave-optim-1.6.2/./src/__disna_optim__.oct /build/octave-optim-1.6.2/./src/__max_nargin_optim__.oct /build/octave-optim-1.6.2/./src/numgradient.oct /build/octave-optim-1.6.2/./src/numhessian.oct /build/octave-optim-1.6.2/./inst/i686-pc-linux-gnu-api-v57 @@ -3372,7 +3415,7 @@ ( cd src ; ./configure ; make doc ) checking for mkoctfile... mkoctfile checking for octave-config... octave-config -checking for a sed that does not truncate output... /bin/sed +checking for a sed that does not truncate output... /usr/bin/sed checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... @@ -3386,8 +3429,8 @@ checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E -checking for grep that handles long lines and -e... /bin/grep -checking for egrep... /bin/grep -E +checking for grep that handles long lines and -e... /usr/bin/grep +checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes @@ -3425,45 +3468,109 @@ dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... -warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/mean.m shadows a core library function +warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/std.m shadows a core library function warning: called from /usr/share/octave/packages/statistics-1.5.3/PKG_ADD at line 11 column 3 load_packages_and_dependencies at line 56 column 5 load_packages at line 53 column 3 pkg at line 632 column 7 - /tmp/tmp.Annm9zmNfU at line 9 column 9 + /tmp/tmp.gmgu7DdobV at line 9 column 9 -warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/std.m shadows a core library function +warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/var.m shadows a core library function warning: called from /usr/share/octave/packages/statistics-1.5.3/PKG_ADD at line 11 column 3 load_packages_and_dependencies at line 56 column 5 load_packages at line 53 column 3 pkg at line 632 column 7 - /tmp/tmp.Annm9zmNfU at line 9 column 9 + /tmp/tmp.gmgu7DdobV at line 9 column 9 -warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/var.m shadows a core library function +warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/median.m shadows a core library function warning: called from /usr/share/octave/packages/statistics-1.5.3/PKG_ADD at line 11 column 3 load_packages_and_dependencies at line 56 column 5 load_packages at line 53 column 3 pkg at line 632 column 7 - /tmp/tmp.Annm9zmNfU at line 9 column 9 + /tmp/tmp.gmgu7DdobV at line 9 column 9 -warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/median.m shadows a core library function +warning: function /usr/share/octave/packages/statistics-1.5.3/shadow9/mean.m shadows a core library function warning: called from /usr/share/octave/packages/statistics-1.5.3/PKG_ADD at line 11 column 3 load_packages_and_dependencies at line 56 column 5 load_packages at line 53 column 3 pkg at line 632 column 7 - /tmp/tmp.Annm9zmNfU at line 9 column 9 + /tmp/tmp.gmgu7DdobV at line 9 column 9 -[inst/vfzero.m] ->>>>> /build/octave-optim-1.6.2/inst/vfzero.m -***** shared opt0 - opt0 = optimset ("tolx", 0); -***** assert(vfzero(@cos, [0, 3], opt0), pi/2, 10*eps) -***** assert(vfzero(@(x) x^(1/3) - 1e-8, [0,1], opt0), 1e-24, 1e-22*eps) -2 tests, 2 passed, 0 known failure, 0 skipped +[inst/linprog.m] +>>>>> /build/octave-optim-1.6.2/inst/linprog.m +***** test + f = [1; -1]; + A = []; + b = []; + Aeq = [1, 0]; + beq = [2]; + lb = [0; Inf]; + ub = [-Inf; 0]; + x_exp = [2; 0]; + assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp); +***** shared f, A, b, lb, ub, x_exp, fval_exp + f = [21 25 31 34 23 19 32 36 27 25 19]'; + + A1 = [ 1 0 0 0 1 0 0 1 0 0 0; + 0 1 0 0 0 1 0 0 1 0 0; + 0 0 1 0 0 0 0 0 0 1 0; + 0 0 0 1 0 0 1 0 0 0 1]; + A2 = [ 1 1 1 1 0 0 0 0 0 0 0; + 0 0 0 0 1 1 1 0 0 0 0; + 0 0 0 0 0 0 0 1 1 1 1]; + A = [-A1; A2]; + + b1 = [40; 50; 50; 70]; + b2 = [100; 60; 50]; + b = [-b1; b2]; + + lb = zeros (rows (f), 1); + ub = Inf (rows (f), 1); + + x_exp = [40 0 50 10 0 50 10 0 0 0 50]'; + fval_exp = f' * x_exp; + +***** test + Aeq = []; + beq = []; + [x_obs fval_obs] = linprog (f, A, b, Aeq, beq, lb, ub); + assert ([x_obs; fval_obs], [x_exp; fval_exp]); + +***** test + Aeq = zeros (1, rows (f)); + beq = 0; + assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/de_min.m] +>>>>> /build/octave-optim-1.6.2/inst/de_min.m +***** function result = f(x); + result = 100 * (x(2) - x(1)^2)^2 + (1 - x(1))^2; +***** test + tol = 1.0e-4; + ctl.tol = 0.0; + ctl.VTR = 1.0e-6; + ctl.XVmin = [-2 -2]; + ctl.XVmax = [ 2 2]; + rand("state", 11) + [x, obj_value, nfeval, convergence] = de_min (@f, ctl); + assert (convergence == 1); + assert (f(x) == obj_value); + assert (obj_value < ctl.VTR); +***** demo + ## define a simple example function + f = @(x) peaks(x(1), x(2)); + ## plot the function to see where the minimum might be + peaks() + ## first we set the region where we expect the minimum + ctl.XVmin = [-3 -3]; + ctl.XVmax = [ 3 3]; + ## and solve it with de_min + [x, obj_value, nfeval, convergence] = de_min (f, ctl) +1 test, 1 passed, 0 known failure, 0 skipped [inst/lsqnonlin.m] >>>>> /build/octave-optim-1.6.2/inst/lsqnonlin.m ***** test @@ -3514,59 +3621,6 @@ [c, resnorm, residual, flag, output, lambda, jacob] = ... lsqnonlin(@(p) myfun(p, x, y), p0, lb, ub, opts) 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/statset.m] ->>>>> /build/octave-optim-1.6.2/inst/statset.m -***** assert (isfield (statset (), "TolFun")) -***** assert (isfield (statset ("tolFun", 1e-3), "TolFun")) -***** error statset ("1_Parameter") -***** error statset ("%NOT_A_REAL_FUNCTION_NAME%") -***** warning statset ("foobar", 13); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/linprog.m] ->>>>> /build/octave-optim-1.6.2/inst/linprog.m -***** test - f = [1; -1]; - A = []; - b = []; - Aeq = [1, 0]; - beq = [2]; - lb = [0; Inf]; - ub = [-Inf; 0]; - x_exp = [2; 0]; - assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp); -***** shared f, A, b, lb, ub, x_exp, fval_exp - f = [21 25 31 34 23 19 32 36 27 25 19]'; - - A1 = [ 1 0 0 0 1 0 0 1 0 0 0; - 0 1 0 0 0 1 0 0 1 0 0; - 0 0 1 0 0 0 0 0 0 1 0; - 0 0 0 1 0 0 1 0 0 0 1]; - A2 = [ 1 1 1 1 0 0 0 0 0 0 0; - 0 0 0 0 1 1 1 0 0 0 0; - 0 0 0 0 0 0 0 1 1 1 1]; - A = [-A1; A2]; - - b1 = [40; 50; 50; 70]; - b2 = [100; 60; 50]; - b = [-b1; b2]; - - lb = zeros (rows (f), 1); - ub = Inf (rows (f), 1); - - x_exp = [40 0 50 10 0 50 10 0 0 0 50]'; - fval_exp = f' * x_exp; - -***** test - Aeq = []; - beq = []; - [x_obs fval_obs] = linprog (f, A, b, Aeq, beq, lb, ub); - assert ([x_obs; fval_obs], [x_exp; fval_exp]); - -***** test - Aeq = zeros (1, rows (f)); - beq = 0; - assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp); -3 tests, 3 passed, 0 known failure, 0 skipped [inst/quadprog.m] >>>>> /build/octave-optim-1.6.2/inst/quadprog.m ***** test @@ -3617,44 +3671,134 @@ f = -C' * d; [x, obj, flag, output, lambda]=quadprog (H, f, A, b, Aeq, beq, lb, ub) 1 test, 1 passed, 0 known failure, 0 skipped -[inst/residmin_stat.m] ->>>>> /build/octave-optim-1.6.2/inst/residmin_stat.m +[inst/jacobs.m] +>>>>> /build/octave-optim-1.6.2/inst/jacobs.m +***** assert (jacobs (1, @(x) x), 1) +***** assert (jacobs (6, @(x) x^2), 12) +***** assert (jacobs ([1; 1], @(x) [x(1)^2; x(1)*x(2)]), [2, 0; 1, 1]) +***** assert (jacobs ([1; 2], @(x) [x(1)^2 + x(2); x(2)*exp(x(1))]), [2, 1; 2*exp(1), exp(1)]) +***** error jacobs () +***** error jacobs (1) +***** error jacobs (1, 2, 3, 4) +***** error jacobs (@sin, 1, [1, 1]) +***** error jacobs (@sin, 1, ones(2, 2)) +***** demo + # Relative error against several h-values + k = 3:20; h = 10 .^ (-k); x = 0.3*pi; + err = zeros (1, numel (k)); + for count = 1 : numel (k) + err(count) = abs (jacobs (x, @sin, struct ("h", h(count))) - cos (x)) / abs (cos (x)) + eps; + endfor + loglog (h, err); grid minor; + xlabel ("h"); ylabel ("|Df(x) - cos(x)| / |cos(x)|") + title ("f(x)=sin(x), f'(x)=cos(x) at x = 0.3pi") +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/__all_stat_opts__.m] +>>>>> /build/octave-optim-1.6.2/inst/__all_stat_opts__.m +***** assert (1) +1 test, 1 passed, 0 known failure, 0 skipped +[inst/lsqlin.m] +>>>>> /build/octave-optim-1.6.2/inst/lsqlin.m +***** test +***** shared C,d,A,b + C = [0.9501,0.7620,0.6153,0.4057;... + 0.2311,0.4564,0.7919,0.9354;... + 0.6068,0.0185,0.9218,0.9169;... + 0.4859,0.8214,0.7382,0.4102;... + 0.8912,0.4447,0.1762,0.8936]; + d = [0.0578; 0.3528; 0.8131; 0.0098; 0.1388]; + A =[0.2027, 0.2721, 0.7467, 0.4659;... + 0.1987, 0.1988, 0.4450, 0.4186;... + 0.6037 , 0.0152, 0.9318, 0.8462]; + b =[0.5251;0.2026;0.6721]; + Aeq = [3, 5, 7, 9]; + beq = 4; + lb = -0.1*ones(4,1); + ub = 2*ones(4,1); + [x,resnorm,residual,exitflag] = lsqlin(C,d,A,b,Aeq,beq,lb,ub); + assert(x,[-0.10000; -0.10000; 0.15991; 0.40896],10e-5) + assert(resnorm,0.16951,10e-5) + assert(residual, [0.035297; 0.087623; -0.353251; 0.145270; 0.121232],10e-5) + assert(exitflag,1) +***** test + Aeq = []; + beq = []; + lb = []; + ub = []; + x0 = 0.1*ones(4,1); + x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0); + [x,resnorm,residual,exitflag] = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0); + assert(x,[ 0.12986; -0.57569 ; 0.42510; 0.24384],10e-5) + assert(resnorm,0.017585,10e-5) + assert(residual, [-0.0126033; -0.0208040; -0.1295084; -0.0057389; 0.01372462],10e-5) + assert(exitflag,1) +***** demo + C = [0.9501 0.7620 0.6153 0.4057 + 0.2311 0.4564 0.7919 0.9354 + 0.6068 0.0185 0.9218 0.9169 + 0.4859 0.8214 0.7382 0.4102 + 0.8912 0.4447 0.1762 0.8936]; + d = [0.0578; 0.3528; 0.8131; 0.0098; 0.1388]; + %% Linear Inequality Constraints + A =[0.2027 0.2721 0.7467 0.4659 + 0.1987 0.1988 0.4450 0.4186 + 0.6037 0.0152 0.9318 0.8462]; + b =[0.5251; 0.2026; 0.6721]; + %% Linear Equality Constraints + Aeq = [3 5 7 9]; + beq = 4; + %% Bound constraints + lb = -0.1*ones(4,1); + ub = ones(4,1); + [x, resnorm, residual, flag, output, lambda] = lsqlin (C, d, A, b, Aeq, beq, lb, ub) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/nonlin_residmin.m] +>>>>> /build/octave-optim-1.6.2/inst/nonlin_residmin.m +***** demo + ## Example for linear inequality constraints + ## (see also the same example in 'demo nonlin_curvefit') + + ## independents + indep = 1:5; + ## residual function: + f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; + ## initial values: + init = [.25; .25]; + ## linear constraints, A.' * parametervector + B >= 0 + A = [1; -1]; B = 0; # p(1) >= p(2); + settings = optimset ("inequc", {A, B}); + + ## start optimization + [p, residuals, cvg, outp] = nonlin_residmin (f, init, settings) ***** test ## independents indep = 1:5; ## residual function: f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; - ## parameters: - p = [.53203; .65307]; - - settings = optimset ("objf_type", "wls", - "ret_dfdp", true, "ret_covd", true, - "ret_covp", true, "ret_corp", true); - - info = residmin_stat (f, p, settings); + ## initial values: + init = [.25; .25]; + ## linear constraints, A.' * parametervector + B >= 0 + A = [1; -1]; B = 0; # p(1) >= p(2); + settings = optimset ("inequc", {A, B}); - assert (info.corp, [1, -.98918; -.98918, 1], .0001); + assert (nonlin_residmin (f, init, settings), [.6203; .6203], .0001); ***** test ## independents indep = 1:5; ## residual function: f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; - ## parameters: - p = single ([.53203; .65307]); - - settings = optimset ("objf_type", "wls", - "ret_dfdp", true, "ret_covd", true, - "ret_covp", true, "ret_corp", true); - - info = residmin_stat (f, p, settings); + ## initial values: + init = single ([.25; .25]); + ## linear constraints, A.' * parametervector + B >= 0 + A = [1; -1]; B = 0; # p(1) >= p(2); + settings = optimset ("inequc", {A, B}, + "complex_step_derivative_f", true); - assert (info.corp, [1, -.98918; -.98918, 1], .0001); - assert (isa (info.dfdp, "single")); - assert (isa (info.covd, "single")); - assert (isa (info.covp, "single")); - assert (isa (info.corp, "single")); + result = nonlin_residmin (f, init, settings); + assert (result, [.6203; .6203], .0001); + assert (isa (result, "single")); ***** test -***** shared x, misc, corp +***** shared x, misc x = [.871, .643, .550; .228, .669, .854; .528, .229, .170; @@ -3697,110 +3841,79 @@ 4.95, 4.08, 4.19; 2.96, 4.26, 4.48]; - corp = [1.000000, -0.396899, -0.402479, -0.019351, -0.167128; - -0.396899, 1.000000, -0.462988, -0.053813, 0.214705; - -0.402479, -0.462988, 1.000000, 0.127128, -0.187121; - -0.019351, -0.053813, 0.127128, 1.000000, -0.035904; - -0.167128, 0.214705, -0.187121, -0.035904, 1.000000]; - - p = struct ("a", [.9925145; 2.005293; 3.999732], - "b", 2.680371, "c", .4977683); + pin = struct ("a", .1 * ones (3, 1), "b", .1, "c", .1, "d", 1); - pconf.a.TypicalX = .5 * ones (3, 1); - pconf.a. diffp = [.0001; .00001; .0001]; + pconf.a.lbound = [-Inf, 0, NA]; pconf.b.diff_onesided = true; + pconf.b.lbound = 0; + pconf.c.ubound = .3; + pconf.d.fixed = true; - settings = optimset ("param_config", pconf, "f_pstruct", true, - "objf_type", "wls", - "ret_dfdp", true, "ret_covd", true, - "ret_covp", true, "ret_corp", true); + settings = optimset ("param_config", pconf, "f_pstruct", true); f = @ (p) ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p.c) ... * horzcat (p.a, p.a([3, 1, 2]), p.a([3, 2, 1])) ... - - subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b); + - p.d * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b); - info = residmin_stat (f, p, settings); + [p, ~, ~, outp] = nonlin_residmin (f, pin, settings); - assert (info.corp, corp, .0001); + assert (p.a, [1.0590; 1.9266; 4.0456], .0001); + assert (p.b, 2.7061, .0001); + assert (p.c, .3, .000001); + assert (p.d, 1); + assert (isempty (outp.lambda.ineqlin)); + assert (isempty (outp.lambda.eqlin)); + assert (isempty (outp.lambda.ineqnonlin)); + assert (isempty (outp.lambda.eqnonlin)); + assert (! any (outp.lambda.lower.a)); + assert (! outp.lambda.lower.b); + assert (! outp.lambda.lower.c); + assert (! any (outp.lambda.upper.a)); + assert (! outp.lambda.upper.b); + assert (outp.lambda.upper.c > 0); ***** test - p = [.9925145; 2.005293; 3.999732; 2.680371; .4977683]; + pin = zeros (6, 1); + pin(6) = 1; - settings = optimset ("TypicalX", .5, - "diffp", [.0001; .00001; .0001; .00001; .0001], + settings = optimset ("lbound", [-Inf; 0; NA; 0; -Inf; -Inf], + "ubound", [Inf; Inf; Inf; Inf; .3; Inf], "diff_onesided", true, - "objf_type", "wls", - "ret_dfdp", true, "ret_covd", true, - "ret_covp", true, "ret_corp", true); + "fixed", [false; false; false; false; false; true]); f = @ (p) ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p(5)) ... * horzcat (p([1, 2, 3]), p([3, 1, 2]), p([3, 2, 1])) ... - - subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)); + - p(6) * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)); - info = residmin_stat (f, p, settings); + p = nonlin_residmin (f, pin, settings); - assert (info.corp, corp, .0001); + assert (p, [1.0590; 1.9266; 4.0456; 2.7061; .3; 1], .0001); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/__all_stat_opts__.m] ->>>>> /build/octave-optim-1.6.2/inst/__all_stat_opts__.m -***** assert (1) -1 test, 1 passed, 0 known failure, 0 skipped -[inst/lsqlin.m] ->>>>> /build/octave-optim-1.6.2/inst/lsqlin.m -***** test -***** shared C,d,A,b - C = [0.9501,0.7620,0.6153,0.4057;... - 0.2311,0.4564,0.7919,0.9354;... - 0.6068,0.0185,0.9218,0.9169;... - 0.4859,0.8214,0.7382,0.4102;... - 0.8912,0.4447,0.1762,0.8936]; - d = [0.0578; 0.3528; 0.8131; 0.0098; 0.1388]; - A =[0.2027, 0.2721, 0.7467, 0.4659;... - 0.1987, 0.1988, 0.4450, 0.4186;... - 0.6037 , 0.0152, 0.9318, 0.8462]; - b =[0.5251;0.2026;0.6721]; - Aeq = [3, 5, 7, 9]; - beq = 4; - lb = -0.1*ones(4,1); - ub = 2*ones(4,1); - [x,resnorm,residual,exitflag] = lsqlin(C,d,A,b,Aeq,beq,lb,ub); - assert(x,[-0.10000; -0.10000; 0.15991; 0.40896],10e-5) - assert(resnorm,0.16951,10e-5) - assert(residual, [0.035297; 0.087623; -0.353251; 0.145270; 0.121232],10e-5) - assert(exitflag,1) -***** test - Aeq = []; - beq = []; - lb = []; - ub = []; - x0 = 0.1*ones(4,1); - x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0); - [x,resnorm,residual,exitflag] = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0); - assert(x,[ 0.12986; -0.57569 ; 0.42510; 0.24384],10e-5) - assert(resnorm,0.017585,10e-5) - assert(residual, [-0.0126033; -0.0208040; -0.1295084; -0.0057389; 0.01372462],10e-5) - assert(exitflag,1) +[inst/nonlin_curvefit.m] +>>>>> /build/octave-optim-1.6.2/inst/nonlin_curvefit.m ***** demo - C = [0.9501 0.7620 0.6153 0.4057 - 0.2311 0.4564 0.7919 0.9354 - 0.6068 0.0185 0.9218 0.9169 - 0.4859 0.8214 0.7382 0.4102 - 0.8912 0.4447 0.1762 0.8936]; - d = [0.0578; 0.3528; 0.8131; 0.0098; 0.1388]; - %% Linear Inequality Constraints - A =[0.2027 0.2721 0.7467 0.4659 - 0.1987 0.1988 0.4450 0.4186 - 0.6037 0.0152 0.9318 0.8462]; - b =[0.5251; 0.2026; 0.6721]; - %% Linear Equality Constraints - Aeq = [3 5 7 9]; - beq = 4; - %% Bound constraints - lb = -0.1*ones(4,1); - ub = ones(4,1); - [x, resnorm, residual, flag, output, lambda] = lsqlin (C, d, A, b, Aeq, beq, lb, ub) -2 tests, 2 passed, 0 known failure, 0 skipped + ## Example for linear inequality constraints + ## (see also the same example in 'demo nonlin_residmin') + + ## independents and observations + indep = 1:5; + obs = [1, 2, 4, 7, 14]; + ## model function: + f = @ (p, x) p(1) * exp (p(2) * x); + ## initial values: + init = [.25; .25]; + ## linear constraints, A.' * parametervector + B >= 0 + A = [1; -1]; B = 0; # p(1) >= p(2); + settings = optimset ("inequc", {A, B}); + + ## start optimization + [p, model_values, cvg, outp] = nonlin_curvefit (f, init, indep, obs, settings) +***** test + t = optim_problems ().curve.schittkowski_327; + cp = nonlin_curvefit (@ (p, x) t.f (x, p), t.init_p, t.data.x, t.data.y, optimset ("lbound", t.non_strict_inequc.bounds(:, 1), "ubound", t.non_strict_inequc.bounds(:, 2), "inequc", {t.non_strict_inequc.general}, "dfdp", @ (p, x) t.dfdp (x, p))); + assert (cp, t.result.p, [.0001; .001]); +1 test, 1 passed, 0 known failure, 0 skipped [inst/polyconf.m] >>>>> /build/octave-optim-1.6.2/inst/polyconf.m ***** test @@ -3813,53 +3926,6 @@ [y,dy] = polyconf(p,40,s,0.05,'pi'); assert(dy,4.45345484470743,200*eps); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/statget.m] ->>>>> /build/octave-optim-1.6.2/inst/statget.m -***** shared opts - opts = statset ("maxit", 100); -***** assert (statget (opts, "maxit"), 100) -***** assert (statget (opts, "MaxITer"), 100) -***** assert (statget (opts, "TolFun"), []) -***** assert (statget (opts, "TolFun", 1e-3), 1e-3) -***** error statget () -***** error statget (1) -***** error statget (1,2,3,4,5) -***** error statget (1, "name") -***** error statget (struct (), 2) -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/nlinfit.m] ->>>>> /build/octave-optim-1.6.2/inst/nlinfit.m -***** test - modelfun = @(b, x) (b(1) + b(2) * exp (- b(3) * x)); - b = [1;3;2]; - v = rande ("state"); - rande ("seed", 1234); - xdata = exprnd (2,100,1); - rande ("state", v); - v = randn ("state"); - randn ("seed", 1234); - ydata = modelfun (b,xdata) + normrnd (0,0.1,100,1); - randn ("state", v); - beta0 = [2;2;3]; - beta = nlinfit(xdata,ydata,modelfun,beta0); - assert (beta, [1;3;2], 1e-1) -***** demo - modelfun = @(b, x) (b(1) + b(2) * exp (- b(3) * x)); - %% actual value - beta_without_noise = [1; 3; 2]; - x = [3.49622; 0.33751; 1.25675; 3.66981; 0.26237; 5.51095; ... - 2.11407; 1.48774; 6.22436; 2.04519]; - y_actual = modelfun (beta_without_noise, x); - noise = [0.176110; -0.066850; 0.231000; -0.047570; -0.108230; ... - 0.122790; 0.062940; 0.151510; 0.116010; -0.097460]; - y_noisy = y_actual + noise; - %% initial guess - beta0 = [2; 2; 2]; - %% weights vector - weights = [5; 16; 1; 20; 12; 11; 17; 8; 11; 13]; - [beta, R, J, covb, mse] = nlinfit (x, y_noisy, modelfun, beta0) - [beta_w, R_w, J_w, covb_w, mse_w] = nlinfit (x, y_noisy, modelfun, beta0, [], "weights", weights) -1 test, 1 passed, 0 known failure, 0 skipped [inst/lsqcurvefit.m] >>>>> /build/octave-optim-1.6.2/inst/lsqcurvefit.m ***** test @@ -3910,123 +3976,45 @@ [c, resnorm, residual, flag, output, lambda, jacob] = ... lsqcurvefit (@ (varargin) myfun(varargin{:}), p0, x, y, lb, ub, opts) 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/jacobs.m] ->>>>> /build/octave-optim-1.6.2/inst/jacobs.m -***** assert (jacobs (1, @(x) x), 1) -***** assert (jacobs (6, @(x) x^2), 12) -***** assert (jacobs ([1; 1], @(x) [x(1)^2; x(1)*x(2)]), [2, 0; 1, 1]) -***** assert (jacobs ([1; 2], @(x) [x(1)^2 + x(2); x(2)*exp(x(1))]), [2, 1; 2*exp(1), exp(1)]) -***** error jacobs () -***** error jacobs (1) -***** error jacobs (1, 2, 3, 4) -***** error jacobs (@sin, 1, [1, 1]) -***** error jacobs (@sin, 1, ones(2, 2)) -***** demo - # Relative error against several h-values - k = 3:20; h = 10 .^ (-k); x = 0.3*pi; - err = zeros (1, numel (k)); - for count = 1 : numel (k) - err(count) = abs (jacobs (x, @sin, struct ("h", h(count))) - cos (x)) / abs (cos (x)) + eps; - endfor - loglog (h, err); grid minor; - xlabel ("h"); ylabel ("|Df(x) - cos(x)| / |cos(x)|") - title ("f(x)=sin(x), f'(x)=cos(x) at x = 0.3pi") -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/de_min.m] ->>>>> /build/octave-optim-1.6.2/inst/de_min.m -***** function result = f(x); - result = 100 * (x(2) - x(1)^2)^2 + (1 - x(1))^2; -***** test - tol = 1.0e-4; - ctl.tol = 0.0; - ctl.VTR = 1.0e-6; - ctl.XVmin = [-2 -2]; - ctl.XVmax = [ 2 2]; - rand("state", 11) - [x, obj_value, nfeval, convergence] = de_min (@f, ctl); - assert (convergence == 1); - assert (f(x) == obj_value); - assert (obj_value < ctl.VTR); -***** demo - ## define a simple example function - f = @(x) peaks(x(1), x(2)); - ## plot the function to see where the minimum might be - peaks() - ## first we set the region where we expect the minimum - ctl.XVmin = [-3 -3]; - ctl.XVmax = [ 3 3]; - ## and solve it with de_min - [x, obj_value, nfeval, convergence] = de_min (f, ctl) -1 test, 1 passed, 0 known failure, 0 skipped -[inst/nonlin_curvefit.m] ->>>>> /build/octave-optim-1.6.2/inst/nonlin_curvefit.m +[inst/nonlin_min.m] +>>>>> /build/octave-optim-1.6.2/inst/nonlin_min.m ***** demo - ## Example for linear inequality constraints - ## (see also the same example in 'demo nonlin_residmin') - - ## independents and observations - indep = 1:5; - obs = [1, 2, 4, 7, 14]; - ## model function: - f = @ (p, x) p(1) * exp (p(2) * x); - ## initial values: - init = [.25; .25]; - ## linear constraints, A.' * parametervector + B >= 0 - A = [1; -1]; B = 0; # p(1) >= p(2); - settings = optimset ("inequc", {A, B}); - - ## start optimization - [p, model_values, cvg, outp] = nonlin_curvefit (f, init, indep, obs, settings) -***** test - t = optim_problems ().curve.schittkowski_327; - cp = nonlin_curvefit (@ (p, x) t.f (x, p), t.init_p, t.data.x, t.data.y, optimset ("lbound", t.non_strict_inequc.bounds(:, 1), "ubound", t.non_strict_inequc.bounds(:, 2), "inequc", {t.non_strict_inequc.general}, "dfdp", @ (p, x) t.dfdp (x, p))); - assert (cp, t.result.p, [.0001; .001]); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/nonlin_residmin.m] ->>>>> /build/octave-optim-1.6.2/inst/nonlin_residmin.m + ## Example for default optimization (Levenberg/Marquardt with + ## BFGS), one non-linear equality constraint. Constrained optimum is + ## at p = [0; 1]. + objective_function = @ (p) p(1)^2 + p(2)^2; + pin = [-2; 5]; + constraint_function = @ (p) p(1)^2 + 1 - p(2); + [p, objf, cvg, outp] = nonlin_min (objective_function, pin, optimset ("equc", {constraint_function})) ***** demo - ## Example for linear inequality constraints - ## (see also the same example in 'demo nonlin_curvefit') - - ## independents - indep = 1:5; - ## residual function: - f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; - ## initial values: - init = [.25; .25]; - ## linear constraints, A.' * parametervector + B >= 0 - A = [1; -1]; B = 0; # p(1) >= p(2); - settings = optimset ("inequc", {A, B}); - - ## start optimization - [p, residuals, cvg, outp] = nonlin_residmin (f, init, settings) + ## Example for simulated annealing, two parameters, "trace_steps" + ## is true; + t_init = .2; + t_min = .002; + mu_t = 1.002; + iters_fixed_t = 10; + init_p = [2; 2]; + max_rand_step = [.2; .2]; + [p, objf, cvg, outp] = nonlin_min (@ (p) (p(1)/10)^2 + (p(2)/10)^2 + .1 * (-cos(4*p(1)) - cos(4*p(2))), init_p, optimset ("algorithm", "siman", "max_rand_step", max_rand_step, "t_init", t_init, "T_min", t_min, "mu_t", mu_t, "iters_fixed_T", iters_fixed_t, "trace_steps", true)); + p + objf + x = (outp.trace(:, 1) - 1) * iters_fixed_t + outp.trace(:, 2); + x(1) = 0; + plot (x, cat (2, outp.trace(:, 3:end), t_init ./ (mu_t .^ outp.trace(:, 1)))) + legend ({"objective function value", "p(1)", "p(2)", "Temperature"}) + xlabel ("subiteration") ***** test ## independents indep = 1:5; - ## residual function: - f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; + ## objective function: + f = @ (p) sumsq (p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]); ## initial values: init = [.25; .25]; ## linear constraints, A.' * parametervector + B >= 0 A = [1; -1]; B = 0; # p(1) >= p(2); settings = optimset ("inequc", {A, B}); - assert (nonlin_residmin (f, init, settings), [.6203; .6203], .0001); -***** test - ## independents - indep = 1:5; - ## residual function: - f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; - ## initial values: - init = single ([.25; .25]); - ## linear constraints, A.' * parametervector + B >= 0 - A = [1; -1]; B = 0; # p(1) >= p(2); - settings = optimset ("inequc", {A, B}, - "complex_step_derivative_f", true); - - result = nonlin_residmin (f, init, settings); - assert (result, [.6203; .6203], .0001); - assert (isa (result, "single")); + assert (nonlin_min (f, init, settings), [.6203; .6203], .0001); ***** test ***** shared x, misc x = [.871, .643, .550; @@ -4079,29 +4067,20 @@ pconf.c.ubound = .3; pconf.d.fixed = true; - settings = optimset ("param_config", pconf, "f_pstruct", true); + settings = optimset ("param_config", pconf, "objf_pstruct", true); - f = @ (p) ... + f = @ (p) sumsq (( ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p.c) ... * horzcat (p.a, p.a([3, 1, 2]), p.a([3, 2, 1])) ... - - p.d * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b); + - p.d ... + * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b))(:)); - [p, ~, ~, outp] = nonlin_residmin (f, pin, settings); + [p, ~, ~, outp] = nonlin_min (f, pin, settings); - assert (p.a, [1.0590; 1.9266; 4.0456], .0001); - assert (p.b, 2.7061, .0001); + assert (p.a, [1.0590; 1.9266; 4.0456], .005); + assert (p.b, 2.7061, .005); assert (p.c, .3, .000001); assert (p.d, 1); - assert (isempty (outp.lambda.ineqlin)); - assert (isempty (outp.lambda.eqlin)); - assert (isempty (outp.lambda.ineqnonlin)); - assert (isempty (outp.lambda.eqnonlin)); - assert (! any (outp.lambda.lower.a)); - assert (! outp.lambda.lower.b); - assert (! outp.lambda.lower.c); - assert (! any (outp.lambda.upper.a)); - assert (! outp.lambda.upper.b); - assert (outp.lambda.upper.c > 0); ***** test pin = zeros (6, 1); pin(6) = 1; @@ -4111,15 +4090,78 @@ "diff_onesided", true, "fixed", [false; false; false; false; false; true]); - f = @ (p) ... + f = @ (p) sumsq (( ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p(5)) ... * horzcat (p([1, 2, 3]), p([3, 1, 2]), p([3, 2, 1])) ... - - p(6) * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)); + - p(6) ... + * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)))(:)); - p = nonlin_residmin (f, pin, settings); + p = nonlin_min (f, pin, settings); - assert (p, [1.0590; 1.9266; 4.0456; 2.7061; .3; 1], .0001); -4 tests, 4 passed, 0 known failure, 0 skipped + assert (p, [1.0590; 1.9266; 4.0456; 2.7061; .3; 1], .005); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/statset.m] +>>>>> /build/octave-optim-1.6.2/inst/statset.m +***** assert (isfield (statset (), "TolFun")) +***** assert (isfield (statset ("tolFun", 1e-3), "TolFun")) +***** error statset ("1_Parameter") +***** error statset ("%NOT_A_REAL_FUNCTION_NAME%") +***** warning statset ("foobar", 13); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/vfzero.m] +>>>>> /build/octave-optim-1.6.2/inst/vfzero.m +***** shared opt0 + opt0 = optimset ("tolx", 0); +***** assert(vfzero(@cos, [0, 3], opt0), pi/2, 10*eps) +***** assert(vfzero(@(x) x^(1/3) - 1e-8, [0,1], opt0), 1e-24, 1e-22*eps) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/statget.m] +>>>>> /build/octave-optim-1.6.2/inst/statget.m +***** shared opts + opts = statset ("maxit", 100); +***** assert (statget (opts, "maxit"), 100) +***** assert (statget (opts, "MaxITer"), 100) +***** assert (statget (opts, "TolFun"), []) +***** assert (statget (opts, "TolFun", 1e-3), 1e-3) +***** error statget () +***** error statget (1) +***** error statget (1,2,3,4,5) +***** error statget (1, "name") +***** error statget (struct (), 2) +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/nlinfit.m] +>>>>> /build/octave-optim-1.6.2/inst/nlinfit.m +***** test + modelfun = @(b, x) (b(1) + b(2) * exp (- b(3) * x)); + b = [1;3;2]; + v = rande ("state"); + rande ("seed", 1234); + xdata = exprnd (2,100,1); + rande ("state", v); + v = randn ("state"); + randn ("seed", 1234); + ydata = modelfun (b,xdata) + normrnd (0,0.1,100,1); + randn ("state", v); + beta0 = [2;2;3]; + beta = nlinfit(xdata,ydata,modelfun,beta0); + assert (beta, [1;3;2], 1e-1) +***** demo + modelfun = @(b, x) (b(1) + b(2) * exp (- b(3) * x)); + %% actual value + beta_without_noise = [1; 3; 2]; + x = [3.49622; 0.33751; 1.25675; 3.66981; 0.26237; 5.51095; ... + 2.11407; 1.48774; 6.22436; 2.04519]; + y_actual = modelfun (beta_without_noise, x); + noise = [0.176110; -0.066850; 0.231000; -0.047570; -0.108230; ... + 0.122790; 0.062940; 0.151510; 0.116010; -0.097460]; + y_noisy = y_actual + noise; + %% initial guess + beta0 = [2; 2; 2]; + %% weights vector + weights = [5; 16; 1; 20; 12; 11; 17; 8; 11; 13]; + [beta, R, J, covb, mse] = nlinfit (x, y_noisy, modelfun, beta0) + [beta_w, R_w, J_w, covb_w, mse_w] = nlinfit (x, y_noisy, modelfun, beta0, [], "weights", weights) +1 test, 1 passed, 0 known failure, 0 skipped [inst/fmincon.m] >>>>> /build/octave-optim-1.6.2/inst/fmincon.m ***** demo @@ -4215,47 +4257,44 @@ 2.2915e+01; 3.9470e+01; 5.2330e+02; -1.5694e+02; -1.9966e-01], .01); 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/nonlin_min.m] ->>>>> /build/octave-optim-1.6.2/inst/nonlin_min.m -***** demo - ## Example for default optimization (Levenberg/Marquardt with - ## BFGS), one non-linear equality constraint. Constrained optimum is - ## at p = [0; 1]. - objective_function = @ (p) p(1)^2 + p(2)^2; - pin = [-2; 5]; - constraint_function = @ (p) p(1)^2 + 1 - p(2); - [p, objf, cvg, outp] = nonlin_min (objective_function, pin, optimset ("equc", {constraint_function})) -***** demo - ## Example for simulated annealing, two parameters, "trace_steps" - ## is true; - t_init = .2; - t_min = .002; - mu_t = 1.002; - iters_fixed_t = 10; - init_p = [2; 2]; - max_rand_step = [.2; .2]; - [p, objf, cvg, outp] = nonlin_min (@ (p) (p(1)/10)^2 + (p(2)/10)^2 + .1 * (-cos(4*p(1)) - cos(4*p(2))), init_p, optimset ("algorithm", "siman", "max_rand_step", max_rand_step, "t_init", t_init, "T_min", t_min, "mu_t", mu_t, "iters_fixed_T", iters_fixed_t, "trace_steps", true)); - p - objf - x = (outp.trace(:, 1) - 1) * iters_fixed_t + outp.trace(:, 2); - x(1) = 0; - plot (x, cat (2, outp.trace(:, 3:end), t_init ./ (mu_t .^ outp.trace(:, 1)))) - legend ({"objective function value", "p(1)", "p(2)", "Temperature"}) - xlabel ("subiteration") +[inst/residmin_stat.m] +>>>>> /build/octave-optim-1.6.2/inst/residmin_stat.m ***** test ## independents indep = 1:5; - ## objective function: - f = @ (p) sumsq (p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]); - ## initial values: - init = [.25; .25]; - ## linear constraints, A.' * parametervector + B >= 0 - A = [1; -1]; B = 0; # p(1) >= p(2); - settings = optimset ("inequc", {A, B}); + ## residual function: + f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; + ## parameters: + p = [.53203; .65307]; - assert (nonlin_min (f, init, settings), [.6203; .6203], .0001); + settings = optimset ("objf_type", "wls", + "ret_dfdp", true, "ret_covd", true, + "ret_covp", true, "ret_corp", true); + + info = residmin_stat (f, p, settings); + + assert (info.corp, [1, -.98918; -.98918, 1], .0001); ***** test -***** shared x, misc + ## independents + indep = 1:5; + ## residual function: + f = @ (p) p(1) * exp (p(2) * indep) - [1, 2, 4, 7, 14]; + ## parameters: + p = single ([.53203; .65307]); + + settings = optimset ("objf_type", "wls", + "ret_dfdp", true, "ret_covd", true, + "ret_covp", true, "ret_corp", true); + + info = residmin_stat (f, p, settings); + + assert (info.corp, [1, -.98918; -.98918, 1], .0001); + assert (isa (info.dfdp, "single")); + assert (isa (info.covd, "single")); + assert (isa (info.covp, "single")); + assert (isa (info.corp, "single")); +***** test +***** shared x, misc, corp x = [.871, .643, .550; .228, .669, .854; .528, .229, .170; @@ -4298,47 +4337,51 @@ 4.95, 4.08, 4.19; 2.96, 4.26, 4.48]; - pin = struct ("a", .1 * ones (3, 1), "b", .1, "c", .1, "d", 1); + corp = [1.000000, -0.396899, -0.402479, -0.019351, -0.167128; + -0.396899, 1.000000, -0.462988, -0.053813, 0.214705; + -0.402479, -0.462988, 1.000000, 0.127128, -0.187121; + -0.019351, -0.053813, 0.127128, 1.000000, -0.035904; + -0.167128, 0.214705, -0.187121, -0.035904, 1.000000]; - pconf.a.lbound = [-Inf, 0, NA]; + p = struct ("a", [.9925145; 2.005293; 3.999732], + "b", 2.680371, "c", .4977683); + + pconf.a.TypicalX = .5 * ones (3, 1); + pconf.a. diffp = [.0001; .00001; .0001]; pconf.b.diff_onesided = true; - pconf.b.lbound = 0; - pconf.c.ubound = .3; - pconf.d.fixed = true; - settings = optimset ("param_config", pconf, "objf_pstruct", true); + settings = optimset ("param_config", pconf, "f_pstruct", true, + "objf_type", "wls", + "ret_dfdp", true, "ret_covd", true, + "ret_covp", true, "ret_corp", true); - f = @ (p) sumsq (( ... + f = @ (p) ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p.c) ... * horzcat (p.a, p.a([3, 1, 2]), p.a([3, 2, 1])) ... - - p.d ... - * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b))(:)); + - subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p.b); - [p, ~, ~, outp] = nonlin_min (f, pin, settings); + info = residmin_stat (f, p, settings); - assert (p.a, [1.0590; 1.9266; 4.0456], .005); - assert (p.b, 2.7061, .005); - assert (p.c, .3, .000001); - assert (p.d, 1); + assert (info.corp, corp, .0001); ***** test - pin = zeros (6, 1); - pin(6) = 1; + p = [.9925145; 2.005293; 3.999732; 2.680371; .4977683]; - settings = optimset ("lbound", [-Inf; 0; NA; 0; -Inf; -Inf], - "ubound", [Inf; Inf; Inf; Inf; .3; Inf], + settings = optimset ("TypicalX", .5, + "diffp", [.0001; .00001; .0001; .00001; .0001], "diff_onesided", true, - "fixed", [false; false; false; false; false; true]); + "objf_type", "wls", + "ret_dfdp", true, "ret_covd", true, + "ret_covp", true, "ret_corp", true); - f = @ (p) sumsq (( ... + f = @ (p) ... subsasgn (x, struct ("type", "()", "subs", {{9, 3}}), p(5)) ... * horzcat (p([1, 2, 3]), p([3, 1, 2]), p([3, 2, 1])) ... - - p(6) ... - * subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)))(:)); + - subsasgn (misc, struct ("type", "()", "subs", {{3, 2}}), p(4)); - p = nonlin_min (f, pin, settings); + info = residmin_stat (f, p, settings); - assert (p, [1.0590; 1.9266; 4.0456; 2.7061; .3; 1], .005); -3 tests, 3 passed, 0 known failure, 0 skipped + assert (info.corp, corp, .0001); +4 tests, 4 passed, 0 known failure, 0 skipped Checking C++ files ... Summary: 57 tests, 57 passed, 0 known failures, 0 skipped dh_installdocs -O--buildsystem=octave @@ -4373,12 +4416,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2180/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/129225 and its subdirectories -I: Current time: Tue May 28 18:57:48 -12 2024 -I: pbuilder-time-stamp: 1716965868 +I: removing directory /srv/workspace/pbuilder/2180 and its subdirectories +I: Current time: Thu Apr 27 14:45:39 +14 2023 +I: pbuilder-time-stamp: 1682556339