Problem installing asterisk 10.1.3 on SUSE

Home » Asterisk Users » Problem installing asterisk 10.1.3 on SUSE
Asterisk Users 8 Comments

Hi gang,

I’ve put 10.X on about 15 different VM’s now, but I’ve run
into a buzzsaw on this one and my google-fu has failed me

Output of make

CC=”cc” CXX=”” LD=”” AR=”” RANLIB=”” CFLAGS=”” make -C menuselect
CONFIGURE_SILENT=”–silent” menuselect

make[1]: Entering directory `/usr/local/src/asterisk-10.1.3/menuselect’

make[1]: `menuselect’ is up to date.

make[1]: Leaving directory `/usr/local/src/asterisk-10.1.3/menuselect’

[LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3

/usr/lib64/gcc/x86_64-suse-linux/4.1.2/ file not recognized:
File format not recognized

collect2: ld returned 1 exit status

make[1]: *** [astdb2sqlite3] Error 1

make: *** [utils] Error 2

uname -a

Linux xxxxxxxx #1 SMP Tue May 6 12:41:02 UTC 2008 x86_64
x86_64 x86_64 GNU/Linux

Welcome to SUSE Linux Enterprise Server 10 SP2 (x86_64) – Kernel r (l).

Any suggestions?

Thanks in advance

Danny Nicholas

8 thoughts on - Problem installing asterisk 10.1.3 on SUSE

  • Depends on how you compile it or what version you downloaded. Both are
    possible. Asterisk 10 32bit requires a 32bit OS and Asterisk 10 64bit
    requires a 64bit OS. I didn’t understand “pox on sqlite3!”. Please


  • You’re most probably missing a library or -devel package on the 64-bit side,
    but you have the 32-bit version kicking around and this is confusing things.

  • Confusion? I’m looking at the Asterisk Release download directory and only
    see asterisk-10.1.3.tar.gz, not asterisk-10.1.3-32.tar.gz and
    asterisk- is this a configuration or make option? As for
    the “pox on sqlite3”, I have had varying degrees of misery with this – on
    one install I had to resort to deleting the astdb table using bash in
    safe_asterisk because asterisk crashed every time it tried to do “create if
    not exists table astdb…”.

  • Heh confusion indeed. I meant that the sources are architecture
    independent (assuming they can be compiled on e.g. 32bit and 64bit
    platforms) and that the resulting binaries are obviously different and
    tied to the platform they are built for.

    I haven’t seen your compilation error before so can be of little help.
    Perhaps check if that library is not corrupt (reinstall to make sure).
    If nothing else, why not rm -rf the asterisk source tree and start from
    scratch. Sometimes things get in an odd state and whenever I see
    something unexplainable that that’s what I usually do. If compilation
    keeps failing in different places without any apparent reason then maybe
    it’s time to get out the rescue cd and run memtest86+, check hardware etc.


  • Both 32-bit and 64-bit versions (and, indeed, the versions for non-Intel
    architectures) are built from exactly the same Source Code. Which version
    gets built is determined in distro-dependent ways: for instance, Gentoo has
    “use flags” which determine various things about how packages are built.

    I’m not familiar with SuSE, so you’ll have to consult your documentation.
    However, the selection of what target you’re building for most probably is
    determined either by exporting environment variables, or by passing parameters
    to the configure script.

  • Just to update everyone, I did a “make -i” to ignore the error on the
    required make of astdb2sqlite3, but haven’t done the make install because I
    can’t bring the machine down to try it at this time. I have a hunch that
    either Asterisk will crash or I will have to do some “sqlite voodoo” to get
    it up and running. I know that the ASTDB functionality is important to lots
    of folks and functions, but you should be able to compile and start without
    it if you have a simple dialplan that doesn’t use it.

  • Parts of Asterisk itself use the Asterisk DB, that’s the primary reason
    it exists. If you don’t have a working Asterisk DB, then you are not
    likely to have a working Asterisk system.

  • Try:

    file astdb2sqlite3.o
    file db1-ast/*.o
    file /usr/lib64/gcc/x86_64-suse-linux/4.1.2/

    (with the appropriate paths for the first two) and see if they’re the
    same (32 or 64-bit) architecture. The third is likely to be 64-bit
    anyway, what are the first two?