-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: