oscam-emu / oscam-patched-old

Open Source Cam Emulator
GNU General Public License v3.0
96 stars 55 forks source link

native aarch64 build fails with segfault #90

Closed stulluk closed 4 months ago

stulluk commented 2 years ago

I have a native aarch64 machine in the cloud and trying to build oscam-patched natively as follows:

ubuntu@omehost:~/oscam-patched$ uname -r
5.11.0-1028-oracle
ubuntu@omehost:~/oscam-patched$ arch
aarch64
ubuntu@omehost:~/oscam-patched$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:    20.04
Codename:   focal
ubuntu@omehost:~/oscam-patched$ git remote -v
origin  https://github.com/oscam-emu/oscam-patched.git (fetch)
origin  https://github.com/oscam-emu/oscam-patched.git (push)
ubuntu@omehost:~/oscam-patched$ git pull
Already up to date.
ubuntu@omehost:~/oscam-patched$ USE_SSL=1 make
+-------------------------------------------------------------------------------
| OSCam ver: 1.20_svn rev: 11711-798 target: aarch64-linux-gnu-ssl
| 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   = -fexpensive-optimizations -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
|  LDFLAGS  = -Wl,--gc-sections -DWITH_SSL=1 -DWITH_LIBCRYPTO=1 -Wl,--format=binary -Wl,SoftCam.Key -Wl,--format=default
|  LIBS     = -lssl -lcrypto -lm -lpthread -ldl
|  UseFlags = USE_SSL=1 USE_LIBCRYPTO=1
| Config:
|  Addons   : WEBIF WEBIF_LIVELOG WEBIF_JQUERY HAVE_DVBAPI READ_SDT_CHARSETS IRDETO_GUESSING WITH_DEBUG MODULE_MONITOR WITH_LB WITH_EMU WITH_SOFTCAM
|  Protocols: CAMD35 CAMD35_TCP NEWCAMD CCCAM CCCSHARE GBOX SCAM
|  Readers  : NAGRA NAGRA_MERLIN IRDETO CONAX CRYPTOWORKS SECA VIACCESS VIDEOGUARD DRE TONGFANG BULCRYPT GRIFFIN DGCRYPT
|  CardRdrs : PHOENIX INTERNAL STINGER
|  Compiler : gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
|  Config   : build/aarch64-linux-gnu-ssl/config.mak
|  Binary   : Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl
+-------------------------------------------------------------------------------
STRIP   Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl
make[1]: *** [Makefile:441: Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl] Error 1
make: *** [Makefile:408: all] Error 2
ubuntu@omehost:~/oscam-patched$ make clean
RM  build/aarch64-linux-gnu-ssl
RM  tests.bin
RM  tests.bin.debug
ubuntu@omehost:~/oscam-patched$ USE_SSL=1 make
+-------------------------------------------------------------------------------
| OSCam ver: 1.20_svn rev: 11711-798 target: aarch64-linux-gnu-ssl
| 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   = -fexpensive-optimizations -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
|  LDFLAGS  = -Wl,--gc-sections -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
|  LIBS     = -lssl -lcrypto -lm -lpthread -ldl
|  UseFlags = USE_SSL=1 USE_LIBCRYPTO=1
| Config:
|  Addons   : WEBIF WEBIF_LIVELOG WEBIF_JQUERY HAVE_DVBAPI READ_SDT_CHARSETS IRDETO_GUESSING WITH_DEBUG MODULE_MONITOR WITH_LB WITH_EMU WITH_SOFTCAM
|  Protocols: CAMD35 CAMD35_TCP NEWCAMD CCCAM CCCSHARE GBOX SCAM
|  Readers  : NAGRA NAGRA_MERLIN IRDETO CONAX CRYPTOWORKS SECA VIACCESS VIDEOGUARD DRE TONGFANG BULCRYPT GRIFFIN DGCRYPT
|  CardRdrs : PHOENIX INTERNAL STINGER
|  Compiler : gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
|  Config   : build/aarch64-linux-gnu-ssl/config.mak
|  Binary   : Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl
+-------------------------------------------------------------------------------
CC  cscrypt/des.c
CC  cscrypt/i_cbc.c
CC  cscrypt/i_ecb.c
CC  cscrypt/i_skey.c
CC  cscrypt/md5.c
CC  cscrypt/rc6.c
CC  cscrypt/mdc2.c
CC  cscrypt/fast_aes.c
CC  cscrypt/sha256.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  csctapi/ifd_sci.c
CC  csctapi/ifd_stinger.c
CC  minilzo/minilzo.c
CC  module-camd35.c
CC  module-cccam.c
CC  module-cccshare.c
CC  module-emulator.c
CC  module-emulator-osemu.c
CC  module-emulator-streamserver.c
CC  module-emulator-biss.c
CC  module-emulator-cryptoworks.c
CC  module-emulator-director.c
CC  module-emulator-irdeto.c
CC  module-emulator-nagravision.c
CC  module-emulator-powervu.c
CC  module-emulator-viaccess.c
CC  ffdecsa/ffdecsa.c
CC  module-dvbapi-chancache.c
CC  module-dvbapi.c
CC  module-gbox-helper.c
CC  module-gbox-sms.c
CC  module-gbox-remm.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-scam.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-bulcrypt.c
CC  reader-conax.c
CC  reader-cryptoworks.c
CC  reader-dgcrypt.c
CC  reader-dre.c
CC  reader-dre-cas.c
CC  reader-dre-common.c
CC  reader-dre-st20.c
CC  reader-griffin.c
CC  reader-irdeto.c
CC  reader-nagra-common.c
CC  reader-nagra.c
CC  reader-nagracak7.c
CC  reader-seca.c
CC  reader-tongfang.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-hashtable.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/aarch64-linux-gnu-ssl/config.c
LINK    Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl.debug
collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped
compilation terminated.
make[1]: *** [Makefile:436: Distribution/oscam-1.20_svn11711-798-aarch64-linux-gnu-ssl.debug] Error 1
make: *** [Makefile:408: all] Error 2
ubuntu@omehost:~/oscam-patched$

Any idea how to debug this?

nautilus7 commented 4 months ago

No, not really. Can you try with latest version?

stulluk commented 4 months ago

Waww, an answer after 2 years !!! Let me try :)

stulluk commented 4 months ago

Yes, tried with latest version, result it the same:

ubuntu@cloud ~/OSCAM-PATCHED $  git clone https://github.com/oscam-emu/oscam-patched.git
Cloning into 'oscam-patched'...
remote: Enumerating objects: 11252, done.
remote: Counting objects: 100% (8231/8231), done.
remote: Compressing objects: 100% (3064/3064), done.
remote: Total 11252 (delta 5625), reused 7316 (delta 5127), pack-reused 3021
Receiving objects: 100% (11252/11252), 6.35 MiB | 11.12 MiB/s, done.
Resolving deltas: 100% (7949/7949), done.
ubuntu@cloud ~/OSCAM-PATCHED $  cd oscam-patched/
ubuntu@cloud ~/OSCAM-PATCHED/oscam-patched (master) $  USE_SSL=1 make
+-------------------------------------------------------------------------------
| OSCam ver: 1.30_svn rev: 11756-800 target: aarch64-linux-gnu-ssl
| Tools:
|  CROSS    = 
|  CC       = gcc
| Settings:
|  CONF_DIR = /usr/local/etc
|  CC_OPTS  = -O2 -ggdb -pipe -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-schedule-insns
|  CC_WARN  = -W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition
|  CFLAGS   = -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
|  LDFLAGS  = -Wl,--gc-sections -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
|  LIBS     = -lssl -lcrypto -lm -lpthread -ldl
|  UseFlags = USE_SSL=1 USE_LIBCRYPTO=1
| Config:
|  Addons   : WEBIF WEBIF_LIVELOG WEBIF_JQUERY HAVE_DVBAPI READ_SDT_CHARSETS WITH_DEBUG MODULE_MONITOR WITH_LB WITH_EMU WITH_SOFTCAM
|  Protocols: CAMD35 CAMD35_TCP NEWCAMD CCCAM CCCSHARE GBOX
|  Readers  : NAGRA NAGRA_MERLIN IRDETO CONAX CRYPTOWORKS SECA VIACCESS VIDEOGUARD DRE TONGFANG BULCRYPT GRIFFIN DGCRYPT
|  CardRdrs : PHOENIX INTERNAL
|  Compiler : gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0)
|  Config   : build/aarch64-linux-gnu-ssl/config.mak
|  Binary   : Distribution/oscam-1.30_svn11756-800-aarch64-linux-gnu-ssl
+-------------------------------------------------------------------------------
HOSTCC  webif/pages_gen
GEN webif/pages.c
GEN Compressed 471768 template bytes into 178165 bytes. 293603 saved bytes (62.23%).
CC  cscrypt/des.c
CC  cscrypt/i_cbc.c
CC  cscrypt/i_ecb.c
CC  cscrypt/i_skey.c
CC  cscrypt/md5.c
CC  cscrypt/rc6.c
CC  cscrypt/mdc2.c
CC  cscrypt/fast_aes.c
CC  cscrypt/sha256.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  csctapi/ifd_sci.c
CC  minilzo/minilzo.c
CC  module-camd35.c
CC  module-cccam.c
CC  module-cccshare.c
CC  module-emulator.c
CC  module-emulator-osemu.c
CC  module-emulator-biss.c
CC  module-emulator-cryptoworks.c
CC  module-emulator-director.c
CC  module-emulator-irdeto.c
CC  module-emulator-nagravision.c
CC  module-emulator-powervu.c
CC  module-emulator-viaccess.c
CC  module-dvbapi-chancache.c
CC  module-dvbapi.c
CC  module-gbox-helper.c
CC  module-gbox-sms.c
CC  module-gbox-remm.c
CC  module-gbox-cards.c
CC  module-gbox.c
CC  module-monitor.c
CC  module-newcamd.c
CC  module-newcamd-des.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-bulcrypt.c
CC  reader-conax.c
CC  reader-cryptoworks.c
CC  reader-dgcrypt.c
CC  reader-dre.c
CC  reader-dre-cas.c
CC  reader-dre-common.c
CC  reader-dre-st20.c
CC  reader-griffin.c
CC  reader-irdeto.c
CC  reader-nagra-common.c
CC  reader-nagra.c
CC  reader-nagracak7.c
CC  reader-seca.c
CC  reader-tongfang.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-hashtable.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/aarch64-linux-gnu-ssl/config.c
LINK    Distribution/oscam-1.30_svn11756-800-aarch64-linux-gnu-ssl.debug
collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped
compilation terminated.
make[1]: *** [Makefile:460: Distribution/oscam-1.30_svn11756-800-aarch64-linux-gnu-ssl.debug] Error 1
make: *** [Makefile:432: all] Error 2
ubuntu@cloud ~/OSCAM-PATCHED/oscam-patched (master) $
stulluk commented 4 months ago

For future readers: I managed to build this repository in a khadas-edge sbc via:

git clone https://github.com/oscam-emu/oscam-patched.git
USE_SSL=1 make #to build dynamically
USE_SSL=1 make static #to build statically

Both works fine on both sbc and cloud server. It seems some toolchain issue happened on the cloud, thats why linker gives this error.

Closing the issue.

nautilus7 commented 4 months ago

Thanks, regards.