Project

General

Profile

Bug #8211

The ncurses library is not found in older OI versions

Added by Gary Mills over 2 years ago. Updated over 2 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Category:
OI-Userland
Target version:
-
Start date:
2017-05-12
Due date:
% Done:

90%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

In building many oi-userland components on older OI versions, like oi_151a8 and oi_151a9, the configure script is unable to find the ncurses libraries, even though the ncurses package is installed. The configure script does find the header files, but not the libraries. The following error message appears:

ld: fatal: library -lncurses: not found

Sometimes instead, the error is:

undefined symbols: wattr_on wattr_off

This happens because the ncurses libraries are installed in /usr/gnu/lib, but the configure script only looks for them in /usr/lib . The solution is to extend LDFLAGS to contain those libraries for OI versions that have them in /usr/gnu/lib .

History

#1

Updated by Alexander Pyhalov over 2 years ago

I would avoid adding unnecessary -R/usr/gnu/lib to components without need (at least to avoid possible dependencies on gnu libiconv). In this case issue can be solved by compiling and installing more up-to-date ncurses on build system.

#2

Updated by Aurélien Larcher over 2 years ago

Actually there is a ncurses.pc file so the components should rely on `pkg-config --libs ncurses`.
Testing this:

helios> pkg-config --libs ncurses
-L/usr/gnu/lib -lncurses

shows that our .pc file is invalid.

#3

Updated by Gary Mills over 2 years ago

The -R$(GNULIB.$(BITS)) option is necessary if the library is intalled in /usr/gnu/lib . That's the recommended method for an executable to locate its library. Of course, the alternative is to install all libraries in /usr/lib, the default search location.

I don't understand the conflict you mention. As far as I can tell, there is no GNU iconv installed on my system. In fact, the SUNWgnu-libiconv package is marked obsolete, with no replacement that I can find.

#4

Updated by Alexander Pyhalov over 2 years ago

  • Status changed from Feedback to Rejected

oi-userland is supposed to be built on latest OI Hipster. While we can consider adding some patches for building on older illumos-gate to speed up work on SPARC build, I don't think that accepting such hacks for building on older userland software is a good idea. Software just have to be updated incrementally.

Also available in: Atom PDF