Oscam

multimedia/oscam has disappeared. It seems to be marked BROKEN on FreeBSD 12 and 13. Not sure if this means that it can still be installed on 11. I installed it some time ago on one system, so should I be able to copy it to another? If it is still in ports, should I expect to be able to build it myself?

How can I tell what is 'broken' about it?
 
Looks like it is dropping out when compiling reader-cryptoworks.c from oscam:
Code:
reader-cryptoworks.c:10:18: error: field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
        BIGNUM          exp;
                        ^
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'struct bignum_st'
typedef struct bignum_st BIGNUM;
               ^
reader-cryptoworks.c:11:18: error: field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
        BIGNUM          ucpk;
                        ^
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'struct bignum_st'
typedef struct bignum_st BIGNUM;
 
Yes, this is what I got when trying to build it:-
Code:
root@tester:~ # cd /usr/ports/multimedia/oscam/
root@tester:/usr/ports/multimedia/oscam # make
===>  oscam-1.20_1 is marked as broken on FreeBSD 12.0: field has incomplete
type 'BIGNUM' (aka 'struct bignum_st').
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/oscam

Is there a fix I can apply?
 
Appears not difficult to fix: Walk thru the headers that get included and see why the definition is not proper. Then compare with Rel. 11, see what changed, and adapt.
The more difficult part then is to go into the configure of the port, see why that doesn't configure properly, and create a suitable fix. But that wouldn't be necessary if you just want to get the thing compiled.
Me, using neither that port, nor Rel12 yet, won't help here. Sorry.
 
The Makefile contains:-
Code:
.if ${SSL_DEFAULT} == base
BROKEN_FreeBSD_12=      field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
BROKEN_FreeBSD_13=      field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
.endif

and I suspect this has something to do with OpenSSL 1.1.1 - see https://wiki.freebsd.org/OpenSSL/Base and Thread 70103

Don't know how to resolve ${SSL_DEFAULT} == base.... Maybe just changing this would fix things, but what to?...
 
Back
Top