Closed akdjka closed 1 year ago
hummm ....
Thank you @akdjka,
We appreciated that you submitted your bug report: it was helpful.
Please try the top of the master branch commit 5acd67c704ac8e5d78b58e3d8d7956008f2bb369
If you find another problem, please submit an updated bug report.
Please NOTE: Now if you run:
$ make debug
The output is captured into the file called debug.out
. Please attach that file
when submitting an updated bug report.
Thank you!
The issue persists in https://github.com/lcn2/calc/commit/5acd67c704ac8e5d78b58e3d8d7956008f2bb369, with a slightly different error. debug.log
Thanks you very much @akdjka for your most recent debug.log. It was very helpful!
With commit 5b2983f421fdd032d449b0af7d1438f7e0a25605 we have moved towards better support for musl libc under gentoo.
We plan to address a technical issue with file positioning (this is related to who file.c
filed to compile for you) in calc. Calc treats file position as an integer numeric value, which is technically a no-no. Nevertheless, for historic reasons calc treats file positions using integer numeric values, and as such calc has to make use of the implementation defined fpos_t
type in non-standard ways.
The implementation of musl libc has a different implementation of the fpos_t
type. This combined with calc treating file positions using integer numeric values means we have to accommodate how musl libc uses fpos_t
. We plan to address this very soon.
Please try the top of the master branch under musl libc on gentoo. If you find another problem, please submit an updated bug report with a new debug.log
file.
Thanks for your help!
Calc compiles and works on my system now. :) Thank you!
Calc compiles and works on my system now. :) Thank you!
Yea! Thanks @akdjka !
QUESTION: Does it pass make chk
?
If it does pass for you, we will roll out the code now as calc version 2.14.1.2.
We ask that this bug be left open for a bit longer. We are working on better fix that will make musl libc happier AND will better handle other libc implementations of fpos_t
as well. This will become the basis of calc version 2.14.2.0.
So you don't mind testing that version when it comes out, we would appreciate it.
Unfortunately, it fails.
➜ calc make chk
CALCPATH=./cal LD_LIBRARY_PATH=. DYLD_LIBRARY_PATH=. CALCHELP=./help CALCCUSTOMHELP=./custom ./calc -d -q read regress 2>&1 | awk -f check.awk
4600: Beginning test_fileop
4601: ttest(0,0): passed
4602: stest(): failed
**** search(f, "and") != 10 failed
4603: ttest(1,1): failed
**** Failure 1 for file size
4604: stest(): failed
**** search(f, "and") != 10 failed
4605: ttest(2,2): failed
**** Failure 1 for file size
4606: stest(): failed
**** search(f, "and") != 10 failed
4607: ttest(3,3): failed
**** Failure 1 for file size
4608: stest(): failed
**** search(f, "and") != 10 failed
4609: ttest(4,4): failed
**** Failure 1 for file size
4610: stest(): failed
**** search(f, "and") != 10 failed
4611: ttest(5,5): failed
**** Failure 1 for file size
4612: stest(): failed
**** search(f, "and") != 10 failed
4613: ttest(6,6): failed
**** Failure 1 for file size
4614: stest(): failed
**** search(f, "and") != 10 failed
4615: ttest(7,7): failed
**** Failure 1 for file size
4616: stest(): failed
**** search(f, "and") != 10 failed
4617: ttest(8,8): failed
**** Failure 1 for file size
4618: stest(): failed
**** fopen("junk4600", "wb") failed
4619: ttest(9,9): failed
**** Failure 1 for file size
4620: stest(): failed
**** fopen("junk4600", "wb") failed
4621: Ending test_fileop
4700: Beginning test_charset
**** errcount:182 > ecnt:159
4701: "\a" == char(7)
4702: "\v" == char(11)
4703: "\e" == char(27)
5000: Beginning test_filesearch
5001: x = rm("-f", "junk5000")
5002: f = fopen("junk5000", "w")
**** Unable to open "junk5000" for writing
5100: Beginning test_newdecl
5101: test5100(1)
**** errcount:183 > ecnt:182
5102: a5100 == 0
5103: b5100 == 2
5104: test5100(1)
5927: test unused
5928: test unused
5929: test unused
**** errcount:190 > ecnt:187
5930: isassoc(loc) == 0
5931: isassoc(a) == 1
5932: isassoc(ofd) == 0
6079: test unused
6080: iserror(loc) == 0
6081: iserror(a) == 0
**** Non-true result (0): 6082: iserror(ofd) == 0
**** Non-true result (0): 6083: iserror(cfd) == 0
6084: iserror(blk) == 0
6085: iserror(nblk) == 0
6086: iserror(cfg) == 0
6139: test unused
6140: isfile(loc) == 0
6141: isfile(a) == 0
**** Non-true result (0): 6142: isfile(ofd) == 1
**** Non-true result (0): 6143: isfile(cfd) == 1
6144: isfile(blk) == 0
6145: isfile(nblk) == 0
6146: isfile(cfg) == 0
6700: Beginning test_blk
6701: A = blk(20);
**** errcount:191 > ecnt:190
6702: size(A) == 20
6703: sizeof(A) == 256
6704: B = A;
6822: C == A
6823: fs = fopen("junk6800", "w+");
6824: blkcpy(fs, A);
**** errcount:193 > ecnt:191
**** Non-true result (0): 6825: size(f) == 5
6826: blkcpy(B = blk(), fs);
**** errcount:194 > ecnt:193
**** Non-true result (0): 6827: B == A
6828: blkcpy(fs, A, ,100);
**** errcount:195 > ecnt:194
**** Non-true result (0): 6829: size(f) == 105
6830: blkcpy(C = blk(), fs,2,,100)
**** errcount:196 > ecnt:195
**** Non-true result (0): 6831: C == (blk() = {1,2}
6832: A = blk();
6833: blkcpy(A, "blk6800");
6834: size(A) == 9
6900: Beginning test_name
6901: x = rm("-f", "junk6900")
6902: f = fopen("junk6900", "w")
**** errcount:199 > ecnt:196
**** Non-true result (0): 6903: name(f) == "junk6900"
6904: fclose(f)
**** errcount:200 > ecnt:199
6905: name(f) == null()
6906: A = blk("blk6900")
6907: name(A) == "blk6900"
7002: B = blk();
7003: copy("abc yz", A);
7004: copy("defg", B);
**** errcount:201 > ecnt:200
7005: strprintf("%s", A) == "abc yz"
7006: strprintf("%s", A[2]) == "c yz"
7007: strprintf("%s", A[7]) == ""
9995: freeredc()
9996: freestatics()
**** 21 error(s) found \/++\/
9998: freeglobals()
9999: Ending regression tests
make: *** [Makefile:4684: chk] Error 1
Unfortunately, it fails.
➜ calc make chk CALCPATH=./cal LD_LIBRARY_PATH=. DYLD_LIBRARY_PATH=. CALCHELP=./help CALCCUSTOMHELP=./custom ./calc -d -q read regress 2>&1 | awk -f check.awk 4600: Beginning test_fileop 4601: ttest(0,0): passed 4602: stest(): failed **** search(f, "and") != 10 failed 4603: ttest(1,1): failed **** Failure 1 for file size 4604: stest(): failed **** search(f, "and") != 10 failed 4605: ttest(2,2): failed **** Failure 1 for file size 4606: stest(): failed **** search(f, "and") != 10 failed 4607: ttest(3,3): failed **** Failure 1 for file size 4608: stest(): failed **** search(f, "and") != 10 failed 4609: ttest(4,4): failed **** Failure 1 for file size 4610: stest(): failed **** search(f, "and") != 10 failed 4611: ttest(5,5): failed **** Failure 1 for file size 4612: stest(): failed **** search(f, "and") != 10 failed 4613: ttest(6,6): failed **** Failure 1 for file size 4614: stest(): failed **** search(f, "and") != 10 failed 4615: ttest(7,7): failed **** Failure 1 for file size 4616: stest(): failed **** search(f, "and") != 10 failed 4617: ttest(8,8): failed **** Failure 1 for file size 4618: stest(): failed **** fopen("junk4600", "wb") failed 4619: ttest(9,9): failed **** Failure 1 for file size 4620: stest(): failed **** fopen("junk4600", "wb") failed 4621: Ending test_fileop 4700: Beginning test_charset **** errcount:182 > ecnt:159 4701: "\a" == char(7) 4702: "\v" == char(11) 4703: "\e" == char(27) 5000: Beginning test_filesearch 5001: x = rm("-f", "junk5000") 5002: f = fopen("junk5000", "w") **** Unable to open "junk5000" for writing 5100: Beginning test_newdecl 5101: test5100(1) **** errcount:183 > ecnt:182 5102: a5100 == 0 5103: b5100 == 2 5104: test5100(1) 5927: test unused 5928: test unused 5929: test unused **** errcount:190 > ecnt:187 5930: isassoc(loc) == 0 5931: isassoc(a) == 1 5932: isassoc(ofd) == 0 6079: test unused 6080: iserror(loc) == 0 6081: iserror(a) == 0 **** Non-true result (0): 6082: iserror(ofd) == 0 **** Non-true result (0): 6083: iserror(cfd) == 0 6084: iserror(blk) == 0 6085: iserror(nblk) == 0 6086: iserror(cfg) == 0 6139: test unused 6140: isfile(loc) == 0 6141: isfile(a) == 0 **** Non-true result (0): 6142: isfile(ofd) == 1 **** Non-true result (0): 6143: isfile(cfd) == 1 6144: isfile(blk) == 0 6145: isfile(nblk) == 0 6146: isfile(cfg) == 0 6700: Beginning test_blk 6701: A = blk(20); **** errcount:191 > ecnt:190 6702: size(A) == 20 6703: sizeof(A) == 256 6704: B = A; 6822: C == A 6823: fs = fopen("junk6800", "w+"); 6824: blkcpy(fs, A); **** errcount:193 > ecnt:191 **** Non-true result (0): 6825: size(f) == 5 6826: blkcpy(B = blk(), fs); **** errcount:194 > ecnt:193 **** Non-true result (0): 6827: B == A 6828: blkcpy(fs, A, ,100); **** errcount:195 > ecnt:194 **** Non-true result (0): 6829: size(f) == 105 6830: blkcpy(C = blk(), fs,2,,100) **** errcount:196 > ecnt:195 **** Non-true result (0): 6831: C == (blk() = {1,2} 6832: A = blk(); 6833: blkcpy(A, "blk6800"); 6834: size(A) == 9 6900: Beginning test_name 6901: x = rm("-f", "junk6900") 6902: f = fopen("junk6900", "w") **** errcount:199 > ecnt:196 **** Non-true result (0): 6903: name(f) == "junk6900" 6904: fclose(f) **** errcount:200 > ecnt:199 6905: name(f) == null() 6906: A = blk("blk6900") 6907: name(A) == "blk6900" 7002: B = blk(); 7003: copy("abc yz", A); 7004: copy("defg", B); **** errcount:201 > ecnt:200 7005: strprintf("%s", A) == "abc yz" 7006: strprintf("%s", A[2]) == "c yz" 7007: strprintf("%s", A[7]) == "" 9995: freeredc() 9996: freestatics() **** 21 error(s) found \/++\/ 9998: freeglobals() 9999: Ending regression tests make: *** [Makefile:4684: chk] Error 1
This is probably due to the previously mentioned fpos_t
issues that we plan to address in the next version of calc.
Just to let you know, @akdjka we are experiencing Internet connectivity problems that may last through Tuesday, for some 24 hour value of Tuesday :), and thus it may be several days before we can address your recent information.
Thank you for updating us, and we hope to, when Internet services restored, get back to your issue soon. Sorry (tm Canada 🇨🇦) for the inconvenience and thanks for your patience.
Just an update, @akdjka
We will make this a priority .. although right now we have a regional internet service outage .. this reply is being send thru a satellite phone ($$$-ive). Nevertheless we wanted to let you know that we will address this issue, work offline on the matter, and when our server is restored (in a few days is the ETA) we will get back to you.
Thank you. Still, calc actually seems to be working for me. Since there are probably few people being blocked by it, I don't think it deserves being a high priority.
It turns out that a new issue #63 is related to this issue (see comment 1336220653).
We plan to address this musl libc / fpos_t / filepos2z()&z2filepos()` next, as part of our calc version 2.14.2.0 release and as part of fixing this bug. As such we wish to keep this bug report an open priority.
This issue was completed back in 2022 Dec.
Calc bug report template version: 1.2 2022-02-24
Describe the bug I tried to install calc on my gentoo. Build failed, I notice a long-standing bug: https://bugs.gentoo.org/717694 So I downloaded the latest calc from master and tried to compile. It failed the same way.
To Reproduce Download the latest git variant of calc (3e4391e), make. There is an error:
Attach make debug output
debug.log
Execution environment (please complete the following information):
OS: Gentoo Linux with musl and clang