From nobody Thu Apr 27 02:27:59 2023 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 4Q6KQm22pLz47tgX for ; Thu, 27 Apr 2023 02:28:00 +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 4Q6KQm0LVpz42tK; Thu, 27 Apr 2023 02:28:00 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682562480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=/mX6rZ+LtMwkFlybBmN+NHGM8y74DAAOBnMt5GaHy+U=; b=TVwNZqLrZAsaGtiK/u7W+SJb2iF7cvI/Xfy468vsm+4MEDL6Z1jnpyNlAHAs2pYmtuQnnw y7ONtqA5mFrwfAFNzkoxf/zcvBrBJHW8YsJ6iplxNu/lQ+rNNRQ2c8puLZ354Uw0TUk9iL g+hBv2KSHIY0Fbt3f+63v6I7AjMRVvbUf8Acj8H2S6rs8Qv3XT3hWA6q3OjnTY7JTBJZFV 9IxdHtrQnMoAv/cPGa42uuS2lQqpgjOhFri7h5f18jN75hmt92CCh4dSniXbxY0kvgz5qS VttGsg8wucCWNo/j0Glmj5HP67QyD97CJxp7rC9gViDsmurAgggaRl/GVqiB8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682562480; a=rsa-sha256; cv=none; b=S82cZ255k5KZUKZcmafOIrTN6wnVd8dXKkprcx89nsd/wOPezQSgnFyp//qq+hi4aEUS1H T57aOTgj+3MAHQ2iVLJ6Ay6tm9arhS9Hx3a3J/PLDnCeYaqJeGuFHOSU9dZ26yIcpd5gul Rl6pMnNXcQYOoDZhzdcnRl1p5GH1lqQEU6WNrGbaZkSkpepUiQ2/U3Vk+MiUKvpMzBbvGU MSURkx+w072SFWmFbZIWRnfWCgHlvtmKSbeptnBsen45t0FZ/VjF5PyEtnzf/AqAnaQJxO Av79eu7ONHxifuXJb8Oibg+LvHHOUrMicsO4OqDyhIKxQtFW9P7l1HWnStmsJA== Received: from beefy17.nyi.freebsd.org (beefy17.nyi.freebsd.org [IPv6:2610:1c1:1:6080::16:20]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q6KQl6WR7zyrF; Thu, 27 Apr 2023 02:27:59 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) Received: from beefy17.nyi.freebsd.org (localhost [127.0.0.1]) by beefy17.nyi.freebsd.org (8.16.1/8.16.1) with ESMTP id 33R2RxsR008823; Thu, 27 Apr 2023 02:27:59 GMT (envelope-from pkg-fallout@FreeBSD.org) Received: (from root@localhost) by beefy17.nyi.freebsd.org (8.16.1/8.16.1/Submit) id 33R2RxfG008813; Thu, 27 Apr 2023 02:27:59 GMT (envelope-from pkg-fallout@FreeBSD.org) Date: Thu, 27 Apr 2023 02:27:59 GMT From: pkg-fallout@FreeBSD.org Message-Id: <202304270227.33R2RxfG008813@beefy17.nyi.freebsd.org> To: lcook@FreeBSD.org Subject: [package - main-i386-default][graphics/cbonsai] Failed for cbonsai-1.3.1 in build Cc: pkg-fallout@FreeBSD.org X-ThisMailContainsUnwantedMimeParts: N 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: lcook@FreeBSD.org Log URL: https://pkg-status.freebsd.org/beefy17/data/main-i386-default/p519c178336e5_scb3c414f2f/logs/cbonsai-1.3.1.log Build URL: https://pkg-status.freebsd.org/beefy17/build.html?mastername=main-i386-default&build=p519c178336e5_scb3c414f2f Log: =>> Building graphics/cbonsai build started at Thu Apr 27 02:27:58 UTC 2023 port directory: /usr/ports/graphics/cbonsai package name: cbonsai-1.3.1 building for: FreeBSD main-i386-default-job-07 14.0-CURRENT FreeBSD 14.0-CURRENT 1400088 i386 maintained by: lcook@FreeBSD.org Makefile ident: Poudriere version: 3.2.8-23-ga7f8d188 Host OSVERSION: 1400073 Jail OSVERSION: 1400088 Job Id: 07 !!! Jail is newer than host. (Jail: 1400088, Host: 1400073) !!! !!! This is not supported. !!! !!! Host kernel must be same or newer than jail. !!! !!! Expect build failures. !!! ---Begin Environment--- SHELL=/bin/sh UNAME_p=i386 UNAME_m=i386 OSVERSION=1400088 UNAME_v=FreeBSD 14.0-CURRENT 1400088 UNAME_r=14.0-CURRENT 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 LOCALBASE=/usr/local USER=root LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.2.8-23-ga7f8d188 MASTERMNT=/usr/local/poudriere/data/.m/main-i386-default/ref POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM= PWD=/usr/local/poudriere/data/.m/main-i386-default/ref/.p/pool P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=main-i386-default SCRIPTPREFIX=/usr/local/share/poudriere OLDPWD=/usr/local/poudriere/data/.m/main-i386-default/ref/.p SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= DEPENDS_ARGS= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ===> The following configuration options are available for cbonsai-1.3.1: DOCS=on: Build and/or install documentation ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- lcook@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work XDG_CACHE_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work/.cache HOME=/wrkdirs/usr/ports/graphics/cbonsai/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/graphics/cbonsai/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/graphics/cbonsai/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work XDG_CACHE_HOME=/wrkdirs/usr/ports/graphics/cbonsai/work/.cache HOME=/wrkdirs/usr/ports/graphics/cbonsai/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/graphics/cbonsai/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/graphics/cbonsai/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=" -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-- PORTDOCS="" OSREL=14.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/cbonsai" EXAMPLESDIR="share/examples/cbonsai" DATADIR="share/cbonsai" WWWDIR="www/cbonsai" ETCDIR="etc/cbonsai" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/cbonsai DOCSDIR=/usr/local/share/doc/cbonsai EXAMPLESDIR=/usr/local/share/examples/cbonsai WWWDIR=/usr/local/www/cbonsai ETCDIR=/usr/local/etc/cbonsai --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 MACHINE=i386 MACHINE_ARCH=i386 ARCH=${MACHINE_ARCH} #### /usr/local/etc/poudriere.d/make.conf #### # 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 2 jobs MAKE_JOBS_NUMBER=2 #### /usr/ports/Mk/Scripts/ports_env.sh #### _CCVERSION_921dbbb2=FreeBSD clang version 15.0.7 (https://github.com/llvm/llvm-project.git llvmorg-15.0.7-0-g8dfdcc7b7bf6) Target: i386-unknown-freebsd14.0 Thread model: posix InstalledDir: /usr/bin _ALTCCVERSION_921dbbb2=none _CXXINTERNAL_acaad9ca=FreeBSD clang version 15.0.7 (https://github.com/llvm/llvm-project.git llvmorg-15.0.7-0-g8dfdcc7b7bf6) Target: i386-unknown-freebsd14.0 Thread model: posix InstalledDir: /usr/bin "/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--hash-style=both" "--enable-new-dtags" "-m" "elf_i386_fbsd" "-o" "a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" "/dev/null" "-lc++" "-lm" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/crtend.o" "/usr/lib/crtn.o" CC_OUTPUT_921dbbb2_58173849=yes CC_OUTPUT_921dbbb2_9bdba57c=yes CC_OUTPUT_921dbbb2_6a4fe7f5=yes CC_OUTPUT_921dbbb2_6bcac02b=yes CC_OUTPUT_921dbbb2_67d20829=yes CC_OUTPUT_921dbbb2_bfa62e83=yes CC_OUTPUT_921dbbb2_f0b4d593=yes CC_OUTPUT_921dbbb2_308abb44=yes CC_OUTPUT_921dbbb2_f00456e5=yes CC_OUTPUT_921dbbb2_65ad290d=yes CC_OUTPUT_921dbbb2_f2776b26=yes CC_OUTPUT_921dbbb2_53255a77=yes CC_OUTPUT_921dbbb2_911cfe02=yes CC_OUTPUT_921dbbb2_b2657cc3=yes CC_OUTPUT_921dbbb2_380987f7=yes CC_OUTPUT_921dbbb2_160933ec=yes CC_OUTPUT_921dbbb2_fb62803b=yes CC_OUTPUT_921dbbb2_af59ad06=yes CC_OUTPUT_921dbbb2_a15f3fcf=yes _OBJC_CCVERSION_921dbbb2=FreeBSD clang version 15.0.7 (https://github.com/llvm/llvm-project.git llvmorg-15.0.7-0-g8dfdcc7b7bf6) Target: i386-unknown-freebsd14.0 Thread model: posix InstalledDir: /usr/bin _OBJC_ALTCCVERSION_921dbbb2=none ARCH=i386 OPSYS=FreeBSD _OSRELEASE=14.0-CURRENT OSREL=14.0 OSVERSION=1400088 PYTHONBASE=/usr/local CONFIGURE_MAX_CMD_LEN=524288 HAVE_PORTS_ENV=1 #### Misc Poudriere #### 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) 524288 stack size (kbytes, -s) 65536 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) 1024 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-- =================================================== ===> License GPLv3 accepted by the user =========================================================================== =================================================== ===> cbonsai-1.3.1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.19.1_1.pkg [main-i386-default-job-07] Installing pkg-1.19.1_1... [main-i386-default-job-07] Extracting pkg-1.19.1_1: .......... done ===> cbonsai-1.3.1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of cbonsai-1.3.1 =========================================================================== =================================================== =========================================================================== =================================================== ===> License GPLv3 accepted by the user ===> Fetching all distfiles required by cbonsai-1.3.1 for building =========================================================================== =================================================== ===> License GPLv3 accepted by the user ===> Fetching all distfiles required by cbonsai-1.3.1 for building => SHA256 Checksum OK for jallbrit-cbonsai-7a6f4b0b0e1ce463691885b32a81517d2839d150_GL0.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> License GPLv3 accepted by the user ===> Fetching all distfiles required by cbonsai-1.3.1 for building ===> Extracting for cbonsai-1.3.1 => SHA256 Checksum OK for jallbrit-cbonsai-7a6f4b0b0e1ce463691885b32a81517d2839d150_GL0.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> Patching for cbonsai-1.3.1 =========================================================================== =================================================== =========================================================================== =================================================== =========================================================================== =================================================== ===> Configuring for cbonsai-1.3.1 =========================================================================== =================================================== ===> Building for cbonsai-1.3.1 --- cbonsai --- cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-qual -pedantic -fstack-protector-strong -o cbonsai cbonsai.c cbonsai.c:731:43: warning: format specifies type 'short' but the argument has type 'int' [-Wformat] else if (fg >= 8) printf("\033[9%him", fg - 8); ~~~ ^~~~~~ %i 1 warning generated. ld: error: undefined symbol: del_panel >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced 1 more times ld: error: undefined symbol: delwin >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(quit) >>> referenced 1 more times ld: error: undefined symbol: stdscr >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(finish) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(finish) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced 16 more times ld: error: undefined symbol: wclear >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(finish) ld: error: undefined symbol: wrefresh >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(finish) ld: error: undefined symbol: endwin >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(finish) ld: error: undefined symbol: wattr_on >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced 10 more times ld: error: undefined symbol: wprintw >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced 12 more times ld: error: undefined symbol: mvwprintw >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced 13 more times ld: error: undefined symbol: wattr_off >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawBase) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(branch) ld: error: undefined symbol: newwin >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(createMessageWindows) >>> referenced 1 more times ld: error: undefined symbol: replace_panel >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(createMessageWindows) >>> referenced 1 more times ld: error: undefined symbol: new_panel >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawWins) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(createMessageWindows) >>> referenced 1 more times ld: error: undefined symbol: wgetch >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(checkKeyPress) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(checkKeyPress) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(branch) >>> referenced 4 more times ld: error: undefined symbol: update_panels >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(updateScreen) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(branch) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawMessage) >>> referenced 1 more times ld: error: undefined symbol: doupdate >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(updateScreen) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(branch) >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawMessage) >>> referenced 1 more times ld: error: undefined symbol: wborder >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(createMessageWindows) ld: error: undefined symbol: waddch >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(drawMessage) ld: error: undefined symbol: savetty >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(init) ld: error: undefined symbol: initscr >>> referenced by cbonsai.c >>> /tmp/cbonsai-ff3e05.o:(init) ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors) cc: error: linker command failed with exit code 1 (use -v to see invocation) *** [cbonsai] Error code 1 make[1]: stopped in /wrkdirs/usr/ports/graphics/cbonsai/work/cbonsai-7a6f4b0b0e1ce463691885b32a81517d2839d150 1 error make[1]: stopped in /wrkdirs/usr/ports/graphics/cbonsai/work/cbonsai-7a6f4b0b0e1ce463691885b32a81517d2839d150 ===> 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/graphics/cbonsai