Skip to content

Instantly share code, notes, and snippets.

@MatthewRalston
Created October 29, 2017 15:21
Show Gist options
  • Save MatthewRalston/3fbd9b4fdb65500fa147f7bb54965b4c to your computer and use it in GitHub Desktop.
Save MatthewRalston/3fbd9b4fdb65500fa147f7bb54965b4c to your computer and use it in GitHub Desktop.
Samtools 1.6-1 compilation error in bam_tview_curses.c
>yaourt -S samtools
==> Downloading samtools PKGBUILD from AUR...
x .SRCINFO
x .gitignore
x PKGBUILD
wookietreiber commented on 2015-10-25 17:09
Thanks for letting me know, updated pkgrel.
greyltc commented on 2017-05-20 09:46
the checksum here isn't verifying for me
alexpe87 commented on 2017-05-20 11:01
Maybe they changed the uploaded file? It did for me ~2 days ago!
Rhinoceros commented on 2017-05-20 11:49
Yes, this worked fine for me too, when the PKGBUILD was updated five days ago. However, I just tested again for you, and now it doesn't verify. I'm getting 4860d6a8f85c6965a7e82fb11afbde13
wookietreiber commented on 2017-05-20 15:03
updated.
samtools 1.6-1 (2017-09-29 09:50)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n
==> samtools dependencies:
- htslib (already installed)
==> Continue building samtools ? [Y/n]
==> ----------------------------------
==>
==> Building and installing package
==> Making package: samtools 1.6-1 (Sun Oct 29 11:18:21 EDT 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading samtools-1.6.tar.bz2...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 609 0 609 0 0 609 0 --:--:-- --:--:-- --:--:-- 3830
100 4115k 100 4115k 0 0 4115k 0 0:00:01 0:00:01 --:--:-- 7438k
==> Validating source files with md5sums...
samtools-1.6.tar.bz2 ... Passed
==> Extracting sources...
-> Extracting samtools-1.6.tar.bz2 with bsdtar
==> Starting prepare()...
==> Starting build()...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for htslib/sam.h... yes
checking for hts_version in -lhts... yes
checking for NcursesW wide-character library... yes
checking for working ncursesw/curses.h... no
checking for working ncursesw.h... no
checking for working ncurses.h... no
configure: WARNING: could not find a working ncursesw/curses.h, ncursesw.h or ncurses.h
checking for zlib.h... yes
checking for inflate in -lz... yes
checking for library containing regcomp... none required
configure: creating ./config.status
config.status: creating config.mk
config.status: creating config.h
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_index.o bam_index.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_plcmd.o bam_plcmd.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o sam_view.o sam_view.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_cat.o bam_cat.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_md.o bam_md.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_reheader.o bam_reheader.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_sort.o bam_sort.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bedidx.o bedidx.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_rmdup.o bam_rmdup.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_rmdupse.o bam_rmdupse.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_mate.o bam_mate.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_stat.o bam_stat.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_color.o bam_color.c
echo '#define SAMTOOLS_VERSION "1.6"' > version.h
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bamtk.o bamtk.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam2bcf.o bam2bcf.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam2bcf_indel.o bam2bcf_indel.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o sample.o sample.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o cut_target.o cut_target.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o phase.o phase.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam2depth.o bam2depth.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o padding.o padding.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bedcov.o bedcov.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bamshuf.o bamshuf.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o faidx.o faidx.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o dict.o dict.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o stats.o stats.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o stats_isize.o stats_isize.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_flags.o bam_flags.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_split.o bam_split.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_tview.o bam_tview.c
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -I. -D_FORTIFY_SOURCE=2 -c -o bam_tview_curses.o bam_tview_curses.c
bam_tview_curses.c:46:5: error: unknown type name 'WINDOW'
WINDOW *wgoto, *whelp;
^~~~~~
bam_tview_curses.c: In function 'curses_destroy':
bam_tview_curses.c:56:5: warning: implicit declaration of function 'delwin'; did you mean 'rewind'? [-Wimplicit-function-declaration]
delwin(tv->wgoto); delwin(tv->whelp);
^~~~~~
rewind
bam_tview_curses.c:57:5: warning: implicit declaration of function 'endwin'; did you mean 'stdin'? [-Wimplicit-function-declaration]
endwin();
^~~~~~
stdin
bam_tview_curses.c: In function 'curses_mvprintw':
bam_tview_curses.c:82:5: warning: implicit declaration of function 'mvprintw'; did you mean 'vprintf'? [-Wimplicit-function-declaration]
mvprintw(y,x,str);
^~~~~~~~
vprintf
bam_tview_curses.c: In function 'curses_mvaddch':
bam_tview_curses.c:88:5: warning: implicit declaration of function 'mvaddch' [-Wimplicit-function-declaration]
mvaddch(y,x,ch);
^~~~~~~
bam_tview_curses.c: In function 'curses_attron':
bam_tview_curses.c:93:5: warning: implicit declaration of function 'attron'; did you mean 'atol'? [-Wimplicit-function-declaration]
attron(flag);
^~~~~~
atol
bam_tview_curses.c: In function 'curses_attroff':
bam_tview_curses.c:97:5: warning: implicit declaration of function 'attroff'; did you mean 'atof'? [-Wimplicit-function-declaration]
attroff(flag);
^~~~~~~
atof
bam_tview_curses.c: In function 'curses_clear':
bam_tview_curses.c:101:5: warning: implicit declaration of function 'clear'; did you mean 'clearerr'? [-Wimplicit-function-declaration]
clear();
^~~~~
clearerr
bam_tview_curses.c: In function 'curses_init_colors':
bam_tview_curses.c:107:9: warning: implicit declaration of function 'init_pair'; did you mean 'initstate'? [-Wimplicit-function-declaration]
init_pair(1, COLOR_WHITE, COLOR_BLUE);
^~~~~~~~~
initstate
bam_tview_curses.c:107:22: error: 'COLOR_WHITE' undeclared (first use in this function)
init_pair(1, COLOR_WHITE, COLOR_BLUE);
^~~~~~~~~~~
bam_tview_curses.c:107:22: note: each undeclared identifier is reported only once for each function it appears in
bam_tview_curses.c:107:35: error: 'COLOR_BLUE' undeclared (first use in this function); did you mean 'COLOR_WHITE'?
init_pair(1, COLOR_WHITE, COLOR_BLUE);
^~~~~~~~~~
COLOR_WHITE
bam_tview_curses.c:108:22: error: 'COLOR_BLACK' undeclared (first use in this function); did you mean 'COLOR_BLUE'?
init_pair(2, COLOR_BLACK, COLOR_GREEN);
^~~~~~~~~~~
COLOR_BLUE
bam_tview_curses.c:108:35: error: 'COLOR_GREEN' undeclared (first use in this function); did you mean 'COLOR_BLUE'?
init_pair(2, COLOR_BLACK, COLOR_GREEN);
^~~~~~~~~~~
COLOR_BLUE
bam_tview_curses.c:109:35: error: 'COLOR_YELLOW' undeclared (first use in this function); did you mean 'COLOR_BLACK'?
init_pair(3, COLOR_BLACK, COLOR_YELLOW);
^~~~~~~~~~~~
COLOR_BLACK
bam_tview_curses.c:112:35: error: 'COLOR_CYAN' undeclared (first use in this function); did you mean 'COLOR_GREEN'?
init_pair(6, COLOR_BLACK, COLOR_CYAN);
^~~~~~~~~~
COLOR_GREEN
bam_tview_curses.c:113:35: error: 'COLOR_MAGENTA' undeclared (first use in this function); did you mean 'COLOR_GREEN'?
init_pair(7, COLOR_WHITE, COLOR_MAGENTA);
^~~~~~~~~~~~~
COLOR_GREEN
bam_tview_curses.c:114:35: error: 'COLOR_RED' undeclared (first use in this function); did you mean 'COLOR_GREEN'?
init_pair(8, COLOR_WHITE, COLOR_RED);
^~~~~~~~~
COLOR_GREEN
bam_tview_curses.c: In function 'curses_colorpair':
bam_tview_curses.c:133:12: warning: implicit declaration of function 'COLOR_PAIR' [-Wimplicit-function-declaration]
return COLOR_PAIR(flag);
^~~~~~~~~~
bam_tview_curses.c: In function 'tv_win_goto':
bam_tview_curses.c:148:5: warning: implicit declaration of function 'wborder' [-Wimplicit-function-declaration]
wborder(tv->wgoto, '|', '|', '-', '-', '+', '+', '+', '+');
^~~~~~~
bam_tview_curses.c:149:5: warning: implicit declaration of function 'mvwprintw'; did you mean 'kvsprintf'? [-Wimplicit-function-declaration]
mvwprintw(tv->wgoto, 1, 2, "Goto: ");
^~~~~~~~~
kvsprintf
bam_tview_curses.c:152:17: warning: implicit declaration of function 'wgetch'; did you mean 'getc'? [-Wimplicit-function-declaration]
int c = wgetch(tv->wgoto);
^~~~~~
getc
bam_tview_curses.c:153:9: warning: implicit declaration of function 'wrefresh' [-Wimplicit-function-declaration]
wrefresh(tv->wgoto);
^~~~~~~~
bam_tview_curses.c:154:18: error: 'KEY_BACKSPACE' undeclared (first use in this function)
if (c == KEY_BACKSPACE || c == '\010' || c == '\177') {
^~~~~~~~~~~~~
bam_tview_curses.c:156:25: error: 'KEY_ENTER' undeclared (first use in this function)
} else if (c == KEY_ENTER || c == '\012' || c == '\015') {
^~~~~~~~~
bam_tview_curses.c:191:43: warning: implicit declaration of function 'mvwaddch' [-Wimplicit-function-declaration]
for (i = 0; i < TV_MAX_GOTO; ++i) mvwaddch(tv->wgoto, 1, 8 + i, ' ');
^~~~~~~~
bam_tview_curses.c: In function 'tv_win_help':
bam_tview_curses.c:203:5: error: unknown type name 'WINDOW'
WINDOW *win = tv->whelp;
^~~~~~
bam_tview_curses.c: In function 'curses_underline':
bam_tview_curses.c:239:12: error: 'A_UNDERLINE' undeclared (first use in this function)
return A_UNDERLINE;
^~~~~~~~~~~
bam_tview_curses.c: In function 'curses_loop':
bam_tview_curses.c:248:17: warning: implicit declaration of function 'getch'; did you mean 'getc'? [-Wimplicit-function-declaration]
int c = getch();
^~~~~
getc
bam_tview_curses.c:263:18: error: 'KEY_LEFT' undeclared (first use in this function); did you mean '_IO_LEFT'?
case KEY_LEFT:
^~~~~~~~
_IO_LEFT
bam_tview_curses.c:265:18: error: 'KEY_RIGHT' undeclared (first use in this function); did you mean '_IO_RIGHT'?
case KEY_RIGHT:
^~~~~~~~~
_IO_RIGHT
bam_tview_curses.c:267:18: error: 'KEY_SLEFT' undeclared (first use in this function); did you mean 'KEY_LEFT'?
case KEY_SLEFT:
^~~~~~~~~
KEY_LEFT
bam_tview_curses.c:269:18: error: 'KEY_SRIGHT' undeclared (first use in this function); did you mean 'KEY_RIGHT'?
case KEY_SRIGHT:
^~~~~~~~~~
KEY_RIGHT
bam_tview_curses.c:278:18: error: 'KEY_UP' undeclared (first use in this function); did you mean 'KEY_LEFT'?
case KEY_UP:
^~~~~~
KEY_LEFT
bam_tview_curses.c:281:18: error: 'KEY_DOWN' undeclared (first use in this function); did you mean 'KEY_UP'?
case KEY_DOWN:
^~~~~~~~
KEY_UP
bam_tview_curses.c:284:18: error: 'KEY_BACKSPACE' undeclared (first use in this function)
case KEY_BACKSPACE:
^~~~~~~~~~~~~
bam_tview_curses.c:286:18: error: 'KEY_RESIZE' undeclared (first use in this function); did you mean 'KEY_RIGHT'?
case KEY_RESIZE: getmaxyx(stdscr, tv->mrow, tv->mcol); break;
^~~~~~~~~~
KEY_RIGHT
bam_tview_curses.c:286:30: warning: implicit declaration of function 'getmaxyx'; did you mean 'getpass'? [-Wimplicit-function-declaration]
case KEY_RESIZE: getmaxyx(stdscr, tv->mrow, tv->mcol); break;
^~~~~~~~
getpass
bam_tview_curses.c:286:39: error: 'stdscr' undeclared (first use in this function); did you mean 'stderr'?
case KEY_RESIZE: getmaxyx(stdscr, tv->mrow, tv->mcol); break;
^~~~~~
stderr
bam_tview_curses.c: In function 'curses_tv_init':
bam_tview_curses.c:326:5: warning: implicit declaration of function 'initscr'; did you mean 'initstate'? [-Wimplicit-function-declaration]
initscr();
^~~~~~~
initstate
bam_tview_curses.c:327:5: warning: implicit declaration of function 'keypad'; did you mean 'getpid'? [-Wimplicit-function-declaration]
keypad(stdscr, TRUE);
^~~~~~
getpid
bam_tview_curses.c:327:12: error: 'stdscr' undeclared (first use in this function); did you mean 'stderr'?
keypad(stdscr, TRUE);
^~~~~~
stderr
bam_tview_curses.c:327:20: error: 'TRUE' undeclared (first use in this function)
keypad(stdscr, TRUE);
^~~~
bam_tview_curses.c:329:5: warning: implicit declaration of function 'noecho' [-Wimplicit-function-declaration]
noecho();
^~~~~~
bam_tview_curses.c:330:5: warning: implicit declaration of function 'cbreak'; did you mean 'fread'? [-Wimplicit-function-declaration]
cbreak();
^~~~~~
fread
bam_tview_curses.c:333:17: warning: implicit declaration of function 'newwin'; did you mean 'rewind'? [-Wimplicit-function-declaration]
tv->wgoto = newwin(3, TV_MAX_GOTO + 10, 10, 5);
^~~~~~
rewind
bam_tview_curses.c:333:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
tv->wgoto = newwin(3, TV_MAX_GOTO + 10, 10, 5);
^
bam_tview_curses.c:334:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
tv->whelp = newwin(30, 40, 5, 5);
^
bam_tview_curses.c:336:5: warning: implicit declaration of function 'start_color'; did you mean 'strtoll'? [-Wimplicit-function-declaration]
start_color();
^~~~~~~~~~~
strtoll
make: *** [Makefile:126: bam_tview_curses.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build samtools.
==> Restart building samtools ? [y/N]
==> ---------------------------------
==>
@jkbonfield
Copy link

I should have gone through the rest of my email before replying to your other issue. Your configure output contains the problem causing this:

checking for working ncursesw/curses.h... no
checking for working ncursesw.h... no
checking for working ncurses.h... no
configure: WARNING: could not find a working ncursesw/curses.h, ncursesw.h or ncurses.h

It is likely that you have one of the dev or devel packages missing, although I'm not sure what the package name would be for your distribution. If you cannot find one that works, it is possible to build samtools without needing curses via ./configure --without-curses as mentioned in the INSTALL file. Doing so will mean your tview subcommand no longer has interactive control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment