handdator

Visa fullständig version : Problem med make



ozean
2016-09-20, 21:33
Försöker att installera OSCAM på en linuxserver med hjälp av guiden https://www.comhit.net/content.php/195-PC-och-OSCam-CardServer. Har precis installerat cmake och försöker nu att köra "cmake -DWEBIF=1 .." men får detta error meddelande, vad är fel?

/usr/src/oscam/oscam-svn/build # cmake -DWEBIF=1 ..
-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:1 (project):
No CMAKE_C_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/usr/src/oscam/oscam-svn/build/CMakeFiles/CMakeOutput.log".
See also "/usr/src/oscam/oscam-svn/build/CMakeFiles/CMakeError.log".

atomized
2016-09-20, 21:55
Du saknar troligen kompilator och andra verktyg. Prova att först installera nödvändiga verktyg med kommandot:
apt-get install build-essential
och sedan köra efter guiden.

ozean
2016-09-21, 07:02
Jag har installerat Cmake så det verkar inte vara problemet. Jag tittade på http://www.streamboard.tv/oscam/wiki/BuildingOscam och där kör man "make" direkt, inget cmake som mellansteg.

"Here are the basic commands to compile your own OSCAM:

svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
cd oscam-svn
make"


Behöver man köra cmake ? Provade att skriva bara "make" och då rullade det på. Vad gör cmake som inte make gör?

Minime
2016-09-21, 09:04
make ska installeras i debian och ubuntu om man installerar "build-essential" som atomized (https://www.comhit.net/member.php/5151-atomized)
Skrev i inlägg #2 (https://www.comhit.net/showthread.php/38513-Problem-med-make?p=249562&viewfull=1#post249562)

make och cmake är två olika buildsystem.
make är en buildsystem och OSCam är anpassat för att kunna bygga programvaran från source koden.
cmake är också ett buildsystem och går säkerligen att använda om man vill, men source koden och själva buildsystemet för OSCam är inte helt optimerat eller anpassat för cmake.

atomized
2016-09-21, 09:55
cmake är också ett buildsystem och går säkerligen att använda om man vill, men source koden och själva buildsystemet för OSCam är inte helt optimerat eller anpassat för cmake.
I din guide skriver du att man ska använda cmake. Antar att du hade någon anledning att skriva så?

Jag är långtifrån någon expert på just kompilering men vi brukar skicka med vissa flaggor för webif och PC/SC-läsare med cmake kommandot. Om man nu hoppar över cmake så antar jag att man inte får de funktionerna utan att gå in och pilla i make-filerna, vilket i så fall kanske borde beskrivas?

Själv har jag alltid kört med cmake efter din guide och inte haft några problem med det. :)

Minime
2016-09-21, 10:26
Ser nu att den guiden och scripten jag har för Linux så använder man både cmake och make
cmake är nog en form av konfiguration istället för att skriva ./config.sh --enable WEBIF ext... fast går att använda enbart make med parametrar om nu bygg metoden är anpassat för det.

I Windows så använder jag en annan bygg metod med bara make.
det går alltså att använda båda alternativen.
Dock så är det lite skillnad på "bygg parametrarna" beroende på om man använder både cmake och make
eller enbart använder make.
Ska nog skriva om guiden för enbart make som används i Windows guiden.
Ett lite enklare sätt att bygga OSCam på, kanske är liten skillnad men man slipper då köra både cmake och make.

atomized
2016-09-21, 10:51
Ska nog skriva om guiden för enbart make som används i Windows guiden.
Ett lite enklare sätt att bygga OSCam på, kanske är liten skillnad men man slipper då köra både cmake och make.
Det låter bra Minime. Om du får till något bra/enklare så kan jag anpassa min Raspberry-guide efter det. :)

Kalle_P
2016-09-21, 19:48
hej
jag har läst nånstans att cmake är till för configuration, vad man vill ha med. cmake .. tar med allt.
för oscam kör jag cmake.. och sedan make jag tycker det är hur bekväm som helst.

Mvh Kalle

ozean
2016-09-21, 20:03
Jag körde "make config" och fick en grafisk dialog där jag kunde konfigurera vad som skulle ingå. Sedan kör jag "make" och jag får då följande...
linux-yzp2:/usr/src/oscam/oscam-svn # make
+-------------------------------------------------------------------------------
| OSCam ver: 1.20-unstable_svn rev: 11273 target: i586-suse-linux
| Tools:
| CROSS =
| CC = gcc
| Settings:
| CONF_DIR = /usr/local/etc
| CC_OPTS = -O2 -ggdb -pipe -ffunction-sections -fdata-sections
| CC_WARN = -W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition
| CFLAGS =
| LDFLAGS = -Wl,--gc-sections
| LIBS = -lpthread -ldl -lrt
| UseFlags =
| Config:
| Addons : WEBIF WEBIF_LIVELOG WEBIF_JQUERY TOUCH HAVE_DVBAPI READ_SDT_CHARSETS IRDETO_GUESSING CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CW_CYCLE_CHECK CLOCKFIX
| Protocols: CAMD35 CAMD35_TCP NEWCAMD CCCAM CCCSHARE GBOX RADEGAST SCAM SERIAL CONSTCW PANDORA GHTTP
| Readers : NAGRA CONAX CRYPTOWORKS VIACCESS VIDEOGUARD
| CardRdrs : PHOENIX
| Compiler : gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
| Config : build/i586-suse-linux/config.mak
| Binary : Distribution/oscam-1.20-unstable_svn11273-i586-suse-linux
+-------------------------------------------------------------------------------
CC cscrypt/des.c
CC cscrypt/md5.c
CC csctapi/atr.c
CC csctapi/icc_async.c
CC csctapi/io_serial.c
CC csctapi/protocol_t0.c
CC csctapi/protocol_t1.c
CC csctapi/ifd_phoenix.c
CC module-anticasc.c
CC module-cacheex.c
CC module-camd35-cacheex.c
CC module-camd35.c
CC module-cccam-cacheex.c
CC module-cccam.c
CC module-cccshare.c
CC module-constcw.c
CC module-csp.c
CC module-cw-cycle-check.c
CC module-dvbapi-chancache.c
CC module-dvbapi.c
CC module-gbox-helper.c
CC module-gbox-sms.c
CC module-gbox-cards.c
CC module-gbox.c
CC module-ird-guess.c
CC module-monitor.c
CC module-newcamd.c
CC module-newcamd-des.c
CC module-pandora.c
CC module-ghttp.c
CC module-radegast.c
CC module-scam.c
CC module-serial.c
CC module-stat.c
CC module-webif-lib.c
CC module-webif-tpl.c
CC module-webif.c
CC webif/pages.c
CC reader-common.c
CC reader-conax.c
CC reader-cryptoworks.c
CC reader-nagra.c
CC reader-viaccess.c
CC reader-videoguard-common.c
CC reader-videoguard1.c
CC reader-videoguard12.c
CC reader-videoguard2.c
CC oscam-aes.c
CC oscam-array.c
CC oscam-cache.c
CC oscam-chk.c
CC oscam-client.c
CC oscam-conf.c
CC oscam-conf-chk.c
CC oscam-conf-mk.c
CC oscam-config-account.c
CC oscam-config-global.c
CC oscam-config-reader.c
CC oscam-config.c
CC oscam-ecm.c
CC oscam-emm.c
CC oscam-emm-cache.c
CC oscam-failban.c
CC oscam-files.c
CC oscam-garbage.c
CC oscam-lock.c
CC oscam-log.c
CC oscam-log-reader.c
CC oscam-net.c
CC oscam-llist.c
CC oscam-reader.c
CC oscam-simples.c
CC oscam-string.c
CC oscam-time.c
CC oscam-work.c
CC oscam.c
CONF build/i586-suse-linux/config.c
LINK Distribution/oscam-1.20-unstable_svn11273-i586-suse-linux.debug
STRIP Distribution/oscam-1.20-unstable_svn11273-i586-suse-linux

Nu är frågan var oscam binär fil finns? I guiden står "Om allt nu gick vägen efter att ha byggt färdigt OSCam, så ska det nu finnas en binär fil (Körbar fil) i mappen som heter oscam". Var hittar jag den?

Kalle_P
2016-09-21, 20:27
försök med find -name oscam

ozean
2016-09-21, 20:48
hittar bara kataloger...

linux-yzp2:/usr/src/oscam/oscam-svn/build # find / -name oscam
/usr/src/oscam
/.snapshots/57/snapshot/usr/src/oscam
/.snapshots/58/snapshot/usr/src/oscam
/.snapshots/59/snapshot/usr/src/oscam
/.snapshots/60/snapshot/usr/src/oscam
/.snapshots/61/snapshot/usr/src/oscam
/.snapshots/62/snapshot/usr/src/oscam
linux-yzp2:/usr/src/oscam/oscam-svn/build #

Leatherface
2016-09-21, 22:03
STRIP Distribution/oscam-1.20-unstable_svn11273-i586-suse-linux

Nu är frågan var oscam binär fil finns? I guiden står "Om allt nu gick vägen efter att ha byggt färdigt OSCam, så ska det nu finnas en binär fil (Körbar fil) i mappen som heter oscam". Var hittar jag den?
Du har ju svaret framför ögonen på sista raden

STRIP Distribution/oscam-1.20-unstable_svn11273-i586-suse-linux

eftersom det inte är några / eller .. före så betyder det att det är i den katalog du kompilerat det i.
STRIP tar bara bort onödig debug kod som inte behövs i normala fall.

atomized
2016-09-21, 22:32
Som Leatherface säger, du har den färdiga filen i Distribution mappen.

ozean
2016-09-21, 22:35
Jo jag upptäckte det, var så fokuserad på vad som stod i guiden. Har hämtat Oscam med "svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn" och följt guiden men den stämmer inte fullt ut. Jag får kämpa vidare då oscam.conf, .server, .user också verkar ha uppdaterats med åren och jag måste läsa på om dessa så att jag får ihop det...

Tack alla så här långt!