1

I'm yak shaving: to compile gcc (especially with libgccjit for ultimately compiling emacs with native-comp) on openbsd 7.4.

The reason behind is libgccjit isn't available via pkg_add. Thus I'm trying to compile gcc from source.

I'm loosely following this article.

So I'm facing following error message while I'm running $gmake -j 4. (at this time I didn't even included jit in the configuration flags yet).

checking for gawk... awk
checking whether gmake sets $(MAKE)... yes
checking whether gmake supports nested variables... yes
checking for x86_64-unknown-openbsd7.4-gcc... /home/garid/otherGit/objdir/./gcc/xgcc -B/home/garid/otherGit/objdir/./gcc/ -B/home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/bin/ -B/home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/lib/ -isystem /home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/include -isystem /home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/sys-include   -fno-checking
checking whether the C compiler works... no
configure: error: in `/home/garid/otherGit/objdir/x86_64-unknown-openbsd7.4/libgomp':
configure: error: C compiler cannot create executables
See `config.log' for more details
gmake[2]: *** [Makefile:26314: configure-stage1-target-libgomp] Error 77
gmake[2]: Leaving directory '/home/garid/otherGit/objdir'
gmake[1]: *** [Makefile:28686: stage1-bubble] Error 2
gmake[1]: Leaving directory '/home/garid/otherGit/objdir'
gmake: *** [Makefile:1077: all] Error 2

And following is my config.log as error suggested to read for the details.

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ /home/garid/otherGit/objdir/../gcc/configure --prefix=/home/garid/MyCompiledGCCpath --enable-host-shared --enable-languages=c,c++

## --------- ##
## Platform. ##
## --------- ##

hostname = openbased
uname -m = amd64
uname -r = 7.4
uname -s = OpenBSD
uname -v = GENERIC.MP#1397

/usr/bin/uname -p = amd64
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = OpenBSD.amd64
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/X11R6/bin
PATH: /usr/local/bin
PATH: /usr/local/sbin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2378: checking build system type
configure:2392: result: x86_64-unknown-openbsd7.4
configure:2439: checking host system type
configure:2452: result: x86_64-unknown-openbsd7.4
configure:2472: checking target system type
configure:2485: result: x86_64-unknown-openbsd7.4
configure:2539: checking for a BSD-compatible install
configure:2607: result: /usr/bin/install -c
configure:2618: checking whether ln works
configure:2640: result: yes
configure:2644: checking whether ln -s works
configure:2648: result: yes
configure:2655: checking for a sed that does not truncate output
configure:2719: result: /usr/bin/sed
configure:2728: checking for gawk
configure:2758: result: no
configure:2728: checking for mawk
configure:2758: result: no
configure:2728: checking for nawk
configure:2758: result: no
configure:2728: checking for awk
configure:2744: found /usr/bin/awk
configure:2755: result: awk
configure:3256: checking for libatomic support
configure:3266: result: yes
configure:3294: checking for libitm support
configure:3304: result: yes
configure:3313: checking for libsanitizer support
configure:3319: result: no
configure:3332: checking for libvtv support
configure:3338: result: no
configure:3462: checking for libphobos support
configure:3468: result: no
configure:4184: checking for gcc
configure:4214: result: no
configure:4277: checking for cc
configure:4298: found /usr/bin/cc
configure:4321: result: cc
configure:4440: checking for C compiler version
configure:4449: cc --version >&5
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.4
Thread model: posix
InstalledDir: /usr/bin
configure:4460: $? = 0
configure:4449: cc -v >&5
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.4
Thread model: posix
InstalledDir: /usr/bin
configure:4460: $? = 0
configure:4449: cc -V >&5
cc: error: argument to '-V' is missing (expected 1 value)
cc: error: no input files
configure:4460: $? = 1
configure:4449: cc -qversion >&5
cc: error: unknown argument '-qversion'; did you mean '--version'?
cc: error: no input files
configure:4460: $? = 1
configure:4480: checking whether the C compiler works
configure:4502: cc    conftest.c  >&5
configure:4506: $? = 0
configure:4554: result: yes
configure:4557: checking for C compiler default output file name
configure:4559: result: a.out
configure:4565: checking for suffix of executables
configure:4572: cc -o conftest    conftest.c  >&5
configure:4576: $? = 0
configure:4598: result: 
configure:4620: checking whether we are cross compiling
configure:4628: cc -o conftest    conftest.c  >&5
configure:4632: $? = 0
configure:4639: ./conftest
configure:4643: $? = 0
configure:4658: result: no
configure:4663: checking for suffix of object files
configure:4685: cc -c   conftest.c >&5
configure:4689: $? = 0
configure:4710: result: o
configure:4714: checking whether we are using the GNU C compiler
configure:4733: cc -c   conftest.c >&5
configure:4733: $? = 0
configure:4742: result: yes
configure:4751: checking whether cc accepts -g
configure:4771: cc -c -g  conftest.c >&5
configure:4771: $? = 0
configure:4812: result: yes
configure:4829: checking for cc option to accept ISO C89
configure:4892: cc  -c -g -O2  conftest.c >&5
configure:4892: $? = 0
configure:4905: result: none needed
configure:4925: checking for cc option to accept ISO C99
configure:5074: cc  -c -g -O2  conftest.c >&5
configure:5074: $? = 0
configure:5087: result: none needed
configure:5160: checking for g++
configure:5190: result: no
configure:5160: checking for c++
configure:5176: found /usr/bin/c++
configure:5187: result: c++
configure:5214: checking for C++ compiler version
configure:5223: c++ --version >&5
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.4
Thread model: posix
InstalledDir: /usr/bin
configure:5234: $? = 0
configure:5223: c++ -v >&5
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.4
Thread model: posix
InstalledDir: /usr/bin
configure:5234: $? = 0
configure:5223: c++ -V >&5
c++: error: argument to '-V' is missing (expected 1 value)
c++: error: no input files
configure:5234: $? = 1
configure:5223: c++ -qversion >&5
c++: error: unknown argument '-qversion'; did you mean '--version'?
c++: error: no input files
configure:5234: $? = 1
configure:5238: checking whether we are using the GNU C++ compiler
configure:5257: c++ -c   conftest.cpp >&5
configure:5257: $? = 0
configure:5266: result: yes
configure:5275: checking whether c++ accepts -g
configure:5295: c++ -c -g  conftest.cpp >&5
configure:5295: $? = 0
configure:5336: result: yes
configure:5385: checking whether g++ accepts -static-libstdc++ -static-libgcc
configure:5402: c++ -o conftest -g -O2   -static-libstdc++ -static-libgcc conftest.cpp  >&5
c++: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
c++: warning: argument unused during compilation: '-static-libgcc' [-Wunused-command-line-argument]
conftest.cpp:11:2: error: -static-libstdc++ not implemented
#error -static-libstdc++ not implemented
 ^
1 error generated.
configure:5402: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| 
| #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
| #error -static-libstdc++ not implemented
| #endif
| int main() {}
configure:5406: result: no
configure:5467: checking for gnatbind
configure:5497: result: no
configure:5559: checking for gnatmake
configure:5589: result: no
configure:5608: checking whether compiler driver understands Ada
configure:5631: result: no
configure:5685: checking for gdc
configure:5715: result: no
configure:5734: checking whether the D compiler works
configure:5751: result: no
configure:5759: checking how to compare bootstrapped objects
configure:5784: result: cmp $$f1 $$f2 16 16
configure:7928: checking for objdir
configure:7943: result: .libs
configure:8475: WARNING: using in-tree isl, disabling version check
configure:9655: checking for default BUILD_CONFIG
configure:9687: result: 
configure:9692: checking for --enable-vtable-verify
configure:9705: result: no
configure:10341: checking for bison
configure:10371: result: no
configure:10341: checking for byacc
configure:10371: result: no
configure:10341: checking for yacc
configure:10357: found /usr/bin/yacc
configure:10368: result: yacc
configure:10388: checking for bison
configure:10418: result: no
configure:10435: checking for gm4
configure:10465: result: no
configure:10435: checking for gnum4
configure:10465: result: no
configure:10435: checking for m4
configure:10451: found /usr/bin/m4
configure:10462: result: m4
configure:10482: checking for flex
configure:10498: found /usr/bin/flex
configure:10509: result: flex
configure:10530: checking for flex
configure:10546: found /usr/bin/flex
configure:10557: result: flex
configure:10577: checking for makeinfo
configure:10593: found /usr/bin/makeinfo
configure:10604: result: makeinfo
configure:10638: checking for expect
configure:10668: result: no
configure:10687: checking for runtest
configure:10717: result: no
configure:10832: checking for ar
configure:10848: found /usr/bin/ar
configure:10859: result: ar
configure:10973: checking for as
configure:10989: found /usr/bin/as
configure:11000: result: as
configure:11114: checking for dlltool
configure:11144: result: no
configure:11255: checking for dsymutil
configure:11285: result: no
configure:11315: checking for ld
configure:11342: result: /usr/bin/ld
configure:11537: checking for lipo
configure:11567: result: no
configure:11678: checking for nm
configure:11694: found /usr/bin/nm
configure:11705: result: nm
configure:11819: checking for ranlib
configure:11835: found /usr/bin/ranlib
configure:11846: result: ranlib
configure:11955: checking for strip
configure:11971: found /usr/bin/strip
configure:11982: result: strip
configure:12091: checking for windres
configure:12121: result: no
configure:12232: checking for windmc
configure:12262: result: no
configure:12373: checking for objcopy
configure:12389: found /usr/bin/objcopy
configure:12400: result: objcopy
configure:12514: checking for objdump
configure:12530: found /usr/bin/objdump
configure:12541: result: objdump
configure:12655: checking for otool
configure:12685: result: no
configure:12796: checking for readelf
configure:12812: found /usr/bin/readelf
configure:12823: result: readelf
configure:12978: checking for cc
configure:12994: found /usr/bin/cc
configure:13005: result: cc
configure:13139: checking for c++
configure:13155: found /usr/bin/c++
configure:13166: result: c++
configure:13300: checking for gcc
configure:13330: result: no
configure:13456: checking for gfortran
configure:13486: result: no
configure:13617: checking for gccgo
configure:13647: result: no
configure:13778: checking for gdc
configure:13808: result: no
configure:13869: checking for ar
configure:13902: result: no
configure:14019: checking for ar
configure:14035: found /usr/bin/ar
configure:14046: result: ar
configure:14099: checking for as
configure:14132: result: no
configure:14249: checking for as
configure:14265: found /usr/bin/as
configure:14276: result: as
configure:14329: checking for dlltool
configure:14362: result: no
configure:14479: checking for dlltool
configure:14509: result: no
configure:14559: checking for dsymutil
configure:14592: result: no
configure:14709: checking for dsymutil
configure:14739: result: no
configure:14789: checking for ld
configure:14822: result: no
configure:14939: checking for ld
configure:14955: found /usr/bin/ld
configure:14966: result: ld
configure:15019: checking for lipo
configure:15052: result: no
configure:15169: checking for lipo
configure:15199: result: no
configure:15249: checking for nm
configure:15282: result: no
configure:15399: checking for nm
configure:15415: found /usr/bin/nm
configure:15426: result: nm
configure:15479: checking for objcopy
configure:15512: result: no
configure:15629: checking for objcopy
configure:15645: found /usr/bin/objcopy
configure:15656: result: objcopy
configure:15709: checking for objdump
configure:15742: result: no
configure:15859: checking for objdump
configure:15875: found /usr/bin/objdump
configure:15886: result: objdump
configure:15939: checking for otool
configure:15972: result: no
configure:16089: checking for otool
configure:16119: result: no
configure:16169: checking for ranlib
configure:16202: result: no
configure:16319: checking for ranlib
configure:16335: found /usr/bin/ranlib
configure:16346: result: ranlib
configure:16399: checking for readelf
configure:16432: result: no
configure:16549: checking for readelf
configure:16565: found /usr/bin/readelf
configure:16576: result: readelf
configure:16629: checking for strip
configure:16662: result: no
configure:16779: checking for strip
configure:16795: found /usr/bin/strip
configure:16806: result: strip
configure:16859: checking for windres
configure:16892: result: no
configure:17009: checking for windres
configure:17039: result: no
configure:17089: checking for windmc
configure:17122: result: no
configure:17239: checking for windmc
configure:17269: result: no
configure:17297: checking where to find the target ar
configure:17330: result: host tool
configure:17339: checking where to find the target as
configure:17372: result: host tool
configure:17381: checking where to find the target cc
configure:17404: result: just compiled
configure:17423: checking where to find the target c++
configure:17449: result: just compiled
configure:17468: checking where to find the target c++ for libstdc++
configure:17494: result: just compiled
configure:17513: checking where to find the target dlltool
configure:17546: result: host tool
configure:17555: checking where to find the target dsymutil
configure:17577: result: host tool
configure:17586: checking where to find the target gcc
configure:17609: result: just compiled
configure:17628: checking where to find the target gfortran
configure:17664: result: host tool
configure:17673: checking where to find the target gccgo
configure:17709: result: host tool
configure:17718: checking where to find the target gdc
configure:17754: result: host tool
configure:17763: checking where to find the target ld
configure:17796: result: host tool
configure:17805: checking where to find the target lipo
configure:17827: result: host tool
configure:17836: checking where to find the target nm
configure:17869: result: host tool
configure:17878: checking where to find the target objcopy
configure:17911: result: host tool
configure:17920: checking where to find the target objdump
configure:17953: result: host tool
configure:17962: checking where to find the target otool
configure:17984: result: host tool
configure:17993: checking where to find the target ranlib
configure:18026: result: host tool
configure:18035: checking where to find the target readelf
configure:18068: result: host tool
configure:18077: checking where to find the target strip
configure:18110: result: host tool
configure:18119: checking where to find the target windres
configure:18152: result: host tool
configure:18161: checking where to find the target windmc
configure:18194: result: host tool
configure:18231: checking whether to enable maintainer-specific portions of Makefiles
configure:18240: result: no
configure:18483: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by config.status, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on openbased

config.status:1077: creating Makefile

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-unknown-openbsd7.4
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_AR_FOR_TARGET_set=
ac_cv_env_AR_FOR_TARGET_value=
ac_cv_env_AR_set=
ac_cv_env_AR_value=
ac_cv_env_AS_FOR_TARGET_set=
ac_cv_env_AS_FOR_TARGET_value=
ac_cv_env_AS_set=
ac_cv_env_AS_value=
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_FOR_TARGET_set=
ac_cv_env_CC_FOR_TARGET_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_FOR_TARGET_set=
ac_cv_env_CXX_FOR_TARGET_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_DLLTOOL_FOR_TARGET_set=
ac_cv_env_DLLTOOL_FOR_TARGET_value=
ac_cv_env_DLLTOOL_set=
ac_cv_env_DLLTOOL_value=
ac_cv_env_DSYMUTIL_FOR_TARGET_set=
ac_cv_env_DSYMUTIL_FOR_TARGET_value=
ac_cv_env_DSYMUTIL_set=
ac_cv_env_DSYMUTIL_value=
ac_cv_env_GCC_FOR_TARGET_set=
ac_cv_env_GCC_FOR_TARGET_value=
ac_cv_env_GDC_FOR_TARGET_set=
ac_cv_env_GDC_FOR_TARGET_value=
ac_cv_env_GFORTRAN_FOR_TARGET_set=
ac_cv_env_GFORTRAN_FOR_TARGET_value=
ac_cv_env_GOC_FOR_TARGET_set=
ac_cv_env_GOC_FOR_TARGET_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LD_FOR_TARGET_set=
ac_cv_env_LD_FOR_TARGET_value=
ac_cv_env_LD_set=
ac_cv_env_LD_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LIPO_FOR_TARGET_set=
ac_cv_env_LIPO_FOR_TARGET_value=
ac_cv_env_LIPO_set=
ac_cv_env_LIPO_value=
ac_cv_env_NM_FOR_TARGET_set=
ac_cv_env_NM_FOR_TARGET_value=
ac_cv_env_NM_set=
ac_cv_env_NM_value=
ac_cv_env_OBJCOPY_FOR_TARGET_set=
ac_cv_env_OBJCOPY_FOR_TARGET_value=
ac_cv_env_OBJCOPY_set=
ac_cv_env_OBJCOPY_value=
ac_cv_env_OBJDUMP_FOR_TARGET_set=
ac_cv_env_OBJDUMP_FOR_TARGET_value=
ac_cv_env_OBJDUMP_set=
ac_cv_env_OBJDUMP_value=
ac_cv_env_OTOOL_FOR_TARGET_set=
ac_cv_env_OTOOL_FOR_TARGET_value=
ac_cv_env_OTOOL_set=
ac_cv_env_OTOOL_value=
ac_cv_env_RANLIB_FOR_TARGET_set=
ac_cv_env_RANLIB_FOR_TARGET_value=
ac_cv_env_RANLIB_set=
ac_cv_env_RANLIB_value=
ac_cv_env_READELF_FOR_TARGET_set=
ac_cv_env_READELF_FOR_TARGET_value=
ac_cv_env_READELF_set=
ac_cv_env_READELF_value=
ac_cv_env_STRIP_FOR_TARGET_set=
ac_cv_env_STRIP_FOR_TARGET_value=
ac_cv_env_STRIP_set=
ac_cv_env_STRIP_value=
ac_cv_env_WINDMC_FOR_TARGET_set=
ac_cv_env_WINDMC_FOR_TARGET_value=
ac_cv_env_WINDMC_set=
ac_cv_env_WINDMC_value=
ac_cv_env_WINDRES_FOR_TARGET_set=
ac_cv_env_WINDRES_FOR_TARGET_value=
ac_cv_env_WINDRES_set=
ac_cv_env_WINDRES_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_build_configargs_set=
ac_cv_env_build_configargs_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_host_configargs_set=
ac_cv_env_host_configargs_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_env_target_configargs_set=
ac_cv_env_target_configargs_value=
ac_cv_host=x86_64-unknown-openbsd7.4
ac_cv_objext=o
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AR=ar
ac_cv_prog_AR_FOR_TARGET=ar
ac_cv_prog_AS=as
ac_cv_prog_AS_FOR_TARGET=as
ac_cv_prog_AWK=awk
ac_cv_prog_CC=cc
ac_cv_prog_CC_FOR_TARGET=cc
ac_cv_prog_CXX_FOR_TARGET=c++
ac_cv_prog_FLEX=flex
ac_cv_prog_LD=/usr/bin/ld
ac_cv_prog_LD_FOR_TARGET=ld
ac_cv_prog_LEX=flex
ac_cv_prog_M4=m4
ac_cv_prog_MAKEINFO=makeinfo
ac_cv_prog_NM=nm
ac_cv_prog_NM_FOR_TARGET=nm
ac_cv_prog_OBJCOPY=objcopy
ac_cv_prog_OBJCOPY_FOR_TARGET=objcopy
ac_cv_prog_OBJDUMP=objdump
ac_cv_prog_OBJDUMP_FOR_TARGET=objdump
ac_cv_prog_RANLIB=ranlib
ac_cv_prog_RANLIB_FOR_TARGET=ranlib
ac_cv_prog_READELF=readelf
ac_cv_prog_READELF_FOR_TARGET=readelf
ac_cv_prog_STRIP=strip
ac_cv_prog_STRIP_FOR_TARGET=strip
ac_cv_prog_YACC=yacc
ac_cv_prog_ac_ct_CXX=c++
ac_cv_prog_cc_c89=
ac_cv_prog_cc_c99=
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_g=yes
ac_cv_target=x86_64-unknown-openbsd7.4
acx_cv_cc_gcc_supports_ada=no
acx_cv_d_compiler_works=no
acx_cv_prog_LN=ln
gcc_cv_prog_cmp_skip='cmp $$f1 $$f2 16 16'
gcc_cv_tool_dirs=/home/garid/MyCompiledGCCpath/libexec/gcc/x86_64-unknown-openbsd7.4/12.2.0:/home/garid/MyCompiledGCCpath/libexec/gcc/x86_64-unknown-openbsd7.4:/usr/lib/gcc/x86_64-unknown-openbsd7.4/12.2.0:/usr/lib/gcc/x86_64-unknown-openbsd7.4:/home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/bin/x86_64-unknown-openbsd7.4/12.2.0:/home/garid/MyCompiledGCCpath/x86_64-unknown-openbsd7.4/bin:
gcc_cv_tool_prefix=/home/garid/MyCompiledGCCpath
lt_cv_objdir=.libs

## ----------------- ##
## Output variables. ##
## ----------------- ##

AR='ar'
AR_FOR_BUILD='$(AR)'
AR_FOR_TARGET='$(AR)'
AS='as'
AS_FOR_BUILD='$(AS)'
AS_FOR_TARGET='$(AS)'
AWK='awk'
BISON='/home/garid/otherGit/gcc/missing bison'
BUILD_CONFIG=''
CC='cc'
CC_FOR_BUILD='$(CC)'
CC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
CFLAGS='-g -O2'
CFLAGS_FOR_BUILD='-g -O2'
CFLAGS_FOR_TARGET='-g -O2'
COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'
CONFIGURE_GDB_TK=''
CPPFLAGS=''
CPPFLAGS_FOR_BUILD=''
CPP_FOR_BUILD=''
CXX='c++ -std=c++11'
CXXFLAGS='-g -O2'
CXXFLAGS_FOR_BUILD='-g -O2'
CXXFLAGS_FOR_TARGET='-g -O2'
CXX_FOR_BUILD='$(CXX)'
CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs'
DEBUG_PREFIX_CFLAGS_FOR_TARGET=''
DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DLT_OBJDIR=\".libs/\"'
DLLTOOL='dlltool'
DLLTOOL_FOR_BUILD='$(DLLTOOL)'
DLLTOOL_FOR_TARGET='$(DLLTOOL)'
DSYMUTIL='dsymutil'
DSYMUTIL_FOR_BUILD='$(DSYMUTIL)'
DSYMUTIL_FOR_TARGET='$(DSYMUTIL)'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EXEEXT=''
EXPECT='expect'
FLAGS_FOR_TARGET=' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
FLEX='flex'
GCC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
GCC_SHLIB_SUBDIR=''
GDB_TK=''
GDC='no'
GDCFLAGS=''
GDC_FOR_BUILD='$(GDC)'
GDC_FOR_TARGET='$(GDC)'
GFORTRAN_FOR_BUILD='$(GFORTRAN)'
GFORTRAN_FOR_TARGET='$(GFORTRAN)'
GNATBIND='no'
GNATMAKE='no'
GOC_FOR_BUILD='$(GOC)'
GOC_FOR_TARGET='$(GOC)'
HAVE_CXX11=''
HAVE_CXX11_FOR_BUILD=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_GDB_TK=''
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
LD='/usr/bin/ld'
LDFLAGS=''
LDFLAGS_FOR_BUILD=''
LDFLAGS_FOR_TARGET=''
LD_FOR_BUILD='$(LD)'
LD_FOR_TARGET='$(LD)'
LEX='flex'
LIBOBJS=''
LIBS=''
LIPO='lipo'
LIPO_FOR_TARGET='$(LIPO)'
LN='ln'
LN_S='ln -s'
LTLIBOBJS=''
M4='m4'
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='makeinfo'
NM='nm'
NM_FOR_BUILD='$(NM)'
NM_FOR_TARGET='$(NM)'
OBJCOPY='objcopy'
OBJCOPY_FOR_TARGET='$(OBJCOPY)'
OBJDUMP='objdump'
OBJDUMP_FOR_TARGET='$(OBJDUMP)'
OBJEXT='o'
OTOOL='otool'
OTOOL_FOR_TARGET='$(OTOOL)'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PGO_BUILD_GEN_CFLAGS=''
PGO_BUILD_LTO_CFLAGS=''
PGO_BUILD_USE_CFLAGS=''
RANLIB='ranlib'
RANLIB_FOR_BUILD='$(RANLIB)'
RANLIB_FOR_TARGET='$(RANLIB)'
RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs'
READELF='readelf'
READELF_FOR_TARGET='$(READELF)'
RPATH_ENVVAR='LD_LIBRARY_PATH'
RUNTEST='runtest'
SED='/usr/bin/sed'
SHELL='/bin/sh'
STRIP='strip'
STRIP_FOR_TARGET='$(STRIP)'
SYSROOT_CFLAGS_FOR_TARGET=''
TOPLEVEL_CONFIGURE_ARGUMENTS='/home/garid/otherGit/objdir/../gcc/configure --prefix=/home/garid/MyCompiledGCCpath --enable-host-shared --enable-languages=c,c++'
WINDMC='windmc'
WINDMC_FOR_BUILD='$(WINDMC)'
WINDMC_FOR_TARGET='$(WINDMC)'
WINDRES='windres'
WINDRES_FOR_BUILD='$(WINDRES)'
WINDRES_FOR_TARGET='$(WINDRES)'
YACC='yacc'
ac_ct_CC=''
ac_ct_CXX='c++'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-openbsd7.4'
build_alias=''
build_configargs=' --cache-file=./config.cache '\''--prefix=/home/garid/MyCompiledGCCpath'\'' '\''--enable-host-shared'\'' '\''--enable-languages=c,c++,lto'\'' --program-transform-name='\''s,y,y,'\'' --disable-option-checking'
build_configdirs=' libiberty libcpp fixincludes'
build_cpu='x86_64'
build_libsubdir='build-x86_64-unknown-openbsd7.4'
build_noncanonical='x86_64-unknown-openbsd7.4'
build_os='openbsd7.4'
build_subdir='build-x86_64-unknown-openbsd7.4'
build_tooldir='${exec_prefix}/x86_64-unknown-openbsd7.4'
build_vendor='unknown'
compare_exclusions='gcc/cc*-checksum$(objext) | gcc/ada/*tools/*'
configdirs=' intl libiberty zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl fixincludes gcc libcc1 c++tools lto-plugin'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
do_compare='cmp $$f1 $$f2 16 16'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='${prefix}'
extra_host_libiberty_configure_flags='--enable-shared'
extra_host_zlib_configure_flags=''
extra_isl_gmp_configure_flags='--with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp'
extra_liboffloadmic_configure_flags=''
extra_linker_plugin_configure_flags=''
extra_linker_plugin_flags=''
extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/.libs'
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/.libs'
extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/.libs'
get_gcc_base_ver='cat'
gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp -I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src -I$$s/mpc/src '
gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/mpfr/src/.libs -L$$r/$(HOST_SUBDIR)/mpc/src/.libs -lmpc -lmpfr -lgmp'
host='x86_64-unknown-openbsd7.4'
host_alias=''
host_configargs=' --cache-file=./config.cache  '\''--prefix=/home/garid/MyCompiledGCCpath'\'' '\''--enable-host-shared'\'' '\''--enable-languages=c,c++,lto'\'' --program-transform-name='\''s,y,y,'\'' --disable-option-checking'
host_cpu='x86_64'
host_noncanonical='x86_64-unknown-openbsd7.4'
host_os='openbsd7.4'
host_shared='yes'
host_subdir='.'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
isllibs='-L$$r/$(HOST_SUBDIR)/isl/.libs  -lisl'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
poststage1_ldflags='-static-libstdc++ -static-libgcc'
poststage1_libs=''
prefix='/home/garid/MyCompiledGCCpath'
program_transform_name='s,y,y,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
stage1_cflags='-g'
stage1_checking='--enable-checking=yes,types'
stage1_languages='c,c++,lto'
stage1_ldflags=''
stage1_libs=''
stage2_werror_flag=''
sysconfdir='${prefix}/etc'
target='x86_64-unknown-openbsd7.4'
target_alias=''
target_configargs='--cache-file=./config.cache --enable-multilib   '\''--prefix=/home/garid/MyCompiledGCCpath'\'' '\''--enable-host-shared'\'' '\''--enable-languages=c,c++,lto'\'' --program-transform-name='\''s,y,y,'\'' --disable-option-checking'
target_configdirs=' libgcc libgomp libatomic libitm libstdc++-v3 libssp libquadmath'
target_cpu='x86_64'
target_noncanonical='x86_64-unknown-openbsd7.4'
target_os='openbsd7.4'
target_subdir='x86_64-unknown-openbsd7.4'
target_vendor='unknown'
tooldir='${exec_prefix}/x86_64-unknown-openbsd7.4'

## ------------------- ##
## File substitutions. ##
## ------------------- ##

alphaieee_frag='/dev/null'
host_makefile_frag='/dev/null'
ospace_frag='/dev/null'
serialization_dependencies='serdep.tmp'
target_makefile_frag='/dev/null'

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define LT_OBJDIR ".libs/"

configure: exit 0

This is my first time on openbsd and first time to compile gcc. I don't know what I'm doing.

Could anyone elaborate what I'm doing wrong.

5
  • 1
    What version of GCC are you attempting to compile? Did you look at the OpenBSD ports of the various versions to see whether you could just possibly tweak the only that you're interested in? github.com/openbsd/ports/tree/master/lang/gcc
    – Kusalananda
    Commented Oct 25, 2023 at 16:21
  • @Kusalananda, Thanks for the response, I'm following up the web article linked in the question. The version on that (and I) using is 12.2.0. I checked versions of GCC available via Openbsd's package manager (either 8 or 11) but there is no libgccjit in both. TBH I don't care the GCC version, I'm only seeking the availibility of libgccjit.
    – Garid Z.
    Commented Oct 25, 2023 at 16:24
  • Ah, sorry did I understand your comment correctly, Are you suggesting clone repo from this openbsd port, and tweak (to include the jit) ? In that case, thank you very much for the Idea, I will definetly try it tomorrow morning
    – Garid Z.
    Commented Oct 25, 2023 at 16:29
  • 1
    Here's someone who did just that a few years ago (a familiar name in OpenBSD circles, but AFAIK not the maintainer of GCC for that system). gcc.gnu.org/bugzilla/show_bug.cgi?id=103016 I'm not writing this up as an answer because that would require me to sit down and replicate the effort, which I don't have the time for ATM.
    – Kusalananda
    Commented Oct 25, 2023 at 16:35
  • @Kusalananda, thanks !! I will try to follow/read this thread
    – Garid Z.
    Commented Oct 25, 2023 at 16:49

1 Answer 1

2

I remember trying this about two years ago and gave up.

These are the rough steps we need to take:

  1. I tried downloading the official GCC sources and building it. It doesn't build on OpenBSD for whatever reason. Turns out OpenBSD has got its own fork.
  2. When we build GCC from the ports, it does not build libgccjit. The build configuration needs to be tweaked.
  3. I need to figure out how to "clone" OpenBSD's fork of GCC into somewhere in my home directory, then make whatever changes we need to the configure file so that libgccjit also builds, and then install it locally. This is not straightforward because I didn't know enough CVS to make it happen.
  4. Actually build GCC locally. Over here, Omar Polo says that he did a lot of hacks to get it building. Perhaps we could just email him and ask him for rough instructions as to what he did to get it building.
  5. Build emacs by passing in -with-native-compilation=aot and making sure to pass in the path to the locally built GCC -L <PATH-TO-GCC-LIB> as we can see in the above linked post.

Assuming we get this done and document the steps, I'm sure a lot more people on OpenBSD would like to try out Emacs with native compilation enabled.

Update: Omar Polo posted a patch to build a -jit flavor of the gcc11 port to the OpenBSD ports mailing list.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.