
Saturday, December 10, 2016
My fight with OpenSS7
Introduction
One day I decided it would be fun to play with a real SS7 stack. The only one I could find was OpenSS7.
Day 1 – 30/04/2009
Compiling from source failed — it broke on 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 didn’t help…
Next attempt: precompiled packages. I installed the 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 = <a title="Use CTRL + click or middle-click to open in a new tab">http://www.openss7.org/pubkey.asc</a>…and hit another 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 seemed to be the RPM version on Fedora Core 10 (4.6), while OpenSS7 binaries target FC9.
Next idea: compile RPM 4.4 from source and drop the missing libraries into /usr/lib manually…
Nope. Bad idea. Small hint: don’t try to downgrade RPM. I spent two hours trying to install rpm without rpm (and without yum).
Finally I gave up. I installed Fedora Core 9 in VMware and… still had 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.noarchThat’s all for today 🙁
To be continued… I hope.