Closed dvzrv closed 1 year ago
??? Bit surprised, as I did the lv2lint check (OK, with the rusty 0.10.x). No "fail". And the symbols are stripped if you call make
. Unless: you compile with "-g" in your CXXFLAGS.
And the name of the symbols ("basic_string", "codecvt") sound like they come from somewhere else.
Well, I'm testing right after the build, as otherwise the files are already installed to the directory structure which is used to create the package contents.
By default we are not creating debug packages (yet), but this will happen in the future.
When installing the built file to the system (using the package), I get the same error:
lv2lint -Mpack "https://www.jahnichen.de/plugins/lv2/BChoppr"
lv2lint 0.16.2
Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
Released under Artistic License 2.0 by Open Music Kontrollers
<https://www.jahnichen.de/plugins/lv2/BChoppr>
[WARN] Plugin Author Email
foaf:mbox not found
seeAlso: <http://lv2plug.in/ns/lv2core#project>
<https://www.jahnichen.de/plugins/lv2/BChoppr#gui>
[FAIL] UI Symbols
binary exports superfluous globally visible symbols:
* _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
* _ZTSSt12codecvt_utf8IDiLm1114111ELSt12codecvt_mode0EE
seeAlso: <http://lv2plug.in/ns/lv2core#binary>
This is with
Running lv2lint against the previously built 1.10.10 does not fail:
lv2lint -Mpack "https://www.jahnichen.de/plugins/lv2/BChoppr"
lv2lint 0.16.2
Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
Released under Artistic License 2.0 by Open Music Kontrollers
<https://www.jahnichen.de/plugins/lv2/BChoppr>
[WARN] Plugin Author Email
foaf:mbox not found
seeAlso: <http://lv2plug.in/ns/lv2core#project>
Rebuilding 1.10.10 using the above mentioned tooling leads to a failing lv2lint test as well though:
lv2lint 0.16.2
Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
Released under Artistic License 2.0 by Open Music Kontrollers
<https://www.jahnichen.de/plugins/lv2/BChoppr>
[WARN] Plugin Author Email
foaf:mbox not found
seeAlso: <http://lv2plug.in/ns/lv2core#project>
<https://www.jahnichen.de/plugins/lv2/BChoppr#gui>
[FAIL] UI Symbols
binary exports superfluous globally visible symbols:
* _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
* _ZTSSt12codecvt_utf8IDiLm1114111ELSt12codecvt_mode0EE
seeAlso: <http://lv2plug.in/ns/lv2core#binary>
Below are the packages (and versions) that were used in the build environment when building the 1.10.10 package, which currently tests okay:
{
"builddate": 1631310602,
"builddir": "/build",
"buildenv": [
"!distcc",
"color",
"!ccache",
"check",
"!sign"
],
"buildtool": "makepkg",
"buildtoolver": "6.0.1",
"format_": 2,
"installed": [
"acl-2.3.1-1-x86_64",
"alsa-lib-1.2.5.1-3-x86_64",
"alsa-topology-conf-1.2.5.1-1-any",
"alsa-ucm-conf-1.2.5.1-1-any",
"aom-3.1.2-2-x86_64",
"archlinux-keyring-20210902-1-any",
"ardour-6.9-1-x86_64",
"argon2-20190702-3-x86_64",
"atk-2.36.0-1-x86_64",
"atkmm-2.28.2-2-x86_64",
"attr-2.5.1-1-x86_64",
"aubio-0.4.9-9-x86_64",
"audit-3.0.4-1-x86_64",
"autoconf-2.71-1-any",
"automake-1.16.4-1-any",
"avahi-0.8+22+gfd482a7-1-x86_64",
"bash-5.1.008-1-x86_64",
"binutils-2.36.1-3-x86_64",
"bison-3.7.6-1-x86_64",
"brotli-1.0.9-4-x86_64",
"bzip2-1.0.8-4-x86_64",
"ca-certificates-20210603-1-any",
"ca-certificates-mozilla-3.70-1-x86_64",
"ca-certificates-utils-20210603-1-any",
"cairo-1.17.4-5-x86_64",
"cairomm-1.14.3-2-x86_64",
"celt-0.11.3-4-x86_64",
"coreutils-8.32-1-x86_64",
"cryptsetup-2.4.0-1-x86_64",
"curl-7.78.0-1-x86_64",
"dav1d-0.9.2-1-x86_64",
"db-5.3.28-5-x86_64",
"dbus-1.12.20-1-x86_64",
"desktop-file-utils-0.26-1-x86_64",
"device-mapper-2.03.13-1-x86_64",
"diffutils-3.8-1-x86_64",
"dnssec-anchors-20190629-3-any",
"e2fsprogs-1.46.4-1-x86_64",
"elfutils-0.185-1-x86_64",
"expat-2.4.1-1-x86_64",
"fakeroot-1.25.3-2-x86_64",
"ffmpeg-2:4.4-4-x86_64",
"fftw-3.3.9-1-x86_64",
"file-5.40-5-x86_64",
"filesystem-2021.05.31-1-x86_64",
"findutils-4.8.0-1-x86_64",
"flac-1.3.3-3-x86_64",
"flex-2.6.4-3-x86_64",
"fluidsynth-2.2.2-1-x86_64",
"fontconfig-2:2.13.94-1-x86_64",
"freetype2-2.11.0-3-x86_64",
"fribidi-1.0.10-1-x86_64",
"gawk-5.1.0-1-x86_64",
"gc-8.0.4-4-x86_64",
"gcc-11.1.0-1-x86_64",
"gcc-libs-11.1.0-1-x86_64",
"gdbm-1.21-1-x86_64",
"gdk-pixbuf2-2.42.6-2-x86_64",
"gettext-0.21-1-x86_64",
"giflib-5.2.1-2-x86_64",
"glib2-2.68.4-1-x86_64",
"glibc-2.33-5-x86_64",
"glibmm-2.66.1-2-x86_64",
"gmp-6.2.1-1-x86_64",
"gnupg-2.2.29-1-x86_64",
"gnutls-3.7.2-2-x86_64",
"gpgme-1.16.0-1-x86_64",
"graphite-1:1.3.14-1-x86_64",
"grep-3.6-1-x86_64",
"groff-1.22.4-6-x86_64",
"gsm-1.0.19-1-x86_64",
"gtk-update-icon-cache-1:4.4.0-1-x86_64",
"gtk2-2.24.33-2-x86_64",
"gtkmm-1:2.24.5-4-x86_64",
"guile-2.2.7-1-x86_64",
"gzip-1.11-1-x86_64",
"harfbuzz-2.9.1-1-x86_64",
"hicolor-icon-theme-0.17-2-any",
"hidapi-0.10.1-1-x86_64",
"hwids-20210613-1-any",
"hwloc-2.5.0-1-x86_64",
"iana-etc-20210728-1-any",
"icu-69.1-1-x86_64",
"iptables-1:1.8.7-1-x86_64",
"jack2-1.9.19-2-x86_64",
"json-c-0.15-1-x86_64",
"kbd-2.4.0-2-x86_64",
"keyutils-1.6.3-1-x86_64",
"kmod-29-1-x86_64",
"krb5-1.19.2-1-x86_64",
"l-smash-2.14.5-2-x86_64",
"lame-3.100-3-x86_64",
"lcms2-2.12-1-x86_64",
"ldns-1.7.1-2-x86_64",
"less-1:590-1-x86_64",
"libarchive-3.5.2-1-x86_64",
"libass-0.15.1-1-x86_64",
"libassuan-2.5.5-1-x86_64",
"libasyncns-0.8+3+g68cd5af-3-x86_64",
"libavc1394-0.5.4-4-x86_64",
"libbluray-1.3.0-1-x86_64",
"libcap-2.56-1-x86_64",
"libcap-ng-0.8.2-3-x86_64",
"libcroco-0.6.13-2-x86_64",
"libcups-1:2.3.3op2-3-x86_64",
"libdaemon-0.14-5-x86_64",
"libdatrie-0.2.13-1-x86_64",
"libdrm-2.4.107-1-x86_64",
"libedit-20210714_3.1-1-x86_64",
"libelf-0.185-1-x86_64",
"libev-4.33-1-x86_64",
"libevent-2.1.12-1-x86_64",
"libffi-3.3-4-x86_64",
"libgcrypt-1.9.4-1-x86_64",
"libglvnd-1.3.3-1-x86_64",
"libgpg-error-1.42-1-x86_64",
"libibus-1.5.25-3-x86_64",
"libice-1.0.10-3-x86_64",
"libidn2-2.3.2-1-x86_64",
"libiec61883-1.2.0-6-x86_64",
"libinstpatch-1.1.6-1-x86_64",
"libjpeg-turbo-2.1.1-1-x86_64",
"libksba-1.6.0-1-x86_64",
"libldap-2.4.59-2-x86_64",
"liblo-1:0.31-1-x86_64",
"liblrdf-0.6.1-4-x86_64",
"libltc-1.3.1-3-x86_64",
"libmfx-21.3.2-1-x86_64",
"libmnl-1.0.4-3-x86_64",
"libmodplug-0.8.9.0-3-x86_64",
"libmpc-1.2.1-1-x86_64",
"libnetfilter_conntrack-1.0.8-1-x86_64",
"libnfnetlink-1.0.1-4-x86_64",
"libnftnl-1.2.0-1-x86_64",
"libnghttp2-1.44.0-1-x86_64",
"libnl-3.5.0-3-x86_64",
"libnsl-2.0.0-1-x86_64",
"libogg-1.3.5-1-x86_64",
"libomxil-bellagio-0.9.3-3-x86_64",
"libp11-kit-0.24.0-1-x86_64",
"libpcap-1.10.1-1-x86_64",
"libpciaccess-0.16-2-x86_64",
"libpng-1.6.37-3-x86_64",
"libpsl-0.21.1-1-x86_64",
"libpulse-15.0-1-x86_64",
"libraw1394-2.1.2-3-x86_64",
"librsvg-2:2.50.7-1-x86_64",
"libsamplerate-0.2.2-1-x86_64",
"libsasl-2.1.27-3-x86_64",
"libseccomp-2.5.2-1-x86_64",
"libsecret-0.20.4-1-x86_64",
"libsigc++-2.10.7-2-x86_64",
"libsm-1.2.3-2-x86_64",
"libsndfile-1.0.31-1-x86_64",
"libsoxr-0.1.3-2-x86_64",
"libssh-0.9.6-1-x86_64",
"libssh2-1.9.0-3-x86_64",
"libtasn1-4.17.0-1-x86_64",
"libthai-0.1.28-2-x86_64",
"libtheora-1.1.1-5-x86_64",
"libtiff-4.3.0-1-x86_64",
"libtirpc-1.3.2-1-x86_64",
"libtool-2.4.6+42+gb88cebd5-16-x86_64",
"libunistring-0.9.10-3-x86_64",
"libunwind-1.5.0-1-x86_64",
"libusb-1.0.24-2-x86_64",
"libuv-1.42.0-1-x86_64",
"libva-2.12.0-1-x86_64",
"libvdpau-1.4-1-x86_64",
"libvorbis-1.3.7-2-x86_64",
"libvpx-1.10.0-1-x86_64",
"libwebp-1.2.1-1-x86_64",
"libwebsockets-4.2.2-1-x86_64",
"libx11-1.7.2-1-x86_64",
"libxau-1.0.9-3-x86_64",
"libxcb-1.14-1-x86_64",
"libxcomposite-0.4.5-3-x86_64",
"libxcrypt-4.4.25-1-x86_64",
"libxcursor-1.2.0-2-x86_64",
"libxdamage-1.1.5-3-x86_64",
"libxdmcp-1.1.3-3-x86_64",
"libxext-1.3.4-3-x86_64",
"libxfixes-6.0.0-1-x86_64",
"libxft-2.3.4-1-x86_64",
"libxi-1.7.10-3-x86_64",
"libxinerama-1.1.4-3-x86_64",
"libxml2-2.9.12-2-x86_64",
"libxrandr-1.5.2-3-x86_64",
"libxrender-0.9.10-4-x86_64",
"libxshmfence-1.3-2-x86_64",
"libxslt-1.1.34-6-x86_64",
"libxv-1.0.11-4-x86_64",
"libxxf86vm-1.1.4-4-x86_64",
"lilv-0.24.12-1-x86_64",
"linux-api-headers-5.12.3-1-any",
"llvm-libs-12.0.1-4-x86_64",
"lm_sensors-1:3.6.0.r41.g31d1f125-1-x86_64",
"lv2-1.18.2-1-x86_64",
"lv2lint-0.14.0-1-x86_64",
"lz4-1:1.9.3-2-x86_64",
"lzo-2.10-3-x86_64",
"m4-1.4.19-1-x86_64",
"make-4.3-3-x86_64",
"mesa-21.2.1-1-x86_64",
"mpfr-4.1.0.p13-1-x86_64",
"ncurses-6.2-2-x86_64",
"nettle-3.7.3-1-x86_64",
"npth-1.6-3-x86_64",
"opencore-amr-0.1.5-5-x86_64",
"openjpeg2-2.4.0-1-x86_64",
"openmpi-4.1.1-2-x86_64",
"openssh-8.7p1-1-x86_64",
"openssl-1.1.1.l-1-x86_64",
"opus-1.3.1-2-x86_64",
"p11-kit-0.24.0-1-x86_64",
"pacman-6.0.1-1-x86_64",
"pacman-mirrorlist-20210822-1-any",
"pam-1.5.1-1-x86_64",
"pambase-20210605-2-any",
"pango-1:1.48.9-2-x86_64",
"pangomm-2.46.1-2-x86_64",
"patch-2.7.6-8-x86_64",
"pcre-8.45-1-x86_64",
"pcre2-10.37-1-x86_64",
"perl-5.34.0-2-x86_64",
"pinentry-1.1.1-1-x86_64",
"pixman-0.40.0-1-x86_64",
"pkgconf-1.7.3-1-x86_64",
"popt-1.18-1-x86_64",
"portaudio-1:19.7.0-1-x86_64",
"raptor-2.0.15-16-x86_64",
"rav1e-0.4.1-1-x86_64",
"readline-8.1.001-1-x86_64",
"rubberband-1.9.2-1-x86_64",
"sdl2-2.0.16-2-x86_64",
"sed-4.8-1-x86_64",
"serd-0.30.10-1-x86_64",
"shadow-4.8.1-4-x86_64",
"shared-mime-info-2.0+57+gc1d1c70-1-x86_64",
"sord-0.16.8-1-x86_64",
"soundtouch-2.3.0-1-x86_64",
"speex-1.2.0-3-x86_64",
"speexdsp-1.2.0-2-x86_64",
"sqlite-3.36.0-1-x86_64",
"sratom-0.6.8-1-x86_64",
"srt-1.4.3-1-x86_64",
"sudo-1.9.7.p2-1-x86_64",
"suil-0.10.10-1-x86_64",
"svt-av1-0.8.7-1-x86_64",
"sysfsutils-2.1.1-1-x86_64",
"systemd-249.4-1-x86_64",
"systemd-libs-249.4-1-x86_64",
"taglib-1.12-1-x86_64",
"tar-1.34-1-x86_64",
"texinfo-6.8-2-x86_64",
"tzdata-2021a-2-x86_64",
"util-linux-2.37.2-1-x86_64",
"util-linux-libs-2.37.2-1-x86_64",
"v4l-utils-1.20.0-1-x86_64",
"vamp-plugin-sdk-2.10.0-1-x86_64",
"vid.stab-1.1-3-x86_64",
"vmaf-1.5.3-1-x86_64",
"vulkan-icd-loader-1.2.190-1-x86_64",
"wayland-1.19.0-1-x86_64",
"which-2.21-5-x86_64",
"x264-3:0.161.r3039.544c61f-1-x86_64",
"x265-3.5-1-x86_64",
"xcb-proto-1.14.1-3-any",
"xorgproto-2021.4-1-any",
"xvidcore-1.3.7-2-x86_64",
"xz-5.2.5-1-x86_64",
"zimg-3.0.3-1-x86_64",
"zita-alsa-pcmi-0.3.2-3-x86_64",
"zita-resampler-1.8.0-1-x86_64",
"zlib-1:1.2.11-4-x86_64",
"zstd-1.5.0-1-x86_64"
],
"options": [
"strip",
"docs",
"!libtool",
"!staticlibs",
"emptydirs",
"zipman",
"purge",
"!debug"
],
"packager": "David Runge <dvzrv@archlinux.org>",
"pkgarch": "x86_64",
"pkgbase": "bchoppr",
"pkgbuild_sha256sum": "2249b488db757779b34b66d441f4c1c2b29e0b39c81fb34cd2b649a1e77e7cf6",
"pkgname": "bchoppr",
"pkgver": "1.10.10-1",
"startdir": "/startdir"
}
I guess the main offenders could be the updates to one of
"cairo-1.17.4-5-x86_64",
"gcc-11.1.0-1-x86_64",
"gcc-libs-11.1.0-1-x86_64",
"glibc-2.33-5-x86_64",
"libx11-1.7.2-1-x86_64",
I believe codecvt_utf8
is from gcc-libs (gcc).
Which compiler versions are you testing against?
As I believe this is likely an issue with lv2lint, I'll ping @ventosus here.
For the time being I'll use -s "*basic_string*" -s "*codecvt_utf8*"
to ignore these symbols.
I don't think its related to the libs as there weren't any additional includes in 1.12.0 compared to 1.10.10. No dramatic change in the C++ source code.
But there is a significant change in the makefile (if you use it). Version 1.10.10 contained targets with a strip command after the compiler calls which was always active. Thus, always no symbols. Even if compiled with "-g". A bit silly.
Version 1.12.0 now contains conditional targets. If there's no "-g" it creates targets with strip: https://github.com/sjaehn/BChoppr/blob/fa616d7906bb2ce02696582d8087183022319a27/makefile#L114-L131 but otherwise without: https://github.com/sjaehn/BChoppr/blob/fa616d7906bb2ce02696582d8087183022319a27/makefile#L132-L148
If you have got a "-g" in your "CXXFLAGS" you would also get the prompt "Build -g ...." instead of "Build ...".
Now the key question: did you use the provided makefile? Or your own build process?
Version 1.12.0 now contains conditional targets. If there's no "-g" it creates targets with strip:
I don't think that is the issue at all. As mentioned in https://github.com/sjaehn/BChoppr/issues/15#issuecomment-1320378850 and https://github.com/sjaehn/BChoppr/issues/15#issuecomment-1320386731 the version built against older gcc/glibc/etc. lints fine, but building 1.10.10 against the newer libs also makes lv2lint fail.
Now the key question: did you use the provided makefile? Or your own build process?
I'm using the build tooling you provide:
https://github.com/archlinux/svntogit-community/blob/121a38ac4646eca7998979f92a6531a8e1ebe404/trunk/PKGBUILD
FYI: The above mentioned rebuild and the previous package build of 1.10.10 happened without option=(debug)
(so without -g
). In the updated package (1.12.0) I am now also providing debug symbols in a separate package though.
We use these distribution flags: https://gitlab.archlinux.org/archlinux/devtools/-/blob/dca8f91d26239262dc865552b4e95d0e84e83365/config/makepkg/x86_64.conf#L43-47
Now I understand. So it looks like I can't do anything here. It's more a thing of lv2lint?
I close this issue as it doesn't seem to be causes by B.Choppr itself.
FTR, with 1.12.6 there are further globally visible symbols now and lv2lint fails even with ignoring the symbols:
lv2lint 0.16.2
Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
Released under Artistic License 2.0 by Open Music Kontrollers
<https://www.jahnichen.de/plugins/lv2/BChoppr>
[WARN] Plugin Author Email
foaf:mbox not found
seeAlso: <http://lv2plug.in/ns/lv2core#project>
<https://www.jahnichen.de/plugins/lv2/BChoppr#gui>
[FAIL] UI Symbols
binary exports superfluous globally visible symbols:
* puglFreeWorld
* puglSetEventFunc
* puglShow
* _ZNSt17_Function_handlerIFdRKdEPS2_E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation
* _ZNSt17_Function_handlerIFdRKdEPS2_E9_M_invokeERKSt9_Any_dataS1_
* puglGetNativeWindow
* puglHasFocus
* puglSetViewHint
* _ZTSPFdRKdE
* puglSetParentWindow
* ... there is more, but the rest is being truncated
seeAlso: <http://lv2plug.in/ns/lv2core#binary>
Re-opened this issue. Indeed, I can confirm. I'll check what went wrong.
Found the bug. In the previous versions, I used a fork of https://github.com/lv2/pugl with a modification to hide symbols via PUGL_API
(I struggled over https://github.com/sjaehn/BWidgets/blob/39fd42d4d8aa4194ad955c5d18520043c4b4b1ff/BWidgets/pugl/pugl/pugl.h#L30 already years ago, AFAIK falktx too. In the meantime drobilla allowed to predefine PUGL_API
). For the new B.Widgets, I jumped back to my fork but left the modifications.
Now I applied drobillas changes too and prededined PUGL_API
in the makefile to hide the pugl symbols. Now it works.
Hi! When trying to package 1.12.0 for Arch Linux, I ran into issues with lv2lint failing on globally visible UI symbols: