What is the version of your clang? It seems it doesn't support __float128. JE itself doesn't use long double, so you may try adding #define Sleef_quad_DEFINED or add -DSleef_quad_DEFINED into the CFLAGS
> On 6 Mar 2022, at 3:49 AM, Raul Miller <[email protected]> wrote: > > Building with clang fails like this: > > cc -c -o a.o ../../../../jsrc/a.c -fPIC -O2 -fvisibility=hidden > -fno-strict-aliasing -Werror -Wextra -Wno-unknown-warning-option > -Wsign-compare -Wtautological-constant-out-of-range-compare > -Wuninitialized -Wno-char-subscripts -Wno-consumed > -Wno-delete-non-abstract-non-virtual-dtor -Wno-empty-body > -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion > -Wno-int-in-bool-context -Wno-missing-braces -Wno-parentheses > -Wno-pass-failed -Wno-pointer-sign -Wno-pointer-to-int-cast > -Wno-sometimes-uninitialized -Wno-string-plus-int > -Wno-unknown-pragmas -Wno-unsequenced -Wno-unused-but-set-variable > -Wno-unused-function -Wno-unused-parameter -Wno-unused-value > -Wno-unused-variable -DSLEEF=1 -DEMU_AVX=1 -DC_AVX=1 -mavx > In file included from ../../../../jsrc/a.c:6: > In file included from ../../../../jsrc/j.h:164: > ../../../../jsrc/../sleef/include/sleef.h:140:9: error: unknown type > name '__float128' > typedef __float128 Sleef_quad; > ^ > 1 error generated. > > (This is on a different system from the one that was failing earlier. > I'm going to take some time to look into this, and maybe there's a > simple solution.) > > ((I should also mention, since I keep thinking this, but never seem to > talk about it: that I Really Wish that compiler context feature tests > were implemented modularly. Like: a feature test directory with a > makefile (to represent dependencies between feature tests) which > generates environmental variable declarations (one env var per file, > one file per feature, and then at the end of the makefile hierarchy a > cat command to build a shell include script with env var settings for > all features. Except, of course, the c preprocessor SYS mechanism > doesn't adequately support this kind of approach.)) > > FYI, > > -- > Raul > > On Fri, Feb 25, 2022 at 11:55 PM bill lam <[email protected]> wrote: >> >> Can you also try compile with clang? >> >> On Sat, 26 Feb 2022 at 12:47 PM Raul Miller <[email protected]> wrote: >> >>> I am trying to compile J (on a nonavx linux system -- celeron >>> processor), and I'm running into a memory alignment issue. >>> >>> Specifically, test/g022.ijs triggers a segmentation fault, and when >>> compiling, I'm getting a variety of warnings that the ABI for passing >>> parameters with 32-byte alignment has changed in GCC 4.6 >>> >>> So, before I go digging into the details of what's going on here, I >>> was wondering if anyone else had run into this issue, and (if so) how >>> they dealt with it. >>> >>> (I should also confess that I might not have properly handled the >>> non-avx architecture: I altered make2/build-all.sh so that it, by >>> default, always sets j64x=j64 for linux, for my builds. Hopefully >>> that's not an issue, but when debugging I have found that it often >>> pays to be a bit skeptical that I've done the right thing.) >>> >>> Thanks, >>> >>> -- >>> Raul >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
