alire-index icon indicating copy to clipboard operation
alire-index copied to clipboard

Upgrade UXStrings to version 0.7.0.

Open Blady-Com opened this issue 9 months ago • 1 comments

Add UXStrings 4 implementation (Ada.Containers.Vectors). Use scenario variables in project files for choosing between UXStrings implementation UXS_VARIANT=UXS1..4. Add Keep_Empty_Parts default parameter to Split.

Blady-Com avatar May 03 '24 19:05 Blady-Com

  1. Build Crate (Alire toolchain) / macos-latest (pull_request)
The system package 'unixodbc' is about to be installed.
This action might require admin privileges and impact your system installation.
Do you want Alire to install this system package?
Using default: Yes
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
    arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.
stderr: Command ["brew", "install", "unixodbc"] exited with code 1

==> Is there a way to force macOS host with x86_64?

  1. Build Crate (MacPorts) / macos-latest (pull_request)
  2. Build Crate (alr dev) / macos-latest (pull_request)
Link
   [link]         alr-main.adb
-macosx_version_min has been renamed to -macos_version_min
ld: warning: ignoring duplicate libraries: '-lSystem'
0  0x10508df43  __assert_rtn + 64
1  0x104f8ff43  ld::AtomPlacement::findAtom(unsigned char, unsigned long long, ld::AtomPlacement::AtomLoc const*&, long long&) const + 1411
2  0x104fac431  ld::InputFiles::SliceParser::parseObjectFile(mach_o::Header const*) const + 19745
3  0x104fbcb71  ld::InputFiles::parseAllFiles(void (ld::AtomFile const*) block_pointer)::$_7::operator()(unsigned long, ld::FileInfo const&) const + 657
4  0x7ff8174eadef  _dispatch_client_callout2 + 8
5  0x7ff8174fc547  _dispatch_apply_invoke3 + 431
6  0x7ff8174eadbc  _dispatch_client_callout + 8
7  0x7ff8174ec04e  _dispatch_once_callout + 20
8  0x7ff8174fb740  _dispatch_apply_invoke + 184
9  0x7ff8174eadbc  _dispatch_client_callout + 8
10  0x7ff8174fa2ca  _dispatch_root_queue_drain + 871
11  0x7ff8174fa84f  _dispatch_worker_thread2 + 152
12  0x7ff817688b43  _pthread_wqthread + 262
ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.
collect2: error: ld returned 1 exit status
gprbuild: link of alr-main.adb failed

==> what to do?

  1. Build Crate (Distro toolchain) / arch-rolling
  2. Build Crate (Distro toolchain) / centos-stream-fsf-latest
  3. Build Crate (Distro toolchain) / fedora-latest
Dependencies (direct):
   gnat>=2021 | (>=12 & <2000)
   simple_components^4.62.0
Warning: Spent 0.46 seconds exploring complete solutions
Warning: Exploring incomplete solutions to dependencies, this may take some time...
Dependencies (solution):
   gnat=13.2.1 (gnat_external) (origin: external)
   simple_components=4.68.0 (origin: git)
Dependencies (missing):
   libgnutls^3.7 (indirect,hinted)
   unixodbc^2.3 (indirect,hinted)

==> Should I remove arch, centos, fedora from libgnutls and unixodbc?

  1. Build Crate (Distro toolchain) / debian-stable

uxstrings4.adb:241:24: error: cannot iterate over

==> I'll update alire.toml with gnat >= 13

  1. Build Crate (Alire toolchain) / windows-latest
  2. Build Crate (alr dev) / windows-latest
stderr: Failed Outcome because of exception: 
stderr: file "C:\Users\runneradmin\AppData\Local\alire\settings\indexes\community\repo\.git\objects\pack\pack-51ba3dc942d3737e9157fe4461059b4d37bc51fd.idx" could not be deleted
stderr: raised ADA.IO_EXCEPTIONS.USE_ERROR : file "C:\Users\runneradmin\AppData\Local\alire\settings\indexes\community\repo\.git\objects\pack\pack-51ba3dc942d3737e9157fe4461059b4d37bc51fd.idx" could not be deleted
ERROR: Could not delete index directory

==> what to do?

Blady-Com avatar May 04 '24 14:05 Blady-Com

I'm looking into the macOS issue. There are compilation failures in other platforms though.

mosteo avatar May 15 '24 11:05 mosteo

ERROR: Could not delete index directory

==> what to do?

This is something I must fix but it's benign, it's not failing the test. The actual problem is also the missing dependencies.

mosteo avatar May 17 '24 13:05 mosteo

I must say, the simple components are currently a rather heavy dependency. I want to split it into several crates with only the needed dependencies (e.g. I doubt you need unixodbc for your crate), but this is not happening in the immediate future.

mosteo avatar May 17 '24 13:05 mosteo

I must say, the simple components are currently a rather heavy dependency. I want to split it into several crates with only the needed dependencies (e.g. I doubt you need unixodbc for your crate), but this is not happening in the immediate future.

Yes, agreed, in the mean time, I propose to comment these dependencies as they are only needed for ODBC and TLS purpose. In that cases, forewarned users could installed them manually if not already done. What do you think?

Blady-Com avatar May 18 '24 13:05 Blady-Com

I'd prefer not to lie about hidden dependencies and instead solve the simple components packaging for good. Perhaps until the simple components are repackaged you could include only the sources you need with UXStrings (and a conflict with simple_components, in that case). If the licenses permit.

mosteo avatar May 21 '24 14:05 mosteo

you could include only the sources you need with UXStrings

They were included at the beginning, I bring them back.

Blady-Com avatar May 25 '24 17:05 Blady-Com