Package Details: heasoft 6.29-1

Git Clone URL: (read-only, click to copy)
Package Base: heasoft
Description: NASA high energy astrophysics library
Upstream URL:
Licenses: GPL, NASA
Submitter: ydallilar
Maintainer: ydallilar
Last Packager: ydallilar
Votes: 2
Popularity: 0.018105
First Submitted: 2017-05-02 20:45 (UTC)
Last Updated: 2021-11-01 10:20 (UTC)

Latest Comments

ydallilar commented on 2021-11-05 14:44 (UTC) (edited on 2021-11-05 14:53 (UTC) by ydallilar)

Type following in ~/.bashrc. Then, test it in bash shell not zsh...

source /etc/profile.d/

Or, you can invoke bash shell with bash -l instead without modifying any files.

raman commented on 2021-11-05 03:07 (UTC)

   ~  heainit  ✔ zsh: command not found: heainit    ~   127 ✘

i have to add some alias in bashrc . please tell me how.

ydallilar commented on 2021-11-04 16:42 (UTC)

In a new terminal, just type heainit.

raman commented on 2021-11-04 14:07 (UTC) (edited on 2021-11-04 14:41 (UTC) by raman)

Thank you. Done building HEASoft. how to initiate it using alias heainit.

ydallilar commented on 2021-11-04 11:20 (UTC)

While building heasoft, you can replace this,

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
        -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
        -fstack-clash-protection -fcf-protection"


CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
        -Wp,-D_FORTIFY_SOURCE=2 \
        -fstack-clash-protection -fcf-protection"

Then, revert the changes after you are done.

raman commented on 2021-11-04 10:53 (UTC)

-- The download utilities that makepkg should use to acquire sources
Format: 'protocol::agent'

DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')

Other common tools:
/usr/bin/lftpget -c
-- The package required by makepkg to download VCS sources
Format: 'protocol::package'

VCSCLIENTS=('bzr::bzr' 'fossil::fossil' 'git::git' 'hg::mercurial' 'svn::subversion')


CARCH="x86_64" CHOST="x86_64-pc-linux-gnu"

-- Compiler and Linker Flags

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection" CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"

RUSTFLAGS="-C opt-level=2"
-- Make Flags: change this for DistCC/SMP systems
-- Debugging flags

DEBUG_CFLAGS="-g -fvar-tracking-assignments" DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"

DEBUG_RUSTFLAGS="-C debuginfo=2"
Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
A negated environment option will do the opposite of the comments below.
-- distcc: Use the Distributed C/C++/ObjC compiler
-- color: Colorize output messages
-- ccache: Use ccache to cache compilation
-- check: Run the check() function if present in the PKGBUILD
-- sign: Generate PGP signature file

BUILDENV=(!distcc color !ccache check !sign)

-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
-- specify a space-delimited list of hosts running in the DistCC cluster.
-- Specify a directory for package building.
These are default values for the options=() settings
Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
A negated option will do the opposite of the comments below.
-- strip: Strip symbols from binaries/libraries
-- docs: Save doc directories specified by DOC_DIRS
-- libtool: Leave libtool (.la) files in packages
-- staticlibs: Leave static library (.a) files in packages
-- emptydirs: Leave empty directories in packages
-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
-- purge: Remove files specified by PURGE_TARGETS
-- debug: Add debugging flags as specified in DEBUG_* variables
-- lto: Add compile flags for building with link time optimization

OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)

-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2


-- Options to be used when stripping binaries. See `man strip' for details.


-- Options to be used when stripping shared libraries. See `man strip' for details.


-- Options to be used when stripping static libraries. See `man strip' for details.


-- Manual (man and info) directories to compress (if zipman is specified)


-- Doc directories to remove (if !docs is specified)

DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})

-- Files to be removed from all packages (if purge is specified)

PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)

-- Directory to store source code in for debug packages


Default: put built package and cached source in build directory
-- Destination: specify a fixed directory where all packages will be placed
-- Source cache: specify a fixed directory where source files will be cached
-- Source packages: specify a fixed directory where all src packages will be placed
-- Log files: specify a fixed directory where all log files will be placed
-- Packager: name/email of the person or organization building packages
-- Specify a key to use for package signing

COMPRESSGZ=(gzip -c -f -n) COMPRESSBZ2=(bzip2 -c -f) COMPRESSXZ=(xz -c -z -) COMPRESSZST=(zstd -c -z -q -) COMPRESSLRZ=(lrzip -q) COMPRESSLZO=(lzop -q) COMPRESSZ=(compress -c -f) COMPRESSLZ4=(lz4 -q) COMPRESSLZ=(lzip -c -f)


PKGEXT='.pkg.tar.zst' SRCEXT='.src.tar.gz'

-- Command used to run pacman as root, instead of trying sudo and su

ydallilar commented on 2021-11-04 10:16 (UTC)

So, the issue is this:

mkanlinit.c: In function ‘main’:
mkanlinit.c:410:9: error: format not a string literal and no format arguments [-Werror=format-security]
  410 |         fprintf(fp, anlinit_template[2]);
      |         ^~~~~~~

This is a potential security flaw that comes with string formatting. I starting patching but I gave up since this error is one of too many that will come after fixing this. Scientific software is not quite up-to-date in this regard.

One way to get around it is to temporarily remove -Wformat -Werror=format-security flags. These reside in /etc/makepkg.conf in Archlinux, not sure about Manjaro. The flags would be in CFLAGS and CXXFLAGS variables.

Post the contents of your /etc/makepkg.conf here if you are not sure what to do.

ydallilar commented on 2021-11-04 06:21 (UTC) (edited on 2021-11-04 06:23 (UTC) by ydallilar)

My bad. Not here please. Send me an email. Written on top of PKGBUILD.

Edit and clear the two ultra long messages below.

raman commented on 2021-11-04 03:25 (UTC)

yes i am using Manjaro linux

ydallilar commented on 2021-11-03 17:31 (UTC)

You seem to be using Manjaro and I cant reproduce it in archlinux.

So, I dont have a Manjaro system to test and what you write is not at all useful. Please send me the full log to see why it fails.

Also, keep in mind we are not explicitly supporting Manjaro in AUR. If a package works, good. But, if it doesnt, it is maintainer's decision to help (or not).

raman commented on 2021-11-03 08:13 (UTC)

IR/Makefile-std:1071: all] Error 2 make[2]: Leaving directory '/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.29/suzaku/BUILD_DIR' make[1]: [Makefile:84: suzaku] Error 2 make[1]: Leaving directory '/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.29/BUILD_DIR' make: [Makefile:10: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

ydallilar commented on 2021-11-01 10:21 (UTC)

@raman Try now. 6.29 seems to compiling without issues.

raman commented on 2021-11-01 04:15 (UTC)

make[2]: [/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.28/suzaku/BUILD_DIR/Makefile-std:1071: all] Error 2 make[2]: Leaving directory '/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.28/suzaku/BUILD_DIR' make[1]: [Makefile:75: suzaku] Error 2 make[1]: Leaving directory '/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.28/BUILD_DIR' make: *** [Makefile:10: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

raman commented on 2021-10-31 14:57 (UTC) (edited on 2021-10-31 14:57 (UTC) by raman)

when will you solve my problem ? pamac build heasoft is not working.

ydallilar commented on 2021-10-29 09:19 (UTC)

@raman Please don't file deletion request. It is enough to put your comment below. ty

raman commented on 2021-10-29 09:13 (UTC) (edited on 2021-10-30 03:37 (UTC) by raman)

make[1]: [Makefile:75: suzaku] Error 2 make[1]: Leaving directory '/var/tmp/pamac-build-raman/heasoft/src/heasoft-6.28/BUILD_DIR' make: [Makefile:10: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

BoostCookie commented on 2021-05-04 17:18 (UTC)

The md5sum needs to be updated to 090bac7a7fb7e6691dbeeb55d93086d9

monson commented on 2020-04-20 09:00 (UTC)

@petronny Sorry, I added -j1 in build() but forgot the package(). Please update to 6.27.1-1 and it has been fixed.

petronny commented on 2020-04-20 06:44 (UTC)

Oops, accidently deleted the previous comment by mistake...

The previous error is solved now. However, I get the following error during package():

hd_install: Installing /build/heasoft/src/heasoft-6.27/suzaku/BUILD_DIR/lhea-fixperl in /build/heasoft/pkg/heasoft/opt/heasoft/suzaku/x86_64-pc-linux-gnu-libc2.31/BUILD_DIR/lhea-fixperl
hd_install: Installing /build/heasoft/src/heasoft-6.27/suzaku/BUILD_DIR/hd_install in /build/heasoft/pkg/heasoft/opt/heasoft/suzaku/x86_64-pc-linux-gnu-libc2.31/BUILD_DIR/hd_install
make[4]: Leaving directory '/build/heasoft/src/heasoft-6.27/suzaku/BUILD_DIR'
make[3]: Leaving directory '/build/heasoft/src/heasoft-6.27/suzaku/BUILD_DIR'
make[2]: Leaving directory '/build/heasoft/src/heasoft-6.27/suzaku/BUILD_DIR'
make[1]: Leaving directory '/build/heasoft/src/heasoft-6.27/BUILD_DIR'
make: *** [Makefile:17: install] Error 2
==> ERROR: A failure occurred in package().

I can't find out what error it is. Everything in the build log seems fine to me.

Could you run extra-x86_64-build to build the package in a clean chroot to re-produce this error and solve it?

ydallilar commented on 2020-04-16 09:24 (UTC)

@monson Done. I added you co-maintainer as well.

monson commented on 2020-04-16 03:16 (UTC)

Sure, if this really becomes an unneeded package to you. And there are something may need improved:

  1. You may want to use CHOST in ./configure --build=${CHOST} and adjust HEADAS, because me and some others are not using x86_64-unknown-linux-gnu.
  2. Hardcoding gcc seems unnecessary, people may want to compile this with other compilers, it's quite common using mkl and icc in large-scale computing. You may want to set CC in your makepkg.conf if you need it.
  3. python-numpy provides python binding functionality, without it heasp binding won't work even built with. But optdepends is just a hint so it doesn't bother me that much.

Thanks for your contribution!

ydallilar commented on 2020-04-16 00:19 (UTC) (edited on 2020-04-16 00:26 (UTC) by ydallilar)

@monson I added python-numpy and libidn. Let me know if you see any problems. Since I haven't been using this for a while, I can't fully test it. Also, let me know if you would like to be a co-maintainer.

Edit: Also, another comment. We can't add python-numpy to both makedepends and optdepends. optdepends is reserved for the case where the package is not required during compilation but it will provide additional functionality when installed.

@petronny You may want to check your settings in /etc/makepkg.conf. For example, I get similar issues with MAKEFLAGS="-j7".

monson commented on 2020-04-13 09:27 (UTC)

@petronny I didn't hit this, would you mind checking if it has been fixed in the newer version I provided in previous comment?

petronny commented on 2020-04-13 06:19 (UTC)


make[3]: Leaving directory '/build/heasoft/src/heasoft-6.26.1/heatools/BUILD_DIR'
make hd-std-subdir
make hd-std-subdir
make[2]: *** [/build/heasoft/src/heasoft-6.26.1/heatools/BUILD_DIR/Makefile-std:1062: all] Error 2
make[2]: Leaving directory '/build/heasoft/src/heasoft-6.26.1/heatools/BUILD_DIR'
make[6]: Entering directory '/build/heasoft/src/heasoft-6.26.1/tcltk/BUILD_DIR'
In file included from heasim.c:16:
heasim.h:11:10: fatal error: cfortran.h: No such file or directory
   11 | #include "cfortran.h"
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:75: heatools] Error 2
make[1]: *** Waiting for unfinished jobs....
hd_install: Installing /build/heasoft/src/heasoft-6.26.1/attitude/BUILD_DIR/hmakerc in /build/heasoft/src/heasoft-6.26.1/attitude/BLD/x86_64-pc-linux-gnu-libc2.31/BUILD_DIR/hmakerc
make install-tcl HD_TOP_EXEC_PFX=/build/heasoft/src/heasoft-6.26.1/tcltk/BLD/x86_64-pc-linux-gnu-libc2.31 HD_EXEC_PFX=/build/heasoft/src/heasoft-6.26.1/tcltk/BLD/x86_64-pc-linux-gnu-libc2.31 HD_CP_P="ln -s"
hd_install: Installing /build/heasoft/src/heasoft-6.26.1/ftools/BUILD_DIR/ in /build/heasoft/src/heasoft-6.26.1/ftools/BLD/x86_64-pc-linux-gnu-libc2.31/BUILD_DIR/
hd_install: Installing /build/heasoft/src/heasoft-6.26.1/suzaku/BUILD_DIR/config.log in /build/heasoft/src/heasoft-6.26.1/suzaku/BLD/x86_64-pc-linux-gnu-libc2.31/BUILD_DIR/config.log
In file included from finalize.c:8:
heasim.h:11:10: fatal error: cfortran.h: No such file or directory
   11 | #include "cfortran.h"
      |          ^~~~~~~~~~~~
compilation terminated.
initialize.c:9:10: fatal error: fitsio.h: No such file or directory
    9 | #include "fitsio.h"       /* cfitsio defined constants */
      |          ^~~~~~~~~~
Creating LYHelp.h
compilation terminated.
In file included from utils.c:8:
heasim.h:11:10: fatal error: cfortran.h: No such file or directory
   11 | #include "cfortran.h"
      |          ^~~~~~~~~~~~
compilation terminated.
spibkgsubtrct.c:11:10: fatal error: fitsio.h: No such file or directory
   11 | #include "fitsio.h"
      |          ^~~~~~~~~~
compilation terminated.

Could you fix this?

monson commented on 2020-04-10 07:41 (UTC) (edited on 2020-04-10 07:43 (UTC) by monson)


  1. libidn is needed by heacore/lynx for IDNA support, it seems optional, but I don't know what really happens if missing.
  2. python-numpy will be needed in makedepends, otherwise heacore/heasp won't build the python wrapper. python will be no needed if we add python-numpy in makedepends, because it will be implicit depends.

P.S., I'm pushing this to be added into arch4edu repo [1] .


ydallilar commented on 2020-04-06 09:53 (UTC)

@monson What is libidn for? I guess it should add python to makedepends but do we need python-numpy to build it?

monson commented on 2020-04-06 08:40 (UTC)

Hi @ydallilar, 6.27 is out, and I add some depends and handy tool, would you mind checkout [1] and take a look? Thanks!


ydallilar commented on 2017-06-26 15:13 (UTC)

Some packages fail to run due gcc-lib update. -> Recompiling works.