Package Details: magics++ 4.16.0-1

Git Clone URL: https://aur.archlinux.org/magics++.git (read-only, click to copy)
Package Base: magics++
Description: Magics is the latest generation of the ECMWF's Meteorological plotting software MAGICS.
Upstream URL: https://confluence.ecmwf.int/display/MAGP
Licenses: Apache
Submitter: graziano
Maintainer: capitalaslash
Last Packager: capitalaslash
Votes: 5
Popularity: 0.000123
First Submitted: 2016-03-28 17:02 (UTC)
Last Updated: 2025-04-16 15:03 (UTC)

Latest Comments

1 2 3 4 Next › Last »

weipeng1999 commented on 2025-08-17 04:53 (UTC)

this error happend because after gcc-13, compiler noloinger implicitly include <cstdint>. I Fix this error with following patch:

diff --git a/src/magics.h b/src/magics.h
index ac9ef18..2d3d9f0 100644
--- a/src/magics.h
+++ b/src/magics.h
@@ -81,6 +81,7 @@
#include <magics_config.h>

#include <climits>
+#include <cstdint>

#include "magics_export.h"

sir-deadile commented on 2025-07-17 22:41 (UTC)

When trying to install cdo from the AUR I encountered a problem with magics++, I tried installing this package to get a more understandable error, which is below. It consistently fails at around 40%


[ 40%] Building CXX object src/CMakeFiles/MagPlus.dir/common/ObjectParser.cc.o
In file included from /home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/magics.h:81,
                 from /home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/MagException.h:14,
                 from /home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/StreamParser.h:19,
                 from /home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.h:17,
                 from /home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:19:
/home/hiddenb/.cache/yay/magics++/src/build/src/magics_config.h:74:9: warning: ‘HAVE_GEOTIFF’ redefined
   74 | #define HAVE_GEOTIFF
      |         ^~~~~~~~~~~~
<command-line>: note: this is the location of the previous definition
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:124:25: error: ‘uint32_t’ was not declared in this scope
  124 | static std::string utf8(uint32_t code) {
      |                         ^~~~~~~~
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:21:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   20 | #include "Translator.h"
  +++ |+#include <cstdint>
   21 | #include "Value.h"
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:124:40: error: expected ‘,’ or ‘;’ before ‘{’ token
  124 | static std::string utf8(uint32_t code) {
      |                                        ^
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc: In member function ‘std::string magics::ObjectParser::unicode()’:
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:146:5: error: ‘uint32_t’ was not declared in this scope
  146 |     uint32_t code;
      |     ^~~~~~~~
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:146:5: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/home/hiddenb/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:147:24: error: ‘code’ was not declared in this scope
  147 |     iss >> std::hex >> code;
      |                        ^~~~
make[2]: *** [src/CMakeFiles/MagPlus.dir/build.make:4563: src/CMakeFiles/MagPlus.dir/common/ObjectParser.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1528: src/CMakeFiles/MagPlus.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
make: Leaving directory '/home/hiddenb/.cache/yay/magics++/src/build'
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: magics++-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
magics++ - exit status 4

Everything is updated on my system, and I don't think anything should be conflicting with this - I opted for a cleanBuild of packages.

Please may you help me understand if I have missed something, or if something isn't working correctly in this version

mo0zi commented on 2025-06-24 13:22 (UTC)

Hi

uname -a
Linux K 6.15.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 19 Jun 2025 14:41:19 +0000 x86_64 GNU/Linux

yay -Syu --aur
...
==> Making package: magics++ 4.16.0-1 (Tue 24 Jun 2025 02:30:31 PM CEST)
...
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:124:25: error: ‘uint32_t’ was not declared in this scope
  124 | static std::string utf8(uint32_t code) {
      |                         ^~~~~~~~
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:21:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   20 | #include "Translator.h"
  +++ |+#include <cstdint>
   21 | #include "Value.h"
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:124:40: error: expected ‘,’ or ‘;’ before ‘{’ token
  124 | static std::string utf8(uint32_t code) {
      |                                        ^
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc: In member function ‘std::string magics::ObjectParser::unicode()’:
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:146:5: error: ‘uint32_t’ was not declared in this scope
  146 |     uint32_t code;
      |     ^~~~~~~~
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:146:5: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
~/.cache/yay/magics++/src/Magics-4.16.0-Source/src/common/ObjectParser.cc:147:24: error: ‘code’ was not declared in this scope
  147 |     iss >> std::hex >> code;
      |                        ^~~~
make[2]: *** [src/CMakeFiles/MagPlus.dir/build.make:4563: src/CMakeFiles/MagPlus.dir/common/ObjectParser.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1528: src/CMakeFiles/MagPlus.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

Thanks for help!

capitalaslash commented on 2025-04-16 15:05 (UTC)

I directly updated to v4.16.0 and this solves the cmake compatibility as well

hol430 commented on 2025-04-15 03:44 (UTC) (edited on 2025-04-15 03:44 (UTC) by hol430)

This doesn't build with cmake >= 4.0. Passing -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to cmake fixes the problem.

CMake Error at cmake/ecbuild_project.cmake:44 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Call Stack (most recent call first):
  CMakeLists.txt:18 (project)


CMake Error at CMakeLists.txt:18 (project):
  cmake_policy PUSH without matching POP

capitalaslash commented on 2024-06-09 22:42 (UTC)

updated to latest version and patched the error

bakamotokatas commented on 2024-06-09 14:35 (UTC)

I am getting following error;

[ 58%] Building C object src/CMakeFiles/MagPlus.dir/drivers/minizip/ioapi.c.o
[ 59%] Building C object src/CMakeFiles/MagPlus.dir/drivers/minizip/zip.c.o
/var/tmp/pamac-build-bakamotokatas/magics++/src/Magics-4.15.4-Source/src/drivers/minizip/zip.c: In function ‘zipOpenNewFileInZip3’:
/var/tmp/pamac-build-bakamotokatas/magics++/src/Magics-4.15.4-Source/src/drivers/minizip/zip.c:883:28: error: assignment to ‘const long unsigned int *’ from incompatible pointer type ‘const z_crc_t *’ {aka ‘const unsigned int *’} [-Wincompatible-pointer-types]
  883 |         zi->ci.pcrc_32_tab = get_crc_table();
      |                            ^
make[2]: *** [src/CMakeFiles/MagPlus.dir/build.make:6576: src/CMakeFiles/MagPlus.dir/drivers/minizip/zip.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1243: src/CMakeFiles/MagPlus.dir/all] Error 2
make: *** [Makefile:166: all] Error 2 

capitalaslash commented on 2023-07-24 07:49 (UTC)

@dquesada that looks like a memory access beyond the size of a vector, cannot assess if it is coming from cdo or magics without a stack. Have you tried to ask to the cdo developers if they have tested their software with gcc 13?

You could try to compile magics and cdo using gcc11 from the aur to pinpoint if the problem is really connected to gcc13.

dquesada commented on 2023-07-22 09:58 (UTC) (edited on 2023-07-22 15:35 (UTC) by dquesada)

@capitalaslash, thanks a lot for updating the package!

Unfortunately it did not solve my issue, which remains:

/usr/include/c++/13.1.1/bits/stl_vector.h:1125: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = double; _Alloc = std::allocator<double>; reference = double&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.

I have rebuilt and updated all the related packages in the meantime. If you have any tips on how can this be solved I would greatly appreciate it.

Cheers!

capitalaslash commented on 2023-07-21 20:15 (UTC) (edited on 2023-07-21 20:16 (UTC) by capitalaslash)

@dquesada I have updated the package to the latest version (and it does not require the previous patch). I do not use cdo so I cannot verify your problem and/or if this update fixed it, please let me know if this solves it.