Summary: | ASTERISK-08536: asterisk config options for external libs (ssl, qt3, ncurses, ...) are not followed | ||
Reporter: | snowcrash (snowcrash) | Labels: | |
Date Opened: | 2007-01-09 21:34:18.000-0600 | Date Closed: | 2007-04-23 13:30:50 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/Configuration |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | i'm working with both asterisk trunk/v1.4.0. i'm attempting to build w/ links against _my_ (in 'other' locations ...) external libs. i have external LIBs installed in: (1) openssl v0.9.8d is installed in /usr/local/ssl (2) qt3 v3.3.7 is installed in /usr/local/qt3 (3) ncurses v5.6 is installed in /usr/local (4) readline v5.2 is installed in /usr/local (5) editline v2.10 is installed in /usr/local where readline & editline are consistently built against ncurses ... % otool -L /usr/local/lib/libreadline.dylib /usr/local/lib/libreadline.5.2.dylib (compatibility version 5.0.0, current version 5.2.0) /usr/local/lib/libncurses.5.6.dylib (compatibility version 5.6.0, current version 5.6.0) /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 92.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.7) % otool -L /usr/local/lib/libedit.dylib /usr/local/lib/libedit.0.dylib (compatibility version 1.0.0, current version 1.23.0) /usr/local/lib/libncurses.5.6.dylib (compatibility version 5.6.0, current version 5.6.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.7) and, -lcurses & -ltermcap are symlinked to -lncurses lrwxr-xr-x 1 root wheel 20 2007-01-09 12:40 libcurses.dylib -> libncurses.5.6.dylib lrwxr-xr-x 1 root wheel 20 2007-01-09 12:40 libtermcap.dylib -> libncurses.5.6.dylib i'm having varying success getting asterisk to accept the libs in locations. here are the details ... (1) SSL config'ing asterisk with, --with-ssl=/usr/local/ssl \ is not sufficient. but, adding, setenv LDFLAGS "-bind_at_load -L/usr/local/ssl/lib" setenv CPPFLAGS "-I /usr/local/ssl/include" results in % otool -L asterisk | grep ssl /usr/local/ssl/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) /usr/local/ssl/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) (2) QT3 qt3 is installed in, --prefix=/usr/local/qt3 where, % cd /usr/local/qt3/ % ls -al include/qdatetime.h lib/libqt-mt.dylib -rw-r--r-- 1 root wheel 8792 Jan 4 15:20 include/qdatetime.h lrwxr-xr-x 1 root wheel 20 Jan 4 15:20 lib/libqt-mt.dylib -> libqt-mt.3.3.7.dylib so, in addition to setenv LDFLAGS "... -L/usr/local/qt3/lib ..." setenv CPPFLAGS "... -I/usr/local/qt3/include ..." and, ./configure ... --with-qt=/usr/local/qt3 ... i need to change, % vi asterisk-svn/configure.ac ------------------------------------------- @719 - [#include <qt3/qdatetime.h>], + [#include <qdatetime.h>], @ 739 - [#include <qt3/qdatetime.h>], + [#include <qdatetime.h>], ------------------------------------------- (3) NCURSES i haven't gotten ncurses to behave at all. yet. to reiterate, _my_ ncurses is installed in, --prefix=/usr/local where, % cd /usr/local/lib % ls -al *curses* lrwxr-xr-x 1 root wheel 20 Jan 5 12:40 libcurses.dylib -> libncurses.5.6.dylib lrwxr-xr-x 1 root wheel 21 Jan 5 12:40 libcursesw.dylib -> libncursesw.5.6.dylib -rwxr-xr-x 1 root wheel 144780 Jan 5 06:18 libncurses++.a -rwxr-xr-x 1 root wheel 144780 Jan 5 06:09 libncurses++w.a lrwxr-xr-x 1 root wheel 20 Jan 5 16:17 libncurses.5.5.dylib -> libncurses.5.6.dylib -rwxr-xr-x 1 root wheel 302952 Jan 5 06:18 libncurses.5.6.dylib -rw-r--r-- 1 root wheel 518720 Jan 5 06:18 libncurses.a lrwxr-xr-x 1 root wheel 20 Jan 5 06:18 libncurses.dylib -> libncurses.5.6.dylib lrwxr-xr-x 1 root wheel 21 Jan 5 16:17 libncursesw.5.5.dylib -> libncursesw.5.6.dylib -rwxr-xr-x 1 root wheel 350800 Jan 5 06:08 libncursesw.5.6.dylib -rw-r--r-- 1 root wheel 594696 Jan 5 06:08 libncursesw.a lrwxr-xr-x 1 root wheel 21 Jan 5 06:08 libncursesw.dylib -> libncursesw.5.6.dylib and, % cd /usr/local/include % ls ncurses* ncurses: curses.h cursesp.h etip.h ncurses_dll.h unctrl.h cursesapp.h cursesw.h form.h panel.h cursesf.h cursslk.h menu.h term.h cursesm.h eti.h ncurses.h termcap.h ncursesw: curses.h cursesp.h etip.h ncurses_dll.h unctrl.h cursesapp.h cursesw.h form.h panel.h cursesf.h cursslk.h menu.h term.h cursesm.h eti.h ncurses.h termcap.h next, if i, simply, unsetenv LDFLAGS unsetenv CPPFLAGS ./configure ... --with-ncurses=/usr/local ... then, ./configure fails @, ... checking for mandatory modules: NCURSES OPENSSL... fail configure: *** configure: *** The NCURSES installation appears to be missing or broken. configure: *** Either correct the installation, or run configure configure: *** including --without-ncurses. if i add, setenv LDFLAGS "-bind_at_load -L/usr/local/lib -lncurses" setenv CPPFLAGS "-I/usr/local/include/ncurses" to the above config, i get same error. if, instead, i keep these LFGLAGS & CPPFLAGS defs, but, ./configure ... --with-ncurses ... then, NO error, but subsequent build selects ncurses from /usr, not spec'd /usr/local, e.g., % otool -L asterisk | grep curses /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, ncurses lib/path checks seem to be woven throughout the code, including for bundled 'editline' and 'menuselect' builds. don't know it this is as "simple" as adding path checks for ncurses/ncurses.h as well ... happy to provide add'l info. thanks. | ||
Comments: | By: snowcrash (snowcrash) 2007-01-18 15:37:28.000-0600 just fyi ... probably no surprise at all, but i've verified this behavior on both OSX & FreeBSD boxes, with src-built /usr/local/ trees. thanks. By: Serge Vecher (serge-v) 2007-01-25 12:41:41.000-0600 can you please check the latest 1.4 svn branch? I wonder if this is related to ASTERISK-8399 By: snowcrash (snowcrash) 2007-01-25 17:35:05.000-0600 > can you please check the latest 1.4 svn branch? building with a fresh co of latest svn, % svn info asterisk-svn | grep Revision Revision: 51363 i still seem the same results ... i.e. either, (a) igoring _my_ ncurses install, or (b) FAIL @ ./configure ------------------------------------- case: ... % setenv LDFLAGS "-bind_at_load -L/usr/local/lib -lncurses" % setenv CPPFLAGS "-I/usr/local/include/ncurses" ... % ./configure ... --with-ncurses ... ... % make % otool -L main/asterisk | grep curses /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) % otool -L menuselect/menuselect | grep curses /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) ------------------------------------- case: ... % setenv LDFLAGS "-bind_at_load -L/usr/local/lib -lncurses" % setenv CPPFLAGS "-I/usr/local/include/ncurses" ... % ./configure ... --with-ncurses=/usr/local ... ... checking for gtk-config... no checking for curl-config... /usr/local/bin/curl-config checking for mandatory modules: NCURSES OPENSSL... fail configure: *** configure: *** The NCURSES installation appears to be missing or broken. configure: *** Either correct the installation, or run configure configure: *** including --without-ncurses. % ------------------------------------- > I wonder if this is related to ASTERISK-8399 "0008637: asterisk fails to cross compile for arm" ? got me. the curses-checking code -- included termcap, editline, etc etc -- is so convoluted -- to my read -- that i'm simply confused atm. By: Russell Bryant (russell) 2007-03-26 13:49:14 Alright, let's take this one issue at a time. First, I don't think our build system is set up to deal with you setting custom CFLAGS/LDFLAGS as environment variables to the configure script. So, let's see if we can solve this without setting those at all. Can you please post your config.log after running ./configure --with-ncurses=/usr/local ? By: Russell Bryant (russell) 2007-04-23 13:30:49 Feel free to re-open this issue if you are still interested in working on this. Thanks! |