libpano13-2.9.22 release candidate rc2

43 views
Skip to first unread message

Bruno Postle

unread,
Aug 11, 2023, 3:12:30 AMAug 11
to Hugin ptx
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

libpano13 is the PanoTools library for panoramic imaging.

A libpano13-2.9.22 rc2 tarball has been uploaded to sourceforge, this is
a release candidate for testing that may become the final release:

https://sourceforge.net/projects/panotools/files/libpano13/libpano13-2.9.22/

This release should be binary compatible with previous versions - This means
that prebuilt Hugin executables should just work with this libpano13.

There have been some changes since rc1:

Replaced ShowScript and LaunchAndSendScript functions with non-functional
stubs. These functions are not used by libpano13 itself and have security
issues. Provide for now a stub with a message to STDOUT to keep the ABI
constant. They will be removed completely in the next version.

affc6830cdbe71c28d2731dcbf8dea2acda6d9ffd4609c6dbf3ba0c68440a8e3 libpano13-2.9.22_rc2.tar.gz

This rc2 release is equivalent to HG 923:61865cbe74ba

Here is the full ChangeLog since rc1 for more details:

2023-07-31 17:21 +0200 tmodes <tmodes> (61865cbe74ba [tip] <libpano13-2.9.22>)

* file.c, sys_ansi.c:
Replaced ShowScript and LauncAndSendScript functions with non-
functional stub

These function are not used by libpano itself and have security
issues. Provide for now a stub with a message to stdout to keep the
ABI constant.

They will be removed completety in the next version.
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQTmHdtnm+YlZTYl3RMWo6HAKPIIugUCZNXfUwAKCRAWo6HAKPII
ut6iAKCVk4BbiWIZkZW+lV6vAsTbsTBkSQCeOby0sLpyK1MJha8coe665gWfjQ8=
=HIHw
-----END PGP SIGNATURE-----

Robert Clausecker

unread,
Aug 11, 2023, 7:02:51 PMAug 11
to hugi...@googlegroups.com
Hi Bruno,

The RC builds fine, but there are some warnings you might want to check
out in the future:

/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/bmp.c:313:36: warning: taking the absolute value of unsigned
type 'uint32_t' (aka 'unsigned int') has no effect [-Wabsolute-value]
im->dataSize = im->bytesPerLine * abs(im->height);
^

/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/file.c:1743:30: warning: result of comparison of con
stant -1 with expression of type 'uint16_t' (aka 'unsigned short') is
always false [-Wtautological-constant-out-of-rang
e-compare]
if( chid[i*5 +k] == -1 ) // found an alpha channel
~~~~~~~~~~~~ ^ ~~

/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/PTcommon.c:528:52: warning: taking the absolute valu
e of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
x_jump = (y==0 || y==TrPtr->src->height || abs(y - TrPtr->src-
>height/2)<=5) ? 1 : TrPtr->src->width/2;
^

/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/resample.c:1265:24: warning: comparison of array 'bu
f' not equal to a null pointer is always true [-Wtautological-pointer-
compare]
while( !feof(fp) && buf != NULL ) {
^~~ ~~~~
/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/resample.c:1481:33: warning: initializing 'char *' with an
expression of type 'unsigned char *' converts between pointers to
integer types where one is of the unique plain
'char' type and the other is not [-Wpointer-sign]
char* ptr = &(dest[ coeff ]);
^ ~~~~~~~~~~~~~~~~
/usr/home/ports/fuz.ports/graphics/libpano13/work/libpano13-
2.9.22/resample.c:2465:33: warning: initializing 'char *' w
ith an expression of type 'unsigned char *' converts between pointers
to integer types where one is of the unique plain
'char' type and the other is not [-Wpointer-sign]
char* ptr = &(dest[ coeff ]);
^ ~~~~~~~~~~~~~~~~

Yours,
Robert Clausecker

Andreas Metzler

unread,
Aug 13, 2023, 5:45:34 AMAug 13
to hugi...@googlegroups.com
On 2023-08-11 Bruno Postle <br...@postle.net> wrote:
> libpano13 is the PanoTools library for panoramic imaging.

> A libpano13-2.9.22 rc2 tarball has been uploaded to sourceforge, this is
> a release candidate for testing that may become the final release:
[...]

Thank you, looks good. (Uploaded to Debian/unstable)

cu Andreas

--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

Jeff Welty

unread,
Aug 15, 2023, 7:37:46 PMAug 15
to hugi...@googlegroups.com
I just went through and cleaned up all the warnings on rc2 (thanks to @Robert Clausecker for pointing them out).

What I didn't clean up are the warnings for strncpy() and snprint() about truncation of strings.

There appear to be a couple of logical bugs in bmp.c and parser.c that got fixed as a result.   These bugs would probably be very rare to appear in actual practice.

Interested in a tarball?

Jeff

--
A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
---
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/ZNimNoOvuTrv3IP2%40argenau.bebt.de.

Andreas Metzler

unread,
Aug 16, 2023, 4:45:10 AMAug 16
to hugi...@googlegroups.com
On 2023-08-16 Jeff Welty <eljef...@gmail.com> wrote:
> I just went through and cleaned up all the warnings on rc2 (thanks to
> @Robert Clausecker for pointing them out).

> What I didn't clean up are the warnings for strncpy() and snprint() about
> truncation of strings.

> There appear to be a couple of logical bugs in bmp.c and parser.c that got
> fixed as a result. These bugs would probably be very rare to appear in
> actual practice.

> Interested in a tarball?
[...]

Hello,

A patch or merge-request would make more sense, wouldn't it?

cu Andreas

Bruno Postle

unread,
Aug 16, 2023, 8:56:21 AMAug 16
to hugin and other free panoramic software
Thanks everyone for testing.

Yes ideally fixes should be a mercurial merge request on sourceforge, but a diff/patch is nearly as good. A tarball is ok, but the first thing we would do is extract it to generate a diff - a diff has the advantage that you can see exactly what you are proposing to change, and not including debug cruft or unrelated formatting changes.

-- 
Bruno

Jeff Welty

unread,
Aug 16, 2023, 11:08:59 AMAug 16
to hugi...@googlegroups.com
I'll try the mercurial merge request on sourceforge (something new for me).

I was in the tarball mode because I use meld on two separate folders to track changes on a small project like this.

Jeff

--
A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
---
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+...@googlegroups.com.

Jeff Welty

unread,
Aug 16, 2023, 1:29:37 PMAug 16
to hugi...@googlegroups.com
I didn't see any tags for rc2 in mercurial, so I made this patch which gives changes I made against rc2 -- which I think will allow you better see the incremental changes I made.
I am using gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
---
Changes of note:
- I added more warnings for UNIX in CMakeLists.txt, you may or may not want to leave those in, or put them in a more appropriate place in the file.
- bmp.c -- I made some minor structural changes to handle the case where height in the bmp header is negative and not properly handled by the unsigned integers.  I didn't test it on a bmp image file.
- PTcommon.c -- here the call to nextWord at about line 874 was throwing a warning, to eliminate the warning I chose to pass a flag to the nextWord function itself in parser.c   It seems like overkill to me to eliminate the warning, but I didn't want to change the basic nextWord function in other ways.  Personally I think I'd keep the original nextWord logic and just live with the warning, knowing there is no logical bug.  If that's what you would like let me know and I'll restore it.

Other than that it's mostly initializing some variables, handling a few signed/unsigned conflicts, and simple reformatting of "if" statements to keep the compiler happy and make the code a bit more intuitive as you see it displayed.

I like to use #ifdef's to "comment out" large blocks of code that may have a use in the future.   You might prefer to just delete those sections of code...

Hope this is helpful,
Jeff
libpano13-2.9.22_rc2_fixed_warnings.patch

Bruno Postle

unread,
Sep 5, 2023, 6:54:10 PMSep 5
to hugin and other free panoramic software
Thanks Jeff, these look good to me but I'll defer to Thomas.

Unless anyone has any objections, I'll release rc2 as libpano-2.9.22.

-- 
Bruno

T. Modes

unread,
Sep 7, 2023, 11:22:10 AMSep 7
to hugin and other free panoramic software
I will look at the changes.
But that you put all changes into one big patch makes is difficult to test or comment on single issues.
But some comments:
* you are fixing the warning for a specific version of a specific compiler. Other compiles or even other versions the same compiler will throw warnings on different issues. So fixing all warnings for all compilers and all it version (especially for a platform independent way) is a lot of work with only little benefits.
* Your changes break the ABI again, this is something which we would prevent in this release.
* You did also white spaces changes and introduced a mixed indentation style.

Thomas

Jeff Welty

unread,
Sep 18, 2023, 8:23:40 PMSep 18
to hugi...@googlegroups.com
Hi Thomas,

I agree with all your comments.   I try to respect white space formatting/indenting conventions but must have missed something.   Some of the whitespace I added was simply to eliminate gcc warnings.

If you haven't used meld for comparing source code directories (and code changes file by file), I recommend you give it a try.   It's magic:

I have used it to compare projects as big as darktable.

Bruno & Thomas -- I think I'd just release rc2 as is.  Looks good to me.

Cheers,
Jeff

--
A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
---
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages