Skip to contentSkip to conversation

New: quota-4.01 fails to build statically

Buildroot bugzilla at busybox.net 1 participant 6 messages Oct 28, 2014 – Nov 10, 2014

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=7574

Summary: quota-4.01 fails to build statically
Product: buildroot
Version: 2014.08
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: abrodkin at synopsys.com
CC: buildroot at uclibc.org,
thomas.petazzoni at free-electrons.com, abrodkin at synopsys.com
Estimated Hours: 0.0

--->---
.../arm-buildroot-linux-uclibcgnueabi-gcc -static -lintl quotastats.o common.o
pot.o -o quotastats
.../arm-buildroot-linux-uclibcgnueabi-gcc -static -lintl xqmstats.o common.o
pot.o -o xqmstats
quotastats.o: In function `get_proc_num':
quotastats.c:(.text+0x58): undefined reference to libintl_gettext' quotastats.o: In function main':
quotastats.c:(.text.startup+0x138): undefined reference to libintl_gettext' quotastats.c:(.text.startup+0x1b4): undefined reference to libintl_gettext' quotastats.c:(.text.startup+0x1c4): undefined reference to libintl_gettext' quotastats.c:(.text.startup+0x228): undefined reference to libintl_gettext' quotastats.o:quotastats.c:(.text.startup+0x238): more undefined references to `libintl_gettext' follow
pot.o: In function `gettexton':
pot.c:(.text+0x1c): undefined reference to libintl_bindtextdomain' pot.c:(.text+0x28): undefined reference to libintl_textdomain'
collect2: error: ld returned 1 exit status
make[2]: *** [quotastats] Error 1
make[2]: *** Waiting for unfinished jobs....
xqmstats.o: In function `main':
xqmstats.c:(.text.startup+0x70): undefined reference to libintl_gettext' xqmstats.c:(.text.startup+0x100): undefined reference to libintl_gettext' xqmstats.c:(.text.startup+0x10c): undefined reference to libintl_gettext' xqmstats.c:(.text.startup+0x11c): undefined reference to libintl_gettext' xqmstats.c:(.text.startup+0x12c): undefined reference to libintl_gettext' xqmstats.o:xqmstats.c:(.text.startup+0x13c): more undefined references to libintl_gettext' follow
--->---

The reason seems to be in improper location of "-lintl".
Incase of static linkage it should be after (on left side) object files that call symbols of the library.

In other words following command line will work:
--->---
arm-buildroot-linux-uclibcgnueabi-gcc -static quotastats.o common.o pot.o -lintl -o quotastats
--->---

In its turn "-lintl" is put in the beginning of command line because it's a part of LDFLAGS in quota's Makefile. And in "package/quota/quota.mk" we explicitly set it with "QUOTA_LDFLAGS += -lintl".

So the only proper fix I may think of is modification of quota's Makefile.in so that libraries are appended in the end of link command separately from LDFLAGS or move LDFLAGS in the end.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 7574] quota-4.01 fails to build statically

https://bugs.busybox.net/show_bug.cgi?id=7574

--- Comment #1 from Alexey Brodkin <[email protected]> 2014-10-28 13:09:31 UTC --- Created attachment 5750
--> https://bugs.busybox.net/attachment.cgi?id=5750
Defconfig

This defconfig could be used for reproduction of the issue with up-to-date master branch of Buildroot

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 7574] quota-4.01 fails to build statically

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7574

--- Comment #2 from Thomas De Schampheleire <[email protected]> 2014-10-28 18:15:27 UTC --- Normally, a separate variable LDLIBS is used for that purpose. This variable is
then included at the end of the link command line, unlike LDFLAGS. At least
this is the case in the implicit make recipes. I would assume that autotools
has a similar distinction.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 7574] quota-4.01 fails to build statically

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7574

--- Comment #3 from Thomas Petazzoni <[email protected]> 2014-11-09 13:20:38 UTC --- Patch series sent at
http://lists.busybox.net/pipermail/buildroot/2014-November/111618.html to fix
this bug.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#4 lore raw

[Buildroot] [Bug 7574] quota-4.01 fails to build statically

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7574

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at buildroot.uclibc |thomas.petazzoni at free-elect
|.org |rons.com

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#5 lore raw

[Buildroot] [Bug 7574] quota-4.01 fails to build statically

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7574

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #4 from Thomas Petazzoni <[email protected]> 2014-11-10 09:16:18 UTC --- Patch applied as of
http://git.buildroot.net/buildroot/commit/?id=06d310e7a172a3dc61e30a4e5937e4455f6d340b,
bug fixed.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.