Opened 21 years ago

Closed 21 years ago

#743 closed defect (fixed)

Building static nALFS

Reported by: barbos@… Owned by: alfs-log@…
Priority: lowest Milestone:
Component: nALFS - Front End (GUI) Version: 1.2.0
Severity: normal Keywords:
Cc:

Description

The static binary of the nALFS cannot be built (1.2.1 also) due to missing libtinfo.a (part of ncurses) in the required library list.

Attachments (1)

ncurses-static.patch (789 bytes ) - added by barbos@… 21 years ago.
static compilation for splitted ncurses

Download all attachments as: .zip

Change History (8)

comment:1 by kpfleming@…, 21 years ago

I cannot reproduce this problem; my system, which has ncurses-5.3, does not have "libtinfo" at all. What version of ncurses are you using, and what other things may be different about your system?

comment:2 by barbos@…, 21 years ago

Good point. I have a LFS derived system, also with ncurses-5.3. If the ncurses package is compiled with --with-termlib then you get libncurses.a and libtinfo.a (libncurses.a needs libtinfo.a). Libtinfo holds the low-level terminfo library and there are applications that use only libtinfo.a and not libncurses.a It looks like this is not the standard way, although there are some distributions that have this separation (like PLD).

Ok, I filled in a bug report too fast, but maybe it is worth checking if libncurses.a needs libtinfo.a or not. This problem doesn't appear with libncurses.so*, it includes both parts.

comment:3 by kpfleming@…, 21 years ago

That's going to be tricky to do. Linux static libraries cannot hold dependency information, so I don't think there's a way to ask if libncurses.a _needs_ libtinfo.a.

I could, if the user has requested static linking, look to see if libtinfo.a is present and usable, and add it to the library list, but that could cause other problems if it's not actually necessary.

This will take some research to see how other applications handle it; if you can provide any configure-script examples from other sources that already handle this issue that would be most helpful.

comment:4 by barbos@…, 21 years ago

I'll do that on monday and send you the patch.

Basically all that's needed is to test if libncurses.a has the low-level routines or not and if not if libtinfo.a has them. If neither libncurese nor libtinfo has them then something is really wrong :)

by barbos@…, 21 years ago

Attachment: ncurses-static.patch added

static compilation for splitted ncurses

comment:5 by barbos@…, 21 years ago

Can you please test this patch and send me the resulting configure file so I can test it also on my systems :)

comment:6 by kpfleming@…, 21 years ago

Status: newassigned

You accidentally reversed the patch, but that's OK, I can see what you're doing there. I will test it, but it will take me a couple of days to get to it. Thanks for the patch.

comment:7 by kpfleming@…, 21 years ago

Resolution: fixed
Status: assignedclosed

change committed to CVS HEAD

Note: See TracTickets for help on using tickets.