Summary:ASTERISK-08345: building 1.4.0-beta4 fails when linking chan_zap (missing libpri dependency alert)
Reporter:Caio Begotti (caio1982)Labels:
Date Opened:2006-12-13 07:11:32.000-0600Date Closed:2011-06-07 14:08:10
Versions:Frequency of
Description:I'm building the latest 1.4.0-beta4 with all modules "embedded" and just enabled the ODBC storage (personal tests not related to this issue), nothing more. Then when linking chan_zap I got the following error:

make[1]: Nothing to be done for `all'.
  [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dns.o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o translate.o udptl.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
../channels/chan_zap.o: In function `zap_send_keypad_facility_exec':
/root/1.4.0-beta4/channels/chan_zap.c:2335: undefined reference to `pri_keypad_facility'
collect2: ld returned 1 exit status
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2

I realized that libpri wasn't installed before that and then I compiled it and retried. It worked.
I believe there's a missing alert message for the user/admin to let him know that the build will fail if libpri is missing. It has to be mandatory to build chan_zap, right?


Please update the field "Asterisk Version" of this ticket as soon as possible (1.4.0-beta4 wasn't available for selection).
Comments:By: Tilghman Lesher (tilghman) 2006-12-13 08:21:10.000-0600

It is actually not mandatory to compile chan_zap.  However, if it exists, it will be used, and what you probably had was an old version of libpri previously installed.

We know this because it failed on link, not on compile, which means libpri.h existed in /usr/include.

By: Caio Begotti (caio1982) 2006-12-13 08:30:32.000-0600

Thanks, that makes sense :-) what I meant by mandatory was "to build chan_zap first you have to install libpri correctly" but I understood it now.