Re: [ITP] libbacktrace

Jon Turney via Cygwin-apps <[email protected]> Mon, 3 Aug 2026 14:29:49 +0100
Newsgroups gmane.os.cygwin.applications
Message-ID <[email protected]>
On 24/07/2026 14:29, Hamish McIntyre-Bhatty via Cygwin-apps wrote:
> Hi there,
> 
> Recently, I've managed to build a test package for wxWidgets 3.2, and 
> one of the things preventing me from testing it properly at the moment, 
> seeing as the test suite won't compile, is not being able to build 
> wxPython, where I could use the wxPython demo to test manually. As such, 
> I decided to start work on packaging libbacktrace, which is a dependency 
> of wxStackWalker, which newer versions of wxPython require.
> 
> I've successfully created a cygport file and built test packages, but 
> there's something wrong: even though I've explicitely disabled building 
> the static library and enabled the shared one, only the static library 
> seems to be being built (the file with the .a extension is a static 
> library right?). Also, I can't seem to run the tests, as they fail with 

I suspect you have a warning from libtool somewhere saying something 
about how it can't (or won't) build a shared library because of 
undefined symbols.

What this means practically is that libtool won't even try to build PE 
shared libraries unless its -no-undefined flag is given (to assure it 
that, yes, there really are no undefined symbols).

> a compile error, which I have yet to dig into further. I also heard 
> somewhere, I think from Debian 13's packages, that the tests are broken 
> on shared library builds anyway.
> 
> I have attached the cygport file, and there has been a successful CI 
> build (ID 12144 on playground) of the packages, so perhaps with some 
> help we can get this buttoned up soon? I'm keen to get newer versions of 
> wxPython working.

I added this to your packages.

  A few comments:

> VERSION=1.0
[...]
> SRC_URI="https://github.com/ianlancetaylor/libbacktrace/archive/refs/heads/master.zip"
> SRC_DIR="libbacktrace-master"

This is not the best. Picking whatever is current master version and 
saying that's same as what's tagged '1.0' isn't true.

Since upstream has a "no tagged releases" policy, it's probably best to 
include the commit date (and maybe git hash) into the version.

> src_compile() {
> 	pushd ${S}
> 	cygconf --disable-static --enable-shared
> 	cygmake
> 	popd
> }

Since this supports building in ${B}, this can all be removed and just 
use the default src_compile with CYGCONF_ARGS=" --disable-static 
--enable-shared". (And we shouldn't even need that if building a shared 
library work).


I did have a poke at building this library about six months ago, after 
you mentioned this was blocking you. I've pushed where I got to at:

https://github.com/jon-turney/libbacktrace-cygport

I'm afraid I forget why I stopped: Maybe I just got distracted? I think 
the tests didn't pass? Or maybe I didn't have anything to test it with?