Message164837
The same happens on OpenSUSE 12.1 so Python can't be fully built there which is a bit of a shame.
OpenSUSE uses this patch for their packages, but that would break other distributions so it's not a good solution:
-#include <panel.h>
+#include <ncurses/panel.h>
Here's a list of all curses related files in /usr/include on my OpenSUSE 12.1:
catalin@linux-vo6z:~/cpython/issue12271> find /usr/include/ -regex '.*curses.*' -and \( -type f -or -type l \) -exec ls -lh {} \;
-rw-r--r-- 1 root root 4.1K May 10 15:28 /usr/include/python2.7/py_curses.h
lrwxrwxrwx 1 root root 16 Nov 20 2011 /usr/include/curses.h -> ncurses/curses.h
-rw-r--r-- 1 root root 75K Oct 29 2011 /usr/include/ncurses/curses.h
-rw-r--r-- 1 root root 6.5K Oct 29 2011 /usr/include/ncurses/cursesapp.h
-rw-r--r-- 1 root root 27K Oct 29 2011 /usr/include/ncurses/cursesf.h
-rw-r--r-- 1 root root 20K Oct 29 2011 /usr/include/ncurses/cursesm.h
-rw-r--r-- 1 root root 8.3K Oct 29 2011 /usr/include/ncurses/cursesp.h
-rw-r--r-- 1 root root 49K Oct 29 2011 /usr/include/ncurses/cursesw.h
-rw-r--r-- 1 root root 7.2K Oct 29 2011 /usr/include/ncurses/cursslk.h
-rw-r--r-- 1 root root 2.9K Oct 29 2011 /usr/include/ncurses/eti.h
-rw-r--r-- 1 root root 9.1K Oct 29 2011 /usr/include/ncurses/etip.h
-rw-r--r-- 1 root root 18K Oct 29 2011 /usr/include/ncurses/form.h
-rw-r--r-- 1 root root 12K Oct 29 2011 /usr/include/ncurses/menu.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses/nc_tparm.h
lrwxrwxrwx 1 root root 8 Nov 20 2011 /usr/include/ncurses/ncurses.h -> curses.h
-rw-r--r-- 1 root root 3.9K Oct 29 2011 /usr/include/ncurses/ncurses_dll.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses/panel.h
-rw-r--r-- 1 root root 40K Oct 29 2011 /usr/include/ncurses/term.h
-rw-r--r-- 1 root root 7.2K Oct 29 2011 /usr/include/ncurses/term_entry.h
-rw-r--r-- 1 root root 3.5K Oct 29 2011 /usr/include/ncurses/termcap.h
-rw-r--r-- 1 root root 13K Oct 29 2011 /usr/include/ncurses/tic.h
-rw-r--r-- 1 root root 3.1K Oct 29 2011 /usr/include/ncurses/unctrl.h
lrwxrwxrwx 1 root root 17 Nov 20 2011 /usr/include/ncurses.h -> ncurses/ncurses.h
lrwxrwxrwx 1 root root 16 Nov 20 2011 /usr/include/ncurses6/curses.h -> ncurses/curses.h
-rw-r--r-- 1 root root 75K Oct 29 2011 /usr/include/ncurses6/ncurses/curses.h
-rw-r--r-- 1 root root 6.5K Oct 29 2011 /usr/include/ncurses6/ncurses/cursesapp.h
-rw-r--r-- 1 root root 27K Oct 29 2011 /usr/include/ncurses6/ncurses/cursesf.h
-rw-r--r-- 1 root root 20K Oct 29 2011 /usr/include/ncurses6/ncurses/cursesm.h
-rw-r--r-- 1 root root 8.3K Oct 29 2011 /usr/include/ncurses6/ncurses/cursesp.h
-rw-r--r-- 1 root root 49K Oct 29 2011 /usr/include/ncurses6/ncurses/cursesw.h
-rw-r--r-- 1 root root 7.2K Oct 29 2011 /usr/include/ncurses6/ncurses/cursslk.h
-rw-r--r-- 1 root root 2.9K Oct 29 2011 /usr/include/ncurses6/ncurses/eti.h
-rw-r--r-- 1 root root 9.1K Oct 29 2011 /usr/include/ncurses6/ncurses/etip.h
-rw-r--r-- 1 root root 18K Oct 29 2011 /usr/include/ncurses6/ncurses/form.h
-rw-r--r-- 1 root root 12K Oct 29 2011 /usr/include/ncurses6/ncurses/menu.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses6/ncurses/nc_tparm.h
lrwxrwxrwx 1 root root 8 Nov 20 2011 /usr/include/ncurses6/ncurses/ncurses.h -> curses.h
-rw-r--r-- 1 root root 3.9K Oct 29 2011 /usr/include/ncurses6/ncurses/ncurses_dll.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses6/ncurses/panel.h
-rw-r--r-- 1 root root 40K Oct 29 2011 /usr/include/ncurses6/ncurses/term.h
-rw-r--r-- 1 root root 7.2K Oct 29 2011 /usr/include/ncurses6/ncurses/term_entry.h
-rw-r--r-- 1 root root 3.5K Oct 29 2011 /usr/include/ncurses6/ncurses/termcap.h
-rw-r--r-- 1 root root 13K Oct 29 2011 /usr/include/ncurses6/ncurses/tic.h
-rw-r--r-- 1 root root 3.1K Oct 29 2011 /usr/include/ncurses6/ncurses/unctrl.h
lrwxrwxrwx 1 root root 17 Nov 20 2011 /usr/include/ncurses6/ncurses.h -> ncurses/ncurses.h
-rw-r--r-- 1 root root 92K Oct 29 2011 /usr/include/ncurses6/ncursesw/curses.h
If we look just for panel.h we get:
catalin@linux-vo6z:~/cpython/issue12271> find /usr/include/ -regex '.*curses.*' -and \( -type f -or -type l \) -exec ls -lh {} \; | grep panel.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses/panel.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses6/ncurses/panel.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncurses6/ncursesw/panel.h
-rw-r--r-- 1 root root 4.0K Oct 29 2011 /usr/include/ncursesw/panel.h
There is some specific code that appends '/usr/include/ncursesw' to the include list in setup.py but that doesn't get triggered here because curses_library == 'ncurses' because readline is built against that.
The attached patch makes it build and the curses tests pass but it feels kind of hack-ish. panel.h is there so Python should find it somehow therefore this is a genuine bug. Ideas for a better solution? |
|
Date |
User |
Action |
Args |
2012-07-07 12:59:42 | catalin.iacob | set | recipients:
+ catalin.iacob, skrah, v.claudic, hm |
2012-07-07 12:59:42 | catalin.iacob | set | messageid: <1341665982.57.0.440484189488.issue12271@psf.upfronthosting.co.za> |
2012-07-07 12:59:42 | catalin.iacob | link | issue12271 messages |
2012-07-07 12:59:41 | catalin.iacob | create | |
|