Package Details: air 1.62.0-1

Git Clone URL: https://aur.archlinux.org/air.git (read-only, click to copy)
Package Base: air
Description: Live reload for Go apps
Upstream URL: https://github.com/air-verse/air
Keywords: go live-reload task-runner watcher
Licenses: GPL-3.0-or-later
Submitter: grawlinson
Maintainer: carlosal1015
Last Packager: carlosal1015
Votes: 3
Popularity: 0.000124
First Submitted: 2020-06-20 07:19 (UTC)
Last Updated: 2025-06-02 18:30 (UTC)

Dependencies (3)

Required by (0)

Sources (1)

Latest Comments

SoftExpert commented on 2025-06-02 19:21 (UTC) (edited on 2025-06-02 19:21 (UTC) by SoftExpert)

Seems to be an issue 773 with air 1.62.0

SoftExpert commented on 2025-06-02 19:19 (UTC)

Build of 1.62.0 fails with

❯ makepkg
==> Making package: air 1.62.0-1 (lun. 02 juin 2025 21:18:41)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating air git repo...
==> Validating source files with b2sums...
    air ... Passed
==> Extracting sources...
  -> Creating working copy of air git repo...
Reset branch 'makepkg'
==> Starting prepare()...
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-linkmode requires external (cgo) linking, but cgo is not enabled
==> ERROR: A failure occurred in build().
    Aborting...

If I enable CGO, I get:

❯ makepkg
==> Making package: air 1.62.0-1 (lun. 02 juin 2025 21:14:03)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating air git repo...
==> Validating source files with b2sums...
    air ... Passed
==> Extracting sources...
  -> Creating working copy of air git repo...
Reset branch 'makepkg'
==> Starting prepare()...
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
# github.com/air-verse/air
flag provided but not defined: -Wl,--sort-common
usage: link [options] main.o
  -B note
        set ELF NT_GNU_BUILD_ID note or Mach-O UUID; use "gobuildid" to generate it from the Go build ID; "none" to disable
  -E entry
        set entry symbol name
  -H type
        set header type
  -I linker
        use linker as ELF dynamic linker
  -L directory
        add specified directory to library path
  -R quantum
        set address rounding quantum (default -1)
  -T int
        set the start address of text symbols (default -1)
  -V    print version and exit
  -X definition
        add string value definition of the form importpath.name=value
  -a    no-op (deprecated)
  -asan
        enable ASan interface
  -aslr
        enable ASLR for buildmode=c-shared on windows (default true)
  -benchmark string
        set to 'mem' or 'cpu' to enable phase benchmarking
  -benchmarkprofile base
        emit phase profiles to base_phase.{cpu,mem}prof
  -bindnow
        mark a dynamically linked ELF object for immediate function binding
  -buildid id
        record id as Go toolchain build id
  -buildmode mode
        set build mode
  -c    dump call graph
  -capturehostobjs string
        capture host object files loaded during internal linking to specified dir
  -checklinkname
        check linkname symbol references (default true)
  -compressdwarf
        compress DWARF if possible (default true)
  -cpuprofile file
        write cpu profile to file
  -d    disable dynamic executable
  -debugnosplit
        dump nosplit call graph
  -debugtextsize int
        debug text section max size
  -debugtramp int
        debug trampolines
  -dumpdep
        dump symbol dependency graph
  -extar string
        archive program for buildmode=c-archive
  -extld linker
        use linker when linking in external mode
  -extldflags flags
        pass flags to external linker
  -f    ignore version mismatch
  -fipso file
        write fips module to file
  -g    disable go package data checks
  -h    halt on error
  -importcfg file
        read import configuration from file
  -installsuffix suffix
        set package directory suffix
  -k symbol
        set field tracking symbol
  -libgcc string
        compiler support lib for internal linking; use "none" to disable
  -linkmode mode
        set link mode
  -linkshared
        link against installed Go shared libraries
  -memprofile file
        write memory profile to file
  -memprofilerate rate
        set runtime.MemProfileRate to rate
  -msan
        enable MSan interface
  -n    no-op (deprecated)
  -o file
        write output to file
  -pluginpath string
        full path name for plugin
  -pruneweakmap
        prune weak mapinit refs (default true)
  -r path
        set the ELF dynamic linker search path to dir1:dir2:...
  -race
        enable race detector
  -randlayout int
        randomize function layout
  -s    disable symbol table
  -strictdups int
        sanity check duplicate symbol contents during object file reading (1=warn 2=err).
  -tmpdir directory
        use directory for temporary files
  -v    print link trace
  -w    disable DWARF generation
==> ERROR: A failure occurred in build().
    Aborting...

bas commented on 2024-08-03 23:34 (UTC) (edited on 2024-08-07 19:58 (UTC) by bas)

I'm still getting a bunch of Permission denied errors during Cleanup on install or when upgrading/reinstalling using yay. So I still have to manually remove the cache directory as root every time. The build command seems fine to me though so not sure why it happens.

The installation also fails for me because of ${LDFLAGS} in -extldflags ${LDFLAGS} not having quotes around it, as my LDFLAGS contains spaces. Changing it to -extldflags \"${LDFLAGS}\" fixes it.

carlosal1015 commented on 2024-07-13 17:01 (UTC)

Thanks, now is fixed.

jpala commented on 2024-07-13 08:17 (UTC)

Thanks for maintaining this package.

I think on the latest update the commit ID didn't get changed and still points to 1.52.2. I think it should be 6b61fa9. Also I think the github repo has changed to air-verse/air.

Lastly I've noticed when updating I need to manually remove the cache as root before upgrading as the files in ~/.cache/yay/air/src/gopath/mod/github.co/... don't have write permissions enabled. I'm not sure where this issue arises in the build process.