From: Marco Atzeri <marco.atzeri@gmail.com>
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: headache on build repeatibility: octave vs BLODA ?
Date: Sat, 25 Jan 2020 16:55:00 -0000 [thread overview]
Message-ID: <2904b4fa-6349-bd3e-c4ff-4b32a0bb3838@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1965 bytes --]
Hi All,
I have recently released Octave 5.1.0
https://cygwin.com/ml/cygwin-announce/2020-01/msg00010.html
https://cygwin.com/ml/cygwin-announce/2020-01/msg00011.html
that I built and packaged around 28 of December without
any compilation and test issue.
Than I passed to build the next version and started to see
unexpected segfault during the package test.
Trying to investigate I rebuilt the 5.1.0 and now I see also
there the same thing:
libinterp/corefcn/file-io.cc-tst
...............................fatal: caught signal Segmentation fault
-- stopping myself...
/bin/sh: line 1: 3771 Segmentation fault (core dumped) /bin/sh
../run-octave --norc --silent --no-history -p
/cygdrive/d/cyg_pub/devel/octave/prova_311_510/octave-5.1.0-2.x86_64/build/test/mex
/cygdrive/d/cyg_pub/devel/octave/prova_311_510/octave-5.1.0-2.x86_64/src/octave-5.1.0/test/fntests.m
/cygdrive/d/cyg_pub/devel/octave/prova_311_510/octave-5.1.0-2.x86_64/src/octave-5.1.0/test
make[3]: *** [Makefile:31176: check-local] Error 139
I do not see any new cygwin package released in the last month that I
installed that could cause the simple file tests to fail
%!test
%! f = tempname ();
%! fid = fopen (f, "w+");
%! fprintf (fid, "1\n2\n3\n4\n5\n6");
%! fseek (fid, 0, "bof");
%! c = textscan (fid, "%f %f", 2); <- here comes the segfault
I also tried the cygwin release 3.1.1 and 2020-01-14 snapshot
in addition to the 3.1.2 to see if something different was
coming with no difference in the outcome.
Now I am seriously thinking about BLODA, but I have not
noted any difference from the two AVs I was using
Antivir and MS Defender, so I am wandering if last
update for W10 Home x64 is the culprit.
Can anyone try to rebuild the Octave package and let me know
if the segfault during test is present or not in your system ?
Be aware that build time is very long (~ 4 hours) and requires
a ton of mathematical libraries.
Any suggestion will be appreciated
Marco
[-- Attachment #2: octave.cygport --]
[-- Type: text/plain, Size: 3551 bytes --]
NAME="octave"
VERSION="5.1.0"
RELEASE=2
CATEGORY="Math"
DESCRIPTION="GNU Octave is a high-level language for numerical computations"
HOMEPAGE="http://www.gnu.org/software/octave/"
OR="${PV}"
SRC_URI="https://ftp.gnu.org/gnu/octave/${PN}-${PV}.tar.lz
https://ftp.gnu.org/gnu/octave/${PN}-${PV}.tar.lz.sig"
SRC_DIR="${PN}-${PV}"
PATCH_URI="
octave-postinstall.patch"
PKG_NAMES="octave octave-devel octave-doc"
octave_SUMMARY="GNU Octave language for numerical computations"
octave_devel_SUMMARY="GNU Octave (development)"
octave_doc_SUMMARY="GNU Octave additional docs in html and pdf"
octave_CONTENTS='etc var usr/bin/cyg* usr/bin/oct* usr/lib/octave/'${OR}'/[eos]* usr/lib/octave/[as]* usr/share/[aimos]* usr/share/doc/octave/[ABCINPRTe]*'
octave_devel_CONTENTS=' usr/bin/mk* usr/include/ usr/lib/octave/'${OR}'/lib* usr/lib/pkgconfig'
octave_doc_CONTENTS='usr/share/doc/octave/[hp]*'
DIFF_EXCLUDES="*octave.info* config.in.h version.texi stamp-vti
version-octave.texi stamp-1 version-liboctave.texi"
src_compile() {
cd ${S}
cygautoreconf
cd ${B}
cygconf --libexecdir=/usr/lib \
--enable-shared \
--enable-float-truncate \
--disable-java \
--enable-link-all-dependencies \
LIBS="-lsuitesparseconfig"
# workaround to avoid rebuilding of all interpreter documentation
touch AUTHORS BUGS INSTALL.OCTAVE
cygmake LIBS="-lsuitesparseconfig"
}
src_test() {
cd ${B}
make check
}
src_install() {
cd ${B}
ARC=$(./libtool --features | grep "host:" |sed -e "s/host: //")
keepdir /usr/lib/octave/${OR}/site/exec/${ARC}
keepdir /usr/lib/octave/${OR}/site/oct/${ARC}
keepdir /usr/lib/octave/api-v53/site/exec/${ARC}
keepdir /usr/lib/octave/site/oct/api-v53/${ARC}
keepdir /usr/lib/octave/${OR}/site/exec
keepdir /usr/lib/octave/${OR}/site/oct
keepdir /usr/lib/octave/api-v53/site/exec
keepdir /usr/lib/octave/site/exec/${ARC}
keepdir /usr/lib/octave/site/oct/api-v53
keepdir /usr/lib/octave/site/oct/${ARC}
keepdir /usr/share/octave/${OR}/site/m
keepdir /usr/share/octave/site/api-v53/m
keepdir /usr/lib/octave/${OR}/site
keepdir /usr/lib/octave/api-v53/site
keepdir /usr/lib/octave/site/exec
keepdir /usr/lib/octave/site/oct
keepdir /usr/share/octave/${OR}/site
keepdir /usr/share/octave/site/api-v53
keepdir /usr/lib/octave/api-v53
keepdir /usr/lib/octave/site
cyginstall
insinto /usr/share/doc/${PN}/etc
doins ${S}/etc/PROJECTS
insinto /usr/share/doc/${PN}
doins ${S}/NEWS
doins ${S}/ChangeLog
dodir /usr/share/doc/${PN}/pdf
insinto /usr/share/doc/${PN}/pdf
doins ${S}/doc/interpreter/octave.pdf
doins ${S}/doc/liboctave/liboctave.pdf
doins ${S}/doc/refcard/refcard-a4.pdf
doins ${S}/doc/refcard/refcard-legal.pdf
doins ${S}/doc/refcard/refcard-letter.pdf
# doins ${S}/doc/faq/OctaveFAQ.pdf
dodir /usr/share/doc/${PN}/html/interpreter
insinto /usr/share/doc/${PN}/html/interpreter
doins ${S}/doc/interpreter/octave.html/*.html
doins ${S}/doc/interpreter/octave.html/*.png
dodir /usr/share/doc/${PN}/html/liboctave
insinto /usr/share/doc/${PN}/html/liboctave
doins ${S}/doc/liboctave/liboctave.html/*
dodir /usr/share/info
insinto /usr/share/info
doins ${S}/doc/interpreter/octave.info*
doins ${S}/doc/liboctave/liboctave.info
# doins ${S}/doc/faq/OctaveFAQ.info
# postinstall script
insinto /var/lib/octave
doins ${S}/CYGWIN-PATCHES/update_packages_list
insinto /etc/postinstall
doins ${S}/CYGWIN-PATCHES/zp_octave_finish.dash
}
[-- Attachment #3: octave-postinstall.patch --]
[-- Type: text/plain, Size: 1544 bytes --]
--- origsrc/octave-4.0.0/CYGWIN-PATCHES/postinstall.sh 1970-01-01 01:00:00.000000000 +0100
+++ CYGWIN-PATCHES/postinstall.sh 2015-05-31 22:32:05.501058300 +0200
@@ -0,0 +1,4 @@
+if [ ! -f /var/lib/octave/update.flag ]
+then
+ touch /var/lib/octave/update.flag
+fi
--- origsrc/octave-4.0.0/CYGWIN-PATCHES/update_packages_list 1970-01-01 01:00:00.000000000 +0100
+++ CYGWIN-PATCHES/update_packages_list 2015-05-31 22:49:05.809416600 +0200
@@ -0,0 +1,18 @@
+## to updated automatically the package database every time a package is
+## added or removed.
+## preinstall and postremove for every forge package should create the flag
+
+# global package directory
+packages_dir=stat("/usr/share/octave/packages");
+
+# if no package directory, we remove database
+# otherwise we rebuild
+if (isempty(packages_dir))
+ unlink("/usr/share/octave/octave_packages");
+else
+ pkg rebuild -noauto -global
+ pkg list
+endif
+
+# removing package list rebuild flag
+unlink("/var/lib/octave/update.flag")
--- origsrc/octave-4.0.0/CYGWIN-PATCHES/zp_octave_finish.dash 1970-01-01 01:00:00.000000000 +0100
+++ CYGWIN-PATCHES/zp_octave_finish.dash 2015-06-01 22:37:28.000000000 +0200
@@ -0,0 +1,10 @@
+#!/bin/dash
+# only update if flag exists
+# PATH must include lapack directory
+# octave doesn't like a closed input stream so we use "< /dev/null"
+
+if [ -f /var/lib/octave/update.flag ]
+then
+ export PATH=/usr/bin:/bin:/usr/lib/lapack
+ /usr/bin/octave-cli /var/lib/octave/update_packages_list < /dev/null > /var/lib/octave/update.log 2>&1
+fi
[-- Attachment #4: round6a.m --]
[-- Type: text/plain, Size: 243 bytes --]
%!test
%! f = tempname ();
%! fid = fopen (f, "w+");
%! fprintf (fid, "1\n2\n3\n4\n5\n6");
%! fseek (fid, 0, "bof");
%! c = textscan (fid, "%f %f", 2);
%! E = feof (fid);
%! fclose (fid);
%! unlink (f);
%! assert (c, {1, 2});
%! assert (! E);
[-- Attachment #5: round6b.m --]
[-- Type: text/plain, Size: 219 bytes --]
%!test
%! f = tempname ();
%! fid = fopen (f, "w+");
%! fprintf (fid, "1\r\n2\r3\n4\r\n5\n6");
%! fseek (fid, 0, "bof");
%! c = textscan (fid, "%f %f", 4);
%! fclose (fid);
%! unlink (f);
%! assert (c, {[1;3], [2;4]});
[-- Attachment #6: Type: text/plain, Size: 219 bytes --]
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
next reply other threads:[~2020-01-25 16:55 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-25 16:55 Marco Atzeri [this message]
2020-01-25 18:15 ` Brian Inglis
2020-01-27 6:54 ` Marco Atzeri
2020-01-25 20:36 ` Achim Gratz
2020-01-26 6:58 ` Marco Atzeri
2020-01-26 8:05 ` ASSI
2020-01-26 8:38 ` Marco Atzeri
2020-01-27 6:45 ` Marco Atzeri
2020-01-27 11:33 ` Takashi Yano
2020-01-28 6:41 ` Marco Atzeri
2020-01-28 14:55 ` Takashi Yano
2020-01-29 9:44 ` Corinna Vinschen
2020-01-29 12:19 ` Marco Atzeri
2020-01-29 13:46 ` Takashi Yano
2020-01-29 15:11 ` Takashi Yano
2020-01-29 15:32 ` Corinna Vinschen
2020-01-29 15:34 ` Corinna Vinschen
2020-01-29 16:08 ` Takashi Yano
2020-01-29 17:57 ` Corinna Vinschen
2020-01-30 21:05 ` Brian Inglis
2020-01-30 21:34 ` Marco Atzeri
2020-01-28 17:26 ` ASSI
2020-01-28 20:04 ` Marco Atzeri
2020-01-28 20:21 ` Achim Gratz
2020-01-26 2:42 ` Takashi Yano
2020-01-26 5:11 ` Takashi Yano
2020-01-26 10:24 ` Marco Atzeri
2020-01-26 10:31 ` Takashi Yano
2020-01-29 0:03 ` Hans-Bernhard Bröker
2020-01-29 0:39 ` Hans-Bernhard Bröker
2020-01-29 5:10 ` Marco Atzeri
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2904b4fa-6349-bd3e-c4ff-4b32a0bb3838@gmail.com \
--to=marco.atzeri@gmail.com \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).