Package Details: tiledb 2.22.0-1

Git Clone URL: https://aur.archlinux.org/tiledb.git (read-only, click to copy)
Package Base: tiledb
Description: The Universal Storage Engine
Upstream URL: https://tiledb.com/
Licenses: MIT
Submitter: mortymacs
Maintainer: sixy6e
Last Packager: sixy6e
Votes: 0
Popularity: 0.000000
First Submitted: 2022-01-29 20:02 (UTC)
Last Updated: 2024-04-30 03:45 (UTC)

Latest Comments

sixy6e commented on 2023-10-13 01:20 (UTC)

Thanks @pekkarr for the helpful tips, on creating a better and more inline with AUR package build. I'll take a look this weekend at updating the build script. I believe some of the "depends" items were disabled by the original maintainer as the builds started to fail.

In the meantime, I've just bumped the version to "2.17.1".

pekkarr commented on 2023-09-29 11:24 (UTC)

A few comments about the PKGBUILD:

dependencies:

  • makedepends=('make') is unnecessary, since make is a dependency of the base-devel package.
  • git should be added to makedepends, because the build downloads external sources with git.
  • gcc should be removed from depends. It is only needed during build, but since gcc is a dependency of base-devel, it's not needed in makedepends either.
  • cmake should be moved from depends to makedepends, since it's only needed during build.
  • libwebp should be removed from depends. The bootstrap command explicitly disables the webp feature with --disable-webp, so libwebp isn't needed.
  • spdlog should be added to depends. The build process automatically downloads spdlog if it's not found in the system, but using the official Arch package would be better.
  • curl and openssl should also be added to depends, since the package links to shared libraries from those packages.

build:

  • In the bootstrap command, the prefix should be simply /usr. First of all, packages should never be installed to /usr/local. Secondly, specifying $pkgdir in the prefix is wrong: the result is that the package expects that it's installed into $pkgdir directory even at runtime. For example, the pkg-config metadata in the package will have $pkgdir as a prefix. The correct way to handle the installation into $pkgdir is to use the DESTDIR variable in the make install phase, in this case it should be make DESTDIR="$pkgdir" install-tiledb.
  • The -j option to make shouldn't be used without a good reason. Users can set their preferred parallel job count in MAKEFLAGS in makepkg.conf, and -j "$(nproc)" in PKGBUILD overrides that. The correct build command would be simply make.

Also there's a new upstream release of the package, 2.17.1.

mortymacs commented on 2023-05-12 21:55 (UTC)

@sixy6e thank you! Sure, you can take ownership of the package by clicking on the "Adopt Package" link.

sixy6e commented on 2023-05-12 11:44 (UTC)

Thanks so much for looking further into this. I'll go ahead with your suggestion and include some additional comments on your GitHub ticket with the TileDB folks.

Oh, that's a shame, I hope your new distro is working out well. In regards to the upkeep of this package, is it something that any user can just adopt? I wouldn't mind picking it up for a while if that's a possibility.

mortymacs commented on 2023-05-11 07:52 (UTC) (edited on 2023-05-11 07:53 (UTC) by mortymacs)

@sixy6e, I tried these steps inside a container:

$ pacman -Syu
$ pacman -S wget bzip2 cmake gcc libwebp lz4 zlib zstd make which git patch imagemagick
$ wget -c https://github.com/TileDB-Inc/TileDB/archive/refs/tags/2.15.2.tar.gz
$ tar xzf 2.15.2.tar.gz
$ cd TileDB-2.15.2/
$ mkdir build && cd build
$ ../bootstrap --prefix=/usr/local --enable-verbose --enable-serialization --enable-tools --disable-werror --disable-webp --disable-tests
$ make -j8

But I got this error:

/TileDB-2.15.2/tiledb/../tiledb/api/c_api_support/exception_wrapper/exception_wrapper.h:638:29: error: incomplete type ‘tiledb::api::CAPIFunctionContext<tiledb::api::tiledb_consolidation_plan_get_fragment_uri>’ used in nested name specifier

There is a ticket on TileDB, and you can contribute and explain your issue: https://github.com/TileDB-Inc/TileDB/issues/3189

I'm not using ArchLinux anymore, so I disowned the package.

sixy6e commented on 2023-05-11 06:53 (UTC)

Just now with a manual build I had success in forcing gcc=gcc-11 and c++=c++-11 and building 2.15.2.

So it seems related to the compiler.

I'll test again in a few hours using your PKGBUILD and forcing the same compiler version (gcc-11).

sixy6e commented on 2023-05-11 06:50 (UTC)

A bunch of these:

error: incomplete type ‘tiledb::api::CAPIFunctionContext<tiledb::api::tiledb_query_add_update_value>’ used in nested name specifier 638 | CAPIFunctionContext<f>::function_with_context; | ^~~~~~~~~~~~~~~~~~~~~

And finishing off with this:

[ 10%] Building CXX object tiledb/type/range/CMakeFiles/range.dir/range.cc.o make[4]: *** [CMakeFiles/Makefile2:2385: tiledb/CMakeFiles/TILEDB_CORE_OBJECTS.dir/all] Error 2 make[4]: *** Waiting for unfinished jobs.... [ 10%] Built target capi_data_order [ 10%] Built target capi_datatype [ 10%] Built target range make[3]: *** [Makefile:146: all] Error 2 make[2]: *** [CMakeFiles/tiledb.dir/build.make:86: tiledb-prefix/src/tiledb-stamp/tiledb-build] Error 2 make[1]: *** [CMakeFiles/Makefile2:204: CMakeFiles/tiledb.dir/all] Error 2 make: *** [Makefile:91: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... -> error making: tiledb-exit status 4 -> Failed to install the following packages. Manual intervention is required: tiledb - exit status 4

mortymacs commented on 2023-05-11 06:48 (UTC)

Hi @sixy6e,

What error you got?

sixy6e commented on 2023-05-11 04:21 (UTC)

Hey @mortymacs, thanks for creating this package. I'm wondering if you've had any recent success in building this package? I'm trying to upgrade from 2.8.0 but compilation fails. I've tried both this AUR package as well as manual and both fail. I've recently upgraded gcc to:

gcc version 13.1.1 20230429 (GCC)

which may have something to do with the failing build (as I can't even replicate the 2.8.0 build now).

Cheers