-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build breaks on arm64, armv7, i386: undefined reference to `resvg_parse_tree_from_data' #494
Comments
@yurivict thanks for bringing this to my attention. There is a very large change coming to As such, the issue here is that there are no build artifacts for that platform and architecture: $ cat resvg.go
// Package resvg is a wrapper around rust's [resvg] c-api crate.
//
// [resvg]: https://github.com/RazrFalcon/resvg
package resvg
/*
#cgo CFLAGS: -I${SRCDIR}/libresvg
#cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/libresvg/darwin_amd64 -lresvg -lm
#cgo darwin,arm64 LDFLAGS: -L${SRCDIR}/libresvg/darwin_arm64 -lresvg -lm
#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/libresvg/linux_amd64 -lresvg -lm
#cgo linux,arm64 LDFLAGS: -L${SRCDIR}/libresvg/linux_arm64 -lresvg -lm
#cgo linux,arm LDFLAGS: -L${SRCDIR}/libresvg/linux_arm -lresvg -lm
#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/libresvg/windows_amd64 -lresvg -lm -lkernel32 -ladvapi32 -lbcrypt -lntdll -luserenv -lws2_32
... As you can see, FreeBSD/NetBSD/etc. binaries are not available. I had tried to build the artifacts for FreeBSD, but was not able to properly do so for FreeBSD, NetBSD, Solaris, and the other *Nix's. If you'd like to give a shot at fixing the build scripts in Alternately, a pure Go SVG renderer would be equally welcome (this is said tongue-in-cheek, and meant to be a joke -- I don't really expect there to ever be a pure Go SVG renderer any time in the next decade). |
One other thing that I am likely to do before the full release of the chart rendering feature: is to add a build tag to completely disable charts/terminal graphics. However, I don't have an immediate ETA on when I'll be able to add that, but I'll make it a priority and try to get a point release out for |
libresvg is sourced from https://github.com/RazrFalcon/resvg, not from github.com/xo/resvg. I am not sure what's the difference. If, as you are saying, FreeBSD is simply not supported, how does the amd64 package build then? |
I assure you, as the primary author of I'm neither a Go expert, nor a FreeBSD expert, as such I have no idea how it's compiling for you. Maybe there's some kind of FreeBSD ELF compatibility that allows it to work with ELF built binaries. All I have is wild speculation on how it might be working. If you would like to track down what Go is using to compile/link against, I would suggest cloning the I spin up a FreeBSD VM and figure out how you're able to get it to compile, but I'm not sure I'll be able to do that any time soon. |
The FreeBSD port resvg-capi builds from a different repository: https://github.com/linebender/resvg |
I'm not the FreeBSD port maintainer for |
I am the FreeBSD port maintainer. -) That's why I am here.
Thank you. |
I personally neither appreciate nor need this new feature—anything graphical, anyway—as I use
|
The FreeBSD package fails to build on these architectures, but it builds fine on amd64.
sample log
The build uses the resvg-c-api-0.44.0_1 package that provides libresvg.a and libresvg.so
I verified that libresvg.a from the i386 package resvg-c-api-0.44.0_1 does contain resvg_parse_tree_from_data and other resvg_xx functions. But for some reason usql fails to use them.
Version: 0.19.12
The text was updated successfully, but these errors were encountered: