Error in making OsmoNITB on Linux

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Abdulghafar Shabaneh abdulghafar1412 at gmail.com
Tue Aug 16 14:07:08 UTC 2016


Hi

How do you include /usr/local by default. Which command is used to do it. I
managed to install all projects except the openbsc.

I post here the openbsc make and make check errors.

pi at dwarfabd:~ $ cd openbsc/openbsc
pi at dwarfabd:~/openbsc/openbsc $ autoreconf -fi
tests/bsc-nat-trie/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c' is in a
subdirectory,
tests/bsc-nat-trie/Makefile.am:9: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the
'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding
output
automake: object file(s) will be placed in the top-level directory.
However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same
subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout
your
automake: project, to avoid future incompatibilities.
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_filter.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_sccp.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_nat_utils.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_nat_filter.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_nat_rewrite.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c' is in a
subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc-nat/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc_nat/bsc_mgcp_utils.c' is in a subdirectory,
tests/bsc-nat/Makefile.am:9: but option 'subdir-objects' is disabled
tests/bsc/Makefile.am:9: warning: source file
'$(top_srcdir)/src/osmo-bsc/osmo_bsc_filter.c' is in a subdirectory,
tests/bsc/Makefile.am:9: but option 'subdir-objects' is disabled
tests/smpp/Makefile.am:9: warning: source file
'$(top_builddir)/src/libmsc/smpp_utils.c' is in a subdirectory,
tests/smpp/Makefile.am:9: but option 'subdir-objects' is disabled

####################################################################################################
pi at dwarfabd:~/openbsc/openbsc $ ./configure --enable-smpp --enable-osmo-bsc
--enable-nat
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make sets $(MAKE)... (cached) yes
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 whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for library containing crypt... -lcrypt
checking for library containing dlopen... -ldl
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBOSMOCORE... yes
checking for LIBOSMOVTY... yes
checking for LIBOSMOGSM... yes
checking for LIBOSMOABIS... yes
checking for LIBOSMOGB... yes
checking for LIBOSMOSCCP... yes
checking for LIBOSMOSCCP... yes
checking for LIBSMPP34... yes
checking for LIBGTP... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dahdi/user.h usability... no
checking dahdi/user.h presence... no
checking for dahdi/user.h... no
configure: WARNING: DAHDI input driver will not be built
checking dbi/dbd.h usability... yes
checking dbi/dbd.h presence... yes
checking for dbi/dbd.h... yes
checking if gcc supports -fvisibility=hidden... yes
checking whether to enable code coverage support... no
checking whether struct tm has tm_gmtoff member... yes
checking whether to enable VTY tests... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating openbsc.pc
config.status: creating include/openbsc/Makefile
config.status: creating include/Makefile
config.status: creating src/Makefile
config.status: creating src/libtrau/Makefile
config.status: creating src/libbsc/Makefile
config.status: creating src/libctrl/Makefile
config.status: creating src/libmsc/Makefile
config.status: creating src/libmgcp/Makefile
config.status: creating src/libcommon/Makefile
config.status: creating src/osmo-nitb/Makefile
config.status: creating src/osmo-bsc/Makefile
config.status: creating src/osmo-bsc_nat/Makefile
config.status: creating src/osmo-bsc_mgcp/Makefile
config.status: creating src/ipaccess/Makefile
config.status: creating src/utils/Makefile
config.status: creating src/gprs/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating tests/gsm0408/Makefile
config.status: creating tests/db/Makefile
config.status: creating tests/channel/Makefile
config.status: creating tests/bsc/Makefile
config.status: creating tests/bsc-nat/Makefile
config.status: creating tests/bsc-nat-trie/Makefile
config.status: creating tests/mgcp/Makefile
config.status: creating tests/gprs/Makefile
config.status: creating tests/gbproxy/Makefile
config.status: creating tests/abis/Makefile
config.status: creating tests/smpp/Makefile
config.status: creating tests/trau/Makefile
config.status: creating doc/Makefile
config.status: creating doc/examples/Makefile
config.status: creating Makefile
config.status: creating bscconfig.h
config.status: executing tests/atconfig commands
config.status: executing depfiles commands
################################################################################
pi at dwarfabd:~/openbsc/openbsc $ make
make  all-recursive
make[1]: Entering directory '/home/pi/openbsc/openbsc'
Making all in doc
make[2]: Entering directory '/home/pi/openbsc/openbsc/doc'
Making all in examples
make[3]: Entering directory '/home/pi/openbsc/openbsc/doc/examples'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/doc/examples'
make[3]: Entering directory '/home/pi/openbsc/openbsc/doc'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/doc'
make[2]: Leaving directory '/home/pi/openbsc/openbsc/doc'
Making all in include
make[2]: Entering directory '/home/pi/openbsc/openbsc/include'
Making all in openbsc
make[3]: Entering directory '/home/pi/openbsc/openbsc/include/openbsc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/include/openbsc'
make[3]: Entering directory '/home/pi/openbsc/openbsc/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/include'
make[2]: Leaving directory '/home/pi/openbsc/openbsc/include'
Making all in src
make[2]: Entering directory '/home/pi/openbsc/openbsc/src'
Making all in libcommon
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libcommon'
  CC       bsc_version.o
  AR       libcommon.a
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libcommon'
Making all in libmgcp
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libmgcp'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libmgcp'
Making all in libbsc
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libbsc'
  CC       bts_ipaccess_nanobts.o
bts_ipaccess_nanobts.c: In function ‘ipaccess_sign_link_up’:
bts_ipaccess_nanobts.c:577:42: error: dereferencing pointer to incomplete
type
  bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id);
                                          ^
bts_ipaccess_nanobts.c:577:56: error: dereferencing pointer to incomplete
type
  bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id);
                                                        ^
In file included from ../../include/openbsc/debug.h:8:0,
                 from bts_ipaccess_nanobts.c:36:
bts_ipaccess_nanobts.c:580:37: error: dereferencing pointer to incomplete
type
    " %u/%u/%u, disconnecting\n", dev->site_id,
                                     ^
bts_ipaccess_nanobts.c:581:7: error: dereferencing pointer to incomplete
type
    dev->bts_id, dev->trx_id);
       ^
bts_ipaccess_nanobts.c:581:20: error: dereferencing pointer to incomplete
type
    dev->bts_id, dev->trx_id);
                    ^
bts_ipaccess_nanobts.c:585:7: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
       ^
bts_ipaccess_nanobts.c:585:21: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
                     ^
bts_ipaccess_nanobts.c:585:34: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
                                  ^
bts_ipaccess_nanobts.c:600:53: error: dereferencing pointer to incomplete
type
   struct gsm_bts_trx *trx = gsm_bts_trx_num(bts, dev->trx_id);
                                                     ^
bts_ipaccess_nanobts.c:611:38: error: dereferencing pointer to incomplete
type
   ts = &line->ts[E1INP_SIGN_RSL + dev->trx_id - 1];
                                      ^
Makefile:398: recipe for target 'bts_ipaccess_nanobts.o' failed
make[3]: *** [bts_ipaccess_nanobts.o] Error 1
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libbsc'
Makefile:346: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/pi/openbsc/openbsc/src'
Makefile:437: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/openbsc/openbsc'
Makefile:354: recipe for target 'all' failed
make: *** [all] Error 2
##########################################################################
pi at dwarfabd:~/openbsc/openbsc $ make check
make  check-recursive
make[1]: Entering directory '/home/pi/openbsc/openbsc'
Making check in doc
make[2]: Entering directory '/home/pi/openbsc/openbsc/doc'
Making check in examples
make[3]: Entering directory '/home/pi/openbsc/openbsc/doc/examples'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/doc/examples'
make[3]: Entering directory '/home/pi/openbsc/openbsc/doc'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/doc'
make[2]: Leaving directory '/home/pi/openbsc/openbsc/doc'
Making check in include
make[2]: Entering directory '/home/pi/openbsc/openbsc/include'
Making check in openbsc
make[3]: Entering directory '/home/pi/openbsc/openbsc/include/openbsc'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/include/openbsc'
make[3]: Entering directory '/home/pi/openbsc/openbsc/include'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/include'
make[2]: Leaving directory '/home/pi/openbsc/openbsc/include'
Making check in src
make[2]: Entering directory '/home/pi/openbsc/openbsc/src'
Making check in libcommon
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libcommon'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libcommon'
Making check in libmgcp
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libmgcp'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libmgcp'
Making check in libbsc
make[3]: Entering directory '/home/pi/openbsc/openbsc/src/libbsc'
  CC       bts_ipaccess_nanobts.o
bts_ipaccess_nanobts.c: In function ‘ipaccess_sign_link_up’:
bts_ipaccess_nanobts.c:577:42: error: dereferencing pointer to incomplete
type
  bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id);
                                          ^
bts_ipaccess_nanobts.c:577:56: error: dereferencing pointer to incomplete
type
  bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id);
                                                        ^
In file included from ../../include/openbsc/debug.h:8:0,
                 from bts_ipaccess_nanobts.c:36:
bts_ipaccess_nanobts.c:580:37: error: dereferencing pointer to incomplete
type
    " %u/%u/%u, disconnecting\n", dev->site_id,
                                     ^
bts_ipaccess_nanobts.c:581:7: error: dereferencing pointer to incomplete
type
    dev->bts_id, dev->trx_id);
       ^
bts_ipaccess_nanobts.c:581:20: error: dereferencing pointer to incomplete
type
    dev->bts_id, dev->trx_id);
                    ^
bts_ipaccess_nanobts.c:585:7: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
       ^
bts_ipaccess_nanobts.c:585:21: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
                     ^
bts_ipaccess_nanobts.c:585:34: error: dereferencing pointer to incomplete
type
    dev->site_id, dev->bts_id, dev->trx_id);
                                  ^
bts_ipaccess_nanobts.c:600:53: error: dereferencing pointer to incomplete
type
   struct gsm_bts_trx *trx = gsm_bts_trx_num(bts, dev->trx_id);
                                                     ^
bts_ipaccess_nanobts.c:611:38: error: dereferencing pointer to incomplete
type
   ts = &line->ts[E1INP_SIGN_RSL + dev->trx_id - 1];
                                      ^
Makefile:398: recipe for target 'bts_ipaccess_nanobts.o' failed
make[3]: *** [bts_ipaccess_nanobts.o] Error 1
make[3]: Leaving directory '/home/pi/openbsc/openbsc/src/libbsc'
Makefile:346: recipe for target 'check-recursive' failed
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/home/pi/openbsc/openbsc/src'
Makefile:437: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/pi/openbsc/openbsc'
Makefile:728: recipe for target 'check' failed
make: *** [check] Error 2

Thanks
Abdulghafar


On Thu, Aug 11, 2016 at 7:41 PM, Neels Hofmeyr <nhofmeyr at sysmocom.de> wrote:

> On Wed, Aug 10, 2016 at 06:16:22PM +0100, Abdulghafar Shabaneh wrote:
> > Hi Neels
> >
> > I did build everything again and got the same error, I use git version
> > 2.1.4
> > there is no PROJECT in the git link you provided but I use the normal
> ones
> > from
>
> As with common shell scripting lingo, the "$PROJECT" was intended to be
> replaced with the separate project names following below, and actually
> you've
> done this correctly:
>
> > git clone git://git.osmocom.org/libosmocore.git
> > git clone git://git.osmocom.org/libosmo-abis.git
> > git clone git://git.osmocom.org/libosmo-netif.git
> > git clone git://git.osmocom.org/libosmo-sccp.git
> > git clone git://git.osmocom.org/openggsn.git
> > git clone git://git.osmocom.org/libsmpp34.git
> > git clone git://git.osmocom.org/openbsc.git
>
> I have verified that the build works on my raspberry. I must say it takes
> impossibly long to build :)
>
> My pi hasn't been upgraded in a long time (because that also takes
> impossibly
> long). It is still on Debian 7.5.
>
> Here are the things I did for a working build:
>
> # make /usr/local owned by me, so I can install there without sudo
> sudo chown -R $USER /usr/local
>
> # install dependencies
> sudo apt-get install automake build-essential gcc pkg-config libc-ares-dev
> libdbi-dev libpcap-dev libpcsclite-dev libsctp-dev libssl-dev libtalloc-dev
> libtool make libortp-dev libdbd-sqlite3
>
> # make sure all the libraries will be found -- raspberry pi seems to not
> # include /usr/local by default. Without this I get an error for openbsc's
> make
> # check that the libosmo-abis.so.5 it not found, in the testsuite.log:
> # (note that you have to do this in every shell you open, or include in
> your
> # ~/.profile or something similar.)
> export LD_LIBRARY_PATH=/usr/local/lib
>
> # finally clone and build all projects as listed above.
> git clone xxx
> cd xxx
> autoreconf -fi
> ./configure
> make
> make check
> make install
> cd ..
>
> # For openbsc, you need to build in openbsc/openbsc, and I passed these
> config
> # options:
> ./configure --enable-smpp --enable-osmo-bsc --enable-nat
>
> Thus osmo-nitb works:
>
> neels at raspberrypi ~/osmo/openbsc/openbsc/src/osmo-nitb $ ./osmo-nitb -c
> ../../doc/examples/osmo-nitb/sysmobts/openbsc.cfg
> <0005> bsc_init.c:498 VTY at 127.0.0.1 4242
> <001d> input/ipaccess.c:838 enabling ipaccess BSC mode
> <0016> smpp_smsc.c:978 SMPP at 0.0.0.0 2775
> <0005> bsc_hack.c:318 CTRL at 127.0.0.1 4249
> DB: Database initialized.
> DB: Database prepared.
>
>
> > I have a text file for each of the terminal output but this is too long.
> > Should I send them separately or in one long email. I'll ask in the list
> > once you tell me.
>
> If the above instructions still don't resolve the issue:
>
> It would be sufficient to provide all the commands you have issued and the
> (final) error message(s) produced. But to make sure that the juicy
> interesting
> bits aren't missing, it's easiest to post it all.
>
> Posting build output should not harm much; last time you posted a
> screenshot
> image file of a small portion of build output, which easily exceeds the
> file
> size of your complete build output in plain text format :)
>
> You can also opt for using services like http://paste.lisp.org
>
> Make sure you don't forget to include the commands you ran to start the
> build!
>
> ~Neels
>
>
> --
> - Neels Hofmeyr <nhofmeyr at sysmocom.de>          http://www.sysmocom.de/
> =======================================================================
> * sysmocom - systems for mobile communications GmbH
> * Alt-Moabit 93
> * 10559 Berlin, Germany
> * Sitz / Registered office: Berlin, HRB 134158 B
> * Geschäftsführer / Managing Directors: Harald Welte
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20160816/6b8e6581/attachment.htm>


More information about the OpenBSC mailing list