Package Details: icon 1:9.5.25a-2

Git Clone URL: https://aur.archlinux.org/icon.git (read-only, click to copy)
Package Base: icon
Description: The Icon programming language
Upstream URL: https://github.com/gtownsend/icon
Licenses: custom:PublicDomain
Submitter: haawda
Maintainer: aksr
Last Packager: aksr
Votes: 31
Popularity: 0.000000
First Submitted: 2007-12-27 18:24 (UTC)
Last Updated: 2025-10-23 07:03 (UTC)

Dependencies (3)

Required by (3)

Sources (2)

Latest Comments

1 2 Next › Last »

dancrossnyc commented on 2025-10-23 10:57 (UTC)

Ha! I should have been able to figure out nproc. :-)

Thanks again for a quick turnaround here. Unfortunately, I still get build errors from parallel make. From an excerpted build log:

gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/cross/.cache/yay/icon/src=/usr/src/debug/icon -flto=auto -D_STDIO_USES_IOSTREAM -fcommon -fpermissive -std=gnu17   -c -o opcode.o opcode.c
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: warning: relocation against `op_type' in read-only section `.text'
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: in function `set_impl':
/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttdb.c:1231:(.text+0xddc): undefined reference to `op_type'
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: in function `yylex':
/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttlex.c:322:(.text+0x4657): undefined reference to `keepdir'
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: in function `yyparse.isra.0':
/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttdb.c:1203:(.text+0x5d31): undefined reference to `op_type'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttdb.c:1350:(.text+0x5de5): undefined reference to `op_type'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttdb.c:1189:(.text+0x5eda): undefined reference to `op_type'
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: in function `yyparse.isra.0':
/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttgram.y:743:(.text+0x5f42): undefined reference to `keyconst'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttgram.y:742:(.text+0x5f62): undefined reference to `defout'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttgram.y:741:(.text+0x5f79): undefined reference to `defout'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttgram.y:706:(.text+0x6841): undefined reference to `fncout'
/usr/bin/ld: /home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttgram.y:700:(.text+0x6951): undefined reference to `dclout'
/usr/bin/ld: /home/cross/tmp/cc4MVto6.ltrans0.ltrans.o: in function `main':
/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt/rttmain.c:310:(.text.startup+0x1c73): undefined reference to `prologue'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:26: rtt] Error 1
make[1]: Leaving directory '/home/cross/.cache/yay/icon/src/icon-9.5.25a/src/rtt'
make: *** [Makefile:67: Icont] Error 2
make: *** Waiting for unfinished jobs....

It builds if I remove -j from the make invocation entirely in PKGBUILD, however.

aksr commented on 2025-10-23 07:03 (UTC)

Typo, my bad, it should be "nproc". Fixed.

dancrossnyc commented on 2025-10-23 01:29 (UTC)

@aksr: That seems to have mostly done it. I did get some odd, seemingly non-deterministic build errors; part of that might be the -j$(proc) argument to make, however. proc doesn't seem to be installed on my machine (and I'm not sure what package it comes from), but if I stopped that argument from the make invocation in PKGBUILD it built fine.

Thanks for the quick turn around!

aksr commented on 2025-10-22 13:41 (UTC)

@dancrossnyc: Try now.

dancrossnyc commented on 2025-10-21 19:07 (UTC) (edited on 2025-10-21 19:07 (UTC) by dancrossnyc)

Sadly, icon has stopped building recently, apparently due to an prototype incompatibility: some comparison functions appear to take no arguments in their prototypes, which recent compilers interpret as "void", causing build errors. E.g.,

rttdb.c: In function ‘dumpdb’:
rttdb.c:286:57: error: passing argument 6 of ‘prt_impls’ from incompatible pointer type [-Wincompatible-pointer-types]
  286 |    prt_impls(db, "functions", bhash, num_fnc, sort_ary, name_cmp);
      |                                                         ^~~~~~~~
      |                                                         |
      |                                                         int (*)(char *, char *)
rttdb.c:20:72: note: expected ‘int (*)(void)’ but argument is of type ‘int (*)(char *, char *)’
   20 |                    int num, struct implement **sort_ary, int (*com)());
      |                                                          ~~~~~~^~~~~~
rttdb.c:16:16: note: ‘name_cmp’ declared here
   16 | static int     name_cmp  (char *p1, char *p2);
      |                ^~~~~~~~

or,

rttdb.c:1091:10: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types]
 1091 |          (int (*)())src_cmp);
      |          ^~~~~~~~~~~~~~~~~~
      |          |
      |          int (*)(void)
/usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’
  971 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~
/usr/include/stdlib.h:948:15: note: ‘__compar_fn_t’ declared here
  948 | typedef int (*__compar_fn_t) (const void *, const void *);
      |               ^~~~~~~~~~~~~

etc

haawda commented on 2023-08-23 12:18 (UTC)

I am not at my Arch Box right now, sorry. aksr, feel free to update.

alex.shpilkin commented on 2021-05-08 15:30 (UTC)

The university admins broke all links once again. The tarball for 9.5.1 is now found at https://www2.cs.arizona.edu/icon/ftp/historic/v951.tgz, but there are newer releases available on the official GitHub page, https://github.com/gtownsend/icon.

crvs commented on 2019-09-06 23:20 (UTC)

I see the "upstream" url was fixed the "source" url still uses the old https://www.cs.arizona.edu/... instead of https://www2.cs.arizona.edu/...

crvs commented on 2019-09-06 07:23 (UTC)

It seems that the upstream url has moved, it worked by changing http://www.cs.arizona.edu/icon/ to http://www2.cs.arizona.edu/icon/

adsun commented on 2018-02-11 20:47 (UTC)

This is missing libxt as a depends. Without libxt the build fails due to a missing /usr/include/X11/Intrinsic.h.