-
Notifications
You must be signed in to change notification settings - Fork 202
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
Make methods exported in shared libraries non-inline #880
Comments
+1 |
Just to explore the possibilities, why was the Removing the switch would also probably fix this particular issue, but I would like to know if it would be acceptable. |
Well that was a bit of digging. This was added in bfc1d99 . Unfortunately that was before we started using pull requests, so there isn't a comment history on what I was thinking. I can't find anything in my email either. Turning it off for me continues to work using clang-602.0.53 on OS X but that's not a guarantee it doesn't break somewhere else. I think I'd prefer to see a fix that either makes the necessary functions non-inline, or marks them as visible. |
I'd be curious to see the original failure. From what I understand, having this option can improve performance, but not having it shouldn't be a reason for a build failure. |
Reported buildbot issue is: /store/buildbot/slave/ar71xx/build/build_dir/target-mips_34kc_musl-1.1.11/ola-0.9.7/plugins/openpixelcontrol/.libs/libolaopenpixelcontrol.so: undefined reference to `ola::network::TCPSocket::ReadDescriptor() const' collect2: error: ld returned 1 exit status There's also a discussion (attempt) to fix this on the buildroot project: https://patchwork.ozlabs.org/patch/503884/ This bug has been reported (from the buildroot project), here: OpenLightingProject/ola#880 This commit introduced the issue: OpenLightingProject/ola@bfc1d99 So, until, the upstream project (ola) fixes this, this fix looks like the quickest/simplest workaround to have this package build. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Reported buildbot issue is: /store/buildbot/slave/ar71xx/build/build_dir/target-mips_34kc_musl-1.1.11/ola-0.9.7/plugins/openpixelcontrol/.libs/libolaopenpixelcontrol.so: undefined reference to `ola::network::TCPSocket::ReadDescriptor() const' collect2: error: ld returned 1 exit status There's also a discussion (attempt) to fix this on the buildroot project: https://patchwork.ozlabs.org/patch/503884/ This bug has been reported (from the buildroot project), here: OpenLightingProject/ola#880 This commit introduced the issue: OpenLightingProject/ola@bfc1d99 specifically the `-fvisibility-inlines-hidden` switch. So, until, the upstream project (ola) fixes this, this fix looks like the quickest/simplest workaround to have this package build. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Source: build failure of the buildroot package
http://autobuild.buildroot.net/results/e14/e14e1700d4fe359c56be57587bdb509e002e5753/build-end.log
OLA is built with
-fvisibility-inlines-hidden
. This causes methods defined as inline to be hidden to other object files by default. It seems like this can be a problem for methods that are exported by a shared library. The fix is to move the implementation of the method to the .cpp file.The text was updated successfully, but these errors were encountered: