CardSharing-X

» CardSharing Section => General Tutorials => » CS Help and Tutorials « => OScam Tutorials => Topic started by: j@nic@r on December 04, 2011, 10:46:25 AM

Title: how to for compiling oscam on linux machines (32 bits & 64bits)
Post by: j@nic@r on December 04, 2011, 10:46:25 AM
how to for compiling oscam on linux machines (32 bits & 64bits)

this is a little howto for compiling oscam on some linux computers (debian, ubuntu, ...)

you need these prerequisites before starting (they can be installed with this command sudo apt-get install or with synaptic) :

build-essential
g++
libssl-dev
libusb-1.0-0-dev
libpcsclite-dev

sample :
   
sudo apt-get install libssl-dev



For 64bits computers, you have to check if this package is installed, or install of course : ia32-libs (sudo apt-get install ia32-libs)

For smartreader support, you must also create this symbolic link (only for debian, it should exist ubuntu) :

/usr/lib/libusb-1.0.a -> /usr/lib/i386-linux-gnu/libusb-1.0.a

   

   

sudo ln -s /usr/lib/i386-linux-gnu/libusb-1.0.a /usr/lib/libusb-1.0.a



PART 1/5 : DOWNLOADING LAST SVN VERSION
$ svn co
Code: You are not allowed to view links. Register or Login
http://www.streamboard.tv/svn/oscam/trunk/ oscam
A oscam-svn/module-cccam.h
A oscam-svn/Distribution
.................
..................
A oscam-svn/module-datastruct-llist.h
A oscam-svn/module-camd33.c
U oscam-svn
Revision 5988 downloaded.

I notice a little issue on ubuntu, don't know why CMakeLists.txt file is ignred. You just have force download of it if necessary :

cd oscam-svn
svn up CMakeLists.txt


PART 2/5 : CREATE WORKING DIRECTORY FOR COMPILING
$ cd oscam-svn
$ mkdir build


PART 3/5 : PREPARE COMPILING
$ cd build
$ cmake -DWEBIF=1 ..

-- The C compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- pthread found. Adding pthread support
-- Looking for openssl/aes.h
-- Looking for openssl/aes.h - found
-- checking for module 'openssl'
-- found openssl, version 1.0.0e
-- openssl found.
-- Looking for time.h
-- Looking for time.h - found
-- librt found (needed by libusb).
-- Looking for libusb-1.0/libusb.h
-- Looking for libusb-1.0/libusb.h - found
-- static libusb 1.0 found : /usr/lib/libusb-1.0.a . Adding smartreader support
-- Looking for PCSC/wintypes.h
-- Looking for PCSC/wintypes.h - found
-- The CXX compiler identification is GNU
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- librt found (needed by libusb).
-- Utils: pthread found. Adding pthread support
-- Utils: static libusb 1.0 found : /usr/lib/libusb-1.0.a . Adding smartreader support
-- Utils: operating system: Linux
-- Utils: system type: i686-pc-linux
-- Utils: system: linux
-- Utils: cpu: i686
-- Utils: hw: pc
-- Utils: use system static libusb
--
--
-- operating system: Linux
-- system type: i686-pc-linux
-- system: linux
-- cpu: i686
-- hw: pc
-- use libcrypto functions
-- use system pcsc functions
-- use system pthread functions
-- use system libusb functions
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/XXXXX/oscam/oscam-svn/build

if you have added some packages because of compilation error after using make command, you must delete build directory and start again the step.

PART 4/5 : COMPILING
$ make
Scanning dependencies of target csmodules
[ 1%] Building C object CMakeFiles/csmodules.dir/module-cccam.o
[ 2%] Building C object CMakeFiles/csmodules.dir/module-serial.o
[ 4%] Building C object CMakeFiles/csmodules.dir/module-radegast.o
...........
[ 97%] Built target csctapi
Scanning dependencies of target oscam
[ 98%] Building C object CMakeFiles/oscam.dir/oscam.o
/home/XXXXX/oscam/oscam-svn/oscam.c: In function ‘check_thread’:
/home/XXXXX/oscam/oscam-svn/oscam.c:3067:10: warning: variable ‘rc’ set but not used [-Wunused-but-set-variable]
Linking C executable oscam
[ 98%] Built target oscam
Scanning dependencies of target list_smargo
[100%] Building C object utils/CMakeFiles/list_smargo.dir/list_smargo.o
Linking C executable list_smargo
[100%] Built target list_smargo

PART 5/5 : LAUNCHING OSCAM
$ make
$ ll oscam
-rwxr-xr-x 1 XXXXX XXXXX 835528 oct. 16 13:12 oscam
$ ./oscam -h
___ ____ ___
/ _ \/ ___| / __|__ _ _ __ ___
| | | \___ \| | / _` | '_ ` _ \
| |_| |___) | |_| (_| | | | | | |
\___/|____/ \___\__,_|_| |_| |_|


OSCam cardserver v1.20-unstable_svn, build #5988 (i686-pc-linux) - (w) 2009-2011 Streamboard SVN
see http://streamboard.gmc.to/oscam/ for more details
based on Streamboard mp-cardserver v0.9d - (w) 2004-2007 by dukat
This program is distributed under GPL.
inbuilt add-ons: webif monitor $$$$$$-guessing anticascading debug loghistory smartreader pcsc loadbalancing
inbuilt protocols: camd35_udp camd35_tcp newcamd cccam gbox radegast serial constcw
inbuilt cardreaders: nagra $$$$$$ $$$$$ cryptoworks seca $$$$$$$$ videoguard dre tongfang

oscam [-b] [-s] [-c ] [-t ] [-d ] [-r ] [-h]

-b : start in background
-s : capture segmentation faults
-c : read configuration from
default = /usr/local/etc
-t : tmp dir
default = /tmp/.oscam
-d : debug level mask
0 = no debugging (default)
1 = detailed error messages
2 = ATR parsing info, ECM, EMM and CW dumps
4 = traffic from/to the reader
8 = traffic from/to the clients
16 = traffic to the reader-device on IFD layer
32 = traffic to the reader-device on I/O layer
64 = EMM logging
128 = DVBAPI logging
255 = debug all
-r : restart level
0 = disabled, restart request sets exit status 99
1 = restart activated, web interface can restart oscam (default)
2 = like 1, but also restart on segmentation faults
-w : wait up to seco$$$ for the system time to be set correctly (default 60)
-u : enable output of web interface in UTF-8 charset. Read documentation before enabling this!
-h : show this help


tnx lightman33