| Summary: | Buildroot fails to build packages if BR2_GCC_SHARED_LIBGCC=y | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | Andy Kennedy <andy.kennedy> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | major | CC: | buildroot |
| Priority: | P2 | Keywords: | link-failure |
| Version: | unspecified | ||
| Target Milestone: | 2010.02 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | i686 | Target: | ARM |
| Build: | |||
| Attachments: | Config file for building an NFS buildroot for development purposes. | ||
Oh, forgot to mention that the build I'm working with is a snapshot of 20100129. After shutting down my computer over the weekend, and then attempting to build again today, the build was successful. This must mean that, after the many attempts to build the system, I had an environmental variable set that was mucking around with the build. I'm closing this issue for now, but I will attempt the build again today to see if it still works (If it fails, I'll reopen with an env dump). -- This makes me feel all dirty, like working with Windows. I just want to let everybody know what might be the source of this problem. undefined hidden symbol in libgcc.a(xxxxxxx.o) '__xxxxx()' referenced by DSO. These kind of errors are usually due to libgcc.a not being linked into a library. So when creating a library that process went wrong. If you delete the specific library so that Buildroot (usually) re-creates them, you have a good chance that the build will succeed. These undefined hidden symbol errors happen to me in Buildroot 2009.11 when I build the util-linux package until I delete statging/usr/lib/libncurses.so.5.6 before building. I know this does not exactly track down the problem but might still be an important info of what to look for. When you change some toolchain settings, do you always do a complete "make clean && make" ? |
Created attachment 1153 [details] Config file for building an NFS buildroot for development purposes. The config file attached has left off these two, but these were giving me errors as well: docker xstroke These would NOT compile unless BR2_GCC_SHARED_LIBGCC is not set: uemacs nano vim The error was undefined hidden symbol in libgcc.a(xxxxxxx.o) '__xxxxx()' referenced by DSO. The xxx was different for each of these (I attempted to compile each with a shared libgcc) but seemed to center on references to g_printerr, g_print, g_slist_length, g_malloc0, g_free, g_slist_append, g_slist_Remove_link, and g_strdup_printf. These seem to be calling functions from the EABI as some were like ul_div32_helper() -- though some were not referred to as EABI but AABI, which greatly confuse me. It appeared that the source of the problem was in glib2, but I cannot verify this and could not locate any way around this issue. My gut tells me that linking libgcc.a in statically is "bad" and I prefer not to do that, but I'm in a bit over my head with where the problem is.