From nobody Fri Feb 23 21:30:32 2024 X-Original-To: pkg-fallout@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ThNTh3ckjz5BYHR for ; Fri, 23 Feb 2024 21:30:32 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ThNTh29D1z43tF for ; Fri, 23 Feb 2024 21:30:32 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708723832; a=rsa-sha256; cv=none; b=dQQZcj2/tkkdFkNrvFb3CZyq5gmTxTRfl9Gamevp6iCO8WySjt/tf/Ds39CvLczc20UYzf 7VM12y5ZzPtrd1ctJsxMp2alNJaMZbO/48Jc4QCm8O0E3uydQnaU7g803qrkbM7EUEYAxp 8leV8/GA4ZZ8Fs1eS3Gjkf/DGp3k7JYgIgOZdAaTYIpZIiUSulWvH4MXbE40Az8gM0+kj1 wi9zs8Gynu5JY29ZWP+ghdEYqCFD0wTCTR2p7tqD1TYxEJ+mgzFiX+DvNZ5XfGxEkXLZM6 1d4zgf4X+UsdfcCB0gNLbcJ4S5ao4JQiWb0xVSkYr5A4QseReC2Nsb1Tudn87w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708723832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=UnCeIObCDvn7c7FMFjmwPPqlQs9wzJQ9bjpe+QtOsok=; b=M2mDxGPMWYnCtjkhXUn9hGPThdZaS0rZRed8GDnyhHCZhQlgAPq4+woXsbE1H9k67AZPAC 7vJMp4mRw8/EntufOgThrtnEfBkG+92i9LYUdTALNXWTVPS91mKze/CYNg5xnn5A9aK24/ blsVw9JeH7pecHqcgvKVG+J96ha/p4JHapNx3RbZaW+wFe3IS8sJJJkxdMT/rdxyJ7rWH7 yP5tpAzv80wR1B87f88XIYmRjjQVRA1A10fPncB8qbBrwgQEAkd/S3WfA+lsRkZNyFOa0z EBDjxMk1zhlODQ4L5ekw96/A7HgK8UGIdIlklCK0YFWs2O609APwVDi4JvHJiA== Received: from ampere1.nyi.freebsd.org (ampere1.nyi.freebsd.org [IPv6:2610:1c1:1:6080::16:23]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ThNTh17VmzXm8 for ; Fri, 23 Feb 2024 21:30:32 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) Received: from root (uid 0) (envelope-from pkg-fallout@FreeBSD.org) id d0b by ampere1.nyi.freebsd.org (DragonFly Mail Agent v0.13+ on ampere1.nyi.freebsd.org); Fri, 23 Feb 2024 21:30:32 +0000 To: danfe@FreeBSD.org Subject: [package - 132arm64-quarterly][devel/xopcodecalc] Failed for xopcodecalc-0.05 in build Cc: pkg-fallout@FreeBSD.org Date: Fri, 23 Feb 2024 21:30:32 +0000 Message-Id: <65d90e78.d0b.72ea28ba@ampere1.nyi.freebsd.org> From: List-Id: Fallout logs from package building List-Archive: https://lists.freebsd.org/archives/freebsd-pkg-fallout List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkg-fallout@freebsd.org You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: danfe@FreeBSD.org Log URL: https://pkg-status.freebsd.org/ampere1/data/132arm64-quarterly/941d96c740f7/logs/xopcodecalc-0.05.log Build URL: https://pkg-status.freebsd.org/ampere1/build.html?mastername=132arm64-quarterly&build=941d96c740f7 Log: =>> Building devel/xopcodecalc build started at Fri Feb 23 21:30:09 UTC 2024 port directory: /usr/ports/devel/xopcodecalc package name: xopcodecalc-0.05 building for: FreeBSD 132arm64-quarterly-job-12 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 arm64 maintained by: danfe@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 907 Jan 16 01:02 /usr/ports/devel/xopcodecalc/Makefile Ports top last git commit: 941d96c74 Ports top unclean checkout: no Port dir last git commit: 72cbe1a32 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.1-1-g1e9f97d6 Host OSVERSION: 1500006 Jail OSVERSION: 1302001 Job Id: 12 ---Begin Environment--- SHELL=/bin/csh OSVERSION=1302001 UNAME_v=FreeBSD 13.2-RELEASE-p10 UNAME_r=13.2-RELEASE-p10 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.1-1-g1e9f97d6 MASTERMNT=/usr/local/poudriere/data/.m/132arm64-quarterly/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM= OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 PWD=/usr/local/poudriere/data/.m/132arm64-quarterly/12/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=132arm64-quarterly SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/132arm64-quarterly/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.1-1-g1e9f97d6 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ---End OPTIONS List--- --MAINTAINER-- danfe@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --prefix=/usr/local ${_LATE_CONFIGURE_ARGS} --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- PKG_CONFIG=pkgconf QT_SELECT=qt5 QMAKEMODULES="/wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05/mkspecs/modules:/usr/local/lib/qt5/mkspecs/modules" XDG_DATA_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work XDG_CACHE_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work/.cache HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/devel/xopcodecalc/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/devel/xopcodecalc/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=524288 --End CONFIGURE_ENV-- --MAKE_ENV-- QT_SELECT=qt5 QMAKEMODULES="/wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05/mkspecs/modules:/usr/local/lib/qt5/mkspecs/modules" XDG_DATA_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work XDG_CACHE_HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work/.cache HOME=/wrkdirs/usr/ports/devel/xopcodecalc/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/devel/xopcodecalc/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/devel/xopcodecalc/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -Wl,--undefined-version -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno- strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- QT_BINDIR="lib/qt5/bin" QT_INCDIR="include/qt5" QT_LIBDIR="lib/qt5" QT_ARCHDIR="lib/qt5" QT_PLUGINDIR="lib/qt5/plugins" QT_LIBEXECDIR="libexec/qt5" QT_IMPORTDIR="lib/qt5/imports" QT_QMLDIR="lib/qt5/qml" QT_DATADIR="share/qt5" QT_DOCDIR="share/doc/qt5" QT_L10NDIR="share/qt5/translations" QT_EXAMPLEDIR="share/examples/qt5" QT_TESTDIR="share/qt5/tests" QT_MKSPECDIR="lib/qt5/mkspecs" QT_TOOLDIR="lib/qt5/bin" OSREL=13.2 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/xopcodecalc" EXAMPLESDIR="share/examples/xopcodecalc" DATADIR="share/xopcodecalc" WWWDIR="www/xopcodecalc" ETCDIR="etc/xopcodecalc" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/xopcodecalc DOCSDIR=/usr/local/share/doc/xopcodecalc EXAMPLESDIR=/usr/local/share/examples/xopcodecalc WWWDIR=/usr/local/www/xopcodecalc ETCDIR=/usr/local/etc/xopcodecalc --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### #### # XXX: We really need this but cannot use it while 'make checksum' does not # try the next mirror on checksum failure. It currently retries the same # failed mirror and then fails rather then trying another. It *does* # try the next if the size is mismatched though. #MASTER_SITE_FREEBSD=yes # Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs MAKE_JOBS_NUMBER=3 #### Misc Poudriere #### .include "/etc/make.conf.ports_env" GID=0 UID=0 ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 1048576 stack size (kbytes, -s) 1048576 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 8192 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> xopcodecalc-0.05 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.20.9.pkg [132arm64-quarterly-job-12] Installing pkg-1.20.9... [132arm64-quarterly-job-12] Extracting pkg-1.20.9: .......... done ===> xopcodecalc-0.05 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of xopcodecalc-0.05 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user ===> Fetching all distfiles required by xopcodecalc-0.05 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user ===> Fetching all distfiles required by xopcodecalc-0.05 for building => SHA256 Checksum OK for horsicq-XOpcodeCalc-0.05_GH0.tar.gz. => SHA256 Checksum OK for horsicq-XAboutWidget-b3b2a0e_GH0.tar.gz. => SHA256 Checksum OK for horsicq-XOptions-5c058a4_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user ===> Fetching all distfiles required by xopcodecalc-0.05 for building ===> Extracting for xopcodecalc-0.05 => SHA256 Checksum OK for horsicq-XOpcodeCalc-0.05_GH0.tar.gz. => SHA256 Checksum OK for horsicq-XAboutWidget-b3b2a0e_GH0.tar.gz. => SHA256 Checksum OK for horsicq-XOptions-5c058a4_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for xopcodecalc-0.05 ===> Applying FreeBSD patches for xopcodecalc-0.05 from /usr/ports/devel/xopcodecalc/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> xopcodecalc-0.05 depends on package: pkgconf>=1.3.0_1 - not found ===> Installing existing package /packages/All/pkgconf-2.0.3_1,1.pkg [132arm64-quarterly-job-12] Installing pkgconf-2.0.3_1,1... [132arm64-quarterly-job-12] Extracting pkgconf-2.0.3_1,1: .......... done ===> xopcodecalc-0.05 depends on package: pkgconf>=1.3.0_1 - found ===> Returning to build of xopcodecalc-0.05 ===> xopcodecalc-0.05 depends on package: qt5-buildtools>=5.15 - not found ===> Installing existing package /packages/All/qt5-buildtools-5.15.12p148.pkg [132arm64-quarterly-job-12] Installing qt5-buildtools-5.15.12p148... [132arm64-quarterly-job-12] Extracting qt5-buildtools-5.15.12p148: .......... done touch: /usr/local/include/qt5/QtCore/qconfig-modules.h: No such file or directory sed: /usr/local/include/qt5/QtCore/qconfig-modules.h: No such file or directory pkg-static: POST-INSTALL script failed ===> xopcodecalc-0.05 depends on package: qt5-buildtools>=5.15 - found ===> Returning to build of xopcodecalc-0.05 ===> xopcodecalc-0.05 depends on package: qt5-qmake>=5.15 - not found ===> Installing existing package /packages/All/qt5-qmake-5.15.12p148.pkg [132arm64-quarterly-job-12] Installing qt5-qmake-5.15.12p148... [132arm64-quarterly-job-12] Extracting qt5-qmake-5.15.12p148: .......... done ===> xopcodecalc-0.05 depends on package: qt5-qmake>=5.15 - found ===> Returning to build of xopcodecalc-0.05 =========================================================================== ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :3:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rax ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :4:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rcx ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :5:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rdx ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :6:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rbx ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :7:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rsi ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :8:13: error: unrecognized instruction mnemonic, did you mean: ushl, ushr? push rdi ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :9:13: error: unrecognized instruction mnemonic pushf ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :11:33: error: unexpected token in argument list mov rsi,rdi # System V ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :12:35: error: unexpected token in argument list mov rax,QWORD PTR[rsi+0] ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :13:35: error: unexpected token in argument list mov rcx,QWORD PTR[rsi+8] ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :14:25: error: invalid operand for instruction mov rdx,0 ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :15:25: error: invalid operand for instruction mov rbx,0 ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :16:31: error: unexpected token in argument list push QWORD PTR[rsi+48] ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ :17:13: error: unrecognized instruction mnemonic popf ^ ../asm/gcc64.s:339:13: note: while in macro instantiation __ENTER ^ ../asm/gcc64.s:340:13: error: unrecognized instruction mnemonic, did you mean: add, addp, adds, addv, fadd, madd? xadd rax,rcx ^ :1:19: error: unexpected token in argument list mov QWORD PTR[rsi+16],rax ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :2:31: error: unexpected token in argument list mov QWORD PTR[rsi+24],rdx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :3:31: error: unexpected token in argument list mov QWORD PTR[rsi+32],rcx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :4:31: error: unexpected token in argument list mov QWORD PTR[rsi+40],rbx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :5:13: error: unrecognized instruction mnemonic pushf ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :6:31: error: unexpected token in argument list pop QWORD PTR[rsi+56] ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :8:13: error: unrecognized instruction mnemonic popf ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :9:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rdi ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :10:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rsi ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :11:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rbx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :12:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rdx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :13:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rcx ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :14:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rax ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :15:25: error: invalid operand for instruction mov rsp,rbp ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ :16:13: error: unrecognized instruction mnemonic, did you mean: nop? pop rbp ^ ../asm/gcc64.s:341:13: note: while in macro instantiation __LEAVE ^ *** [gcc64.o] Error code 1 make[2]: stopped in /wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05/gui_source 1 error make[2]: stopped in /wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05/gui_source *** [sub-gui_source-all] Error code 2 make[1]: stopped in /wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05 1 error make[1]: stopped in /wrkdirs/usr/ports/devel/xopcodecalc/work/XOpcodeCalc-0.05 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/devel/xopcodecalc