[OPEN-ILS-DEV] Problems encountered during Evergreen-ILS-1.2.3.0 compilation under 64-bit CentOS5

Dan Scott denials at gmail.com
Mon Sep 1 14:05:46 EDT 2008


Hi Václav:

2008/9/1 Václav Jansa <v.jansa at stk.cz>:
> Dear all,
>
> I´m just installing Evergreen on a current version of 64-bit CentOS 5.
> Dependencies for the compilation of opensrf 0.9 have been successfully
> resolved. However, I have not succeeded in compiling Evergreen. Please
> see the output of make below. Could you please give me any advice how
> this might be fixed?
>
<snip>
> `/home/opensrf/Evergreen-ILS-1.2.3.0/Open-ILS/src/extras'
> cc -L . -L/home/opensrf/Evergreen-ILS-1.2.3.0/.tmp -L /openils/lib/
> oils_requestor.o  -lreadline -loils_utils -lopensrf -lobjson -lxml2
> -loils_idl -o oils_requestor
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `PC'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tgetflag'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tgetent'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `UP'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tputs'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tgoto'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tgetnum'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `BC'
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so:
> undefined reference to `tgetstr'
> collect2: ld returned 1 exit status
> make[2]: *** [oils_requestor] Error 1
> make[2]: Leaving directory
> `/home/opensrf/Evergreen-ILS-1.2.3.0/Open-ILS/src/extras'
> make[1]: *** [c_apps] Error 2
> make[1]: Leaving directory
> `/home/opensrf/Evergreen-ILS-1.2.3.0/Open-ILS/src'
</snip>

It looks to me like you need to explicitly link against the ncurses
library to resolve those references.

Try changing the following line in Open-ILS/src/extras/Makefile from:

LDLIBS += -lreadline -loils_utils -lopensrf -lobjson -lxml2 -loils_idl

to:

LDLIBS += -lreadline -loils_utils -lopensrf -lobjson -lxml2 -loils_idl -lncurses

(and this assumes that the ncurses libraries are installed, of course!)

Just out of curiousity - did you use the Makefile.install to install
the prerequisites for CentOS using the centos target? I set that up a
few months ago but haven't had the chance to revisit it recently to
see how well it's working.

-- 
Dan Scott
Laurentian University


More information about the Open-ils-dev mailing list