[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compilation Errors: Arch Linux: v1.14

Hi Chris!

Sorry for the delay, been a bit busy lately.

On Mon, 2009-03-30 at 21:23:48 +1100, Chris Giles wrote:
> I'm the *dpkg* PKGBUILD maintainer for interested Arch Linux users.  FYI,
> here's the webpage: http://aur.archlinux.org/packages.php?ID=16974

Nice to meet you.

> However, *dpkg* v1.14 doesn't compile so smoothly on Arch Linux, perhaps due
> to the following changes:
> 2008-03-30  Guillem Jover
>     * dselect/main.cc: Use <ncursesw/term.h> instead of <term.h>.
>     * dselect/dselect.h: Use <ncursesw/curses.h> instead of <curses.h>.
>     * dselect/Makefile.am (curkeys.h): Likewise.

That was actually a fix for a previous commit that switched to use
ncursesw. It was supposed to be temporary, but as it works in Debian,
there's been no hurry to fix it. I've committed a proper fix now:


> As noted below, Arch places the 'cursesw.h' file in a different location to
> where *dpkg* is looking for it:
> `--> ls -l /usr/include/*cursesw*
> -rw-r--r-- 1 root root 49K 2008-11-15 09:35 /usr/include/cursesw.h
> However, there only seems to be one 'term.h' file in that directory and
> there's no 'ncursesw' subdirectory.
> Consequently, I added the following lines to the top of my aforementioned
> 'build' script:
> sed -i "s|<ncursesw/curses.h>|<cursesw.h>|g" dselect/{dselect.h,Makefile.in}
> || return 1
> sed -i "s|<ncursesw/term.h>|<term.h>|g" dselect/main.cc || return 1

The ‘cursesw.h’ file is a different one than ‘ncursesw/curses.h’, or
‘curses.h’. So either apply the above patch or replace the include
with just ‘<curses.h>’.

> That fixed the original compilation errors, but the following new ones have
> surfaced.  Let me know how I can overcome them.

This is also due to using the wrong header. Once you start using again
the correct one, this will get fixed as well.


Reply to: