Introduction
One day I’ve invented that it would be nice to play with real SS7 stack. The only available I’ve found is OpenSS7
Day 1 – 30/04/2009
Compiling from source files – failed. Somehow it breaks on my Fedora Core 10:
In file included from ../../openss7-0.9.2.G/streams/src/kernel/specfs.c:124: ../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c: In function ‘specfs_init_cache’: ../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:1406: warning: passing argument 5 of ‘kmem_cache_create’ from incompatible pointer type ../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:1406: error: too many arguments to function ‘kmem_cache_create’
Google research didn’t help…
Next try with precompiled packages: i’ve installed proper repo for yum:
[jhartman@jhartman yum.repos.d]$ pwd /etc/yum.repos.d [jhartman@jhartman yum.repos.d]$ cat openss7.repo [openss7] enabled = 1 name = OpenSS7 Repository baseurl = http://www.openss7.org/repos/rpms/fedora/9/i686 gpgcheck = 1 gpgkey = http://www.openss7.org/pubkey.asc
Shiii…. – again failure:
[jhartman@jhartman yum.repos.d]$ sudo yum install openss7 [sudo] password for jhartman: Loaded plugins: refresh-packagekit Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package openss7.noarch 0:0.9.2.G-1 set to be updated --> Processing Dependency: strxnet >= 0.9.2.12-1 for package: openss7 --> Processing Dependency: strinet >= 0.9.2.7-1 for package: openss7 --> Processing Dependency: streams >= 0.9.2.4-1 for package: openss7 --> Processing Dependency: strnsl >= 0.9.2.4-1 for package: openss7 --> Processing Dependency: strsock >= 0.9.2.4-1 for package: openss7 --> Processing Dependency: strcompat >= 0.9.2.7-1 for package: openss7 --> Processing Dependency: strxns >= 0.9.2.7-1 for package: openss7 --> Running transaction check ---> Package strsock.noarch 0:0.9.2.4-1 set to be updated --> Processing Dependency: strsock-lib = 0.9.2.4-1 for package: strsock ---> Package strcompat.noarch 0:0.9.2.7-1 set to be updated --> Processing Dependency: strcompat-lib = 0.9.2.7-1 for package: strcompat ---> Package strxnet.noarch 0:0.9.2.12-1 set to be updated --> Processing Dependency: strxnet-lib = 0.9.2.12-1 for package: strxnet ---> Package strnsl.noarch 0:0.9.2.4-1 set to be updated --> Processing Dependency: strnsl-lib = 0.9.2.4-1 for package: strnsl ---> Package strxns.noarch 0:0.9.2.7-1 set to be updated --> Processing Dependency: strxns-lib = 0.9.2.7-1 for package: strxns ---> Package strinet.noarch 0:0.9.2.7-1 set to be updated --> Processing Dependency: strinet-lib = 0.9.2.7-1 for package: strinet ---> Package streams.noarch 0:0.9.2.4-1 set to be updated --> Processing Dependency: streams-lib = 0.9.2.4-1 for package: streams --> Running transaction check ---> Package strcompat-lib.i686 0:0.9.2.7-1.fc9 set to be updated ---> Package strsock-lib.i686 0:0.9.2.4-1.fc9 set to be updated ---> Package strnsl-lib.i686 0:0.9.2.4-1.fc9 set to be updated ---> Package streams-lib.i686 0:0.9.2.4-1.fc9 set to be updated --> Processing Dependency: librpmio-4.4.so for package: streams-lib --> Processing Dependency: librpmdb-4.4.so for package: streams-lib --> Processing Dependency: librpm-4.4.so for package: streams-lib ---> Package strxnet-lib.i686 0:0.9.2.12-1.fc9 set to be updated ---> Package strinet-lib.i686 0:0.9.2.7-1.fc9 set to be updated ---> Package strxns-lib.i686 0:0.9.2.7-1.fc9 set to be updated --> Finished Dependency Resolution streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems --> Missing Dependency: librpm-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7) streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems --> Missing Dependency: librpmio-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7) streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems --> Missing Dependency: librpmdb-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7) Error: Missing Dependency: librpmdb-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7) Error: Missing Dependency: librpmio-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
Error: Missing Dependency: librpm-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
The problem seems to be rpm package installed on Fedora Core 10 in version 4.6 (notice that OpenSS7 binaries are targeting FC9)…
Next idea – compile rpm 4.4 from the source and put missing libraries into /usr/lib manually….
Nop…. bad idea. Small hint – do not try to force downgrade rpm! I spent 2 hours trying install rpm without rpm (and of course – without yum).
Finally – I gave up. Installed Fedora Core 9 on my VMWare and… still problems:
[jhartman@localhost ~]$ sudo yum --nogpgcheck install openss7-devel [sudo] password for jhartman: Loaded plugins: refresh-packagekit Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package openss7-devel.i686 0:0.9.2.G-1.fc9 set to be updated --> Processing Dependency: strnsl-devel >= 0.9.2.4-1 for package: openss7-devel --> Processing Dependency: strcompat-devel >= 0.9.2.7-1 for package: openss7-devel --> Processing Dependency: openss7 = 0.9.2.G-1 for package: openss7-devel --> Processing Dependency: strxns-devel >= 0.9.2.7-1 for package: openss7-devel --> Processing Dependency: strxnet-devel >= 0.9.2.12-1 for package: openss7-devel --> Processing Dependency: strsock-devel >= 0.9.2.4-1 for package: openss7-devel --> Processing Dependency: strinet-devel >= 0.9.2.7-1 for package: openss7-devel --> Processing Dependency: STREAMS-devel for package: openss7-devel --> Running transaction check . . Transaction Check Error: file /usr/share/man/man2/fdetach.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch file /usr/share/man/man2/getmsg.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch file /usr/share/man/man2/isastream.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch file /usr/share/man/man2/putmsg.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch
That’s all for today 🙁
To be continued…. I hope
Hey, Jarek.
Thanks for your blog insights. They’re all very interesting.
Did you have any more luck getting OpenSS7 going since your initial attempt? I am about to embark on a project that will make heavy use of it and I wondered if you had any more insights.
One thing that would be useful to know from you is whether OpenSS7 implements its own internal ASN.1 encoder/decoder successfully or whether an external one is required.
Regards,
Oliver