VoltLang / Volta

Compiler for the Volt Programming Language
157 stars 8 forks source link

Build failed (macOS) [can be fixed] #59

Closed ghost closed 4 years ago

ghost commented 4 years ago

@bhelyer @Wallbraker @Dav1dde @noname22 @perfaram

Trying to compile it for an hour, sorry for calling:

macOS:

  RDMD   volt
lib/src/volta/parser/base.d(470): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/ir/location.d(130): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/toplevel.d(680): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/templates.d(236): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/templates.d(350): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1048): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1076): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1261): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1404): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1427): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/expression.d(1935): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(421): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(435): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(446): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(871): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(908): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(918): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(940): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(954): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
lib/src/volta/parser/declaration.d(1277): Deprecation: opSub is deprecated.  Use opBinary(string op)(...) if (op == "-") instead.
dsupport/src/watt/text/sink.d(57): Deprecation: returning &this.sink escapes a reference to parameter this, perhaps annotate with return
ld: unknown option: -Wl,-search_paths_first
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1
make: *** [GNUmakefile:150: volt] Error 1

Linux:

  RDMD   volt
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x10): undefined reference to `_D4watt4path12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x18): undefined reference to `_D4watt2io3std12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x20): undefined reference to `_D4watt2io4file12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x28): undefined reference to `_D4volt3arg12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x30): undefined reference to `_D5volta8settings12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x38): undefined reference to `_D4volt6errors12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x40): undefined reference to `_D5volta7license12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x48): undefined reference to `_D4volt10interfaces12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x50): undefined reference to `_D4volt6driver12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x58): undefined reference to `_D4volt4util4path12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data.rel.ro+0x60): undefined reference to `_D4volt4util4perf12__ModuleInfoZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_Dmain':
/root/Volta/src/main.d:33: undefined reference to `_D4volt4util4perfQfSQsQpQm4Perf'
/usr/bin/ld: /root/Volta/src/main.d:33: undefined reference to `_D4volt4util4perf4Perf8perfInitMFZv'
/usr/bin/ld: /root/Volta/src/main.d:56: undefined reference to `_D5volta8settings8Settings7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:56: undefined reference to `_D4watt4path10getExecDirFZAya'
/usr/bin/ld: /root/Volta/src/main.d:56: undefined reference to `_D5volta8settings8Settings6__ctorMFAyaQdZCQBoQBlQBf'
/usr/bin/ld: /root/Volta/src/main.d:57: undefined reference to `_D5volta8settings8Settings10setDefaultMFZv'
/usr/bin/ld: /root/Volta/src/main.d:58: undefined reference to `_D5volta10interfaces10VersionSet7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:58: undefined reference to `_D5volta10interfaces10VersionSet6__ctorMFZCQBpQBmQBd'
/usr/bin/ld: /root/Volta/src/main.d:59: undefined reference to `_D5volta10interfaces10TargetInfo7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:75: undefined reference to `_D4volt3arg10filterArgsFACQyQv3ArgKAAyaC5volta10interfaces10VersionSetCQBf8settings8SettingsZv'
/usr/bin/ld: /root/Volta/src/main.d:86: undefined reference to `_D5volta8settings8Settings14processConfigsMFZv'
/usr/bin/ld: /root/Volta/src/main.d:87: undefined reference to `_D5volta8settings8Settings13replaceMacrosMFZv'
/usr/bin/ld: /root/Volta/src/main.d:89: undefined reference to `_D5volta8settings8Settings14replaceEscapesMFAyaZQe'
/usr/bin/ld: /root/Volta/src/main.d:91: undefined reference to `_D4volt6driver10VoltDriver7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:91: undefined reference to `_D4volt6driver10VoltDriver6__ctorMFC5volta8settings8SettingsCQz10interfaces10VersionSetCQCaQBc10TargetInfoAAyaZCQEgQEeQEa'
/usr/bin/ld: /root/Volta/src/main.d:35: undefined reference to `_D4volt4util4perfQfSQsQpQm4Perf'
/usr/bin/ld: /root/Volta/src/main.d:35: undefined reference to `_D4volt4util4perf4Perf5closeMFZv'
/usr/bin/ld: /root/Volta/src/main.d:44: undefined reference to `_D4volt4util4perfQfSQsQpQm4Perf'
/usr/bin/ld: /root/Volta/src/main.d:45: undefined reference to `_D4volt4util4perf4Perf5printMFAyaQdZv'
/usr/bin/ld: /root/Volta/src/main.d:49: undefined reference to `_D6undead7cstream4derrCQvQq5CFile'
/usr/bin/ld: /root/Volta/src/main.d:50: undefined reference to `_D6undead7cstream4doutCQvQq5CFile'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZb':
/root/Volta/src/main.d:228: undefined reference to `_D4volt3arg9parseArchFAyaZE5volta10interfaces4Arch'
/usr/bin/ld: /root/Volta/src/main.d:232: undefined reference to `_D4volt3arg13parsePlatformFAyaJE5volta10interfaces8CRuntimeZEQBdQBa8Platform'
/usr/bin/ld: /root/Volta/src/main.d:390: undefined reference to `_D6undead7cstream4derrCQvQq5CFile'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D24TypeInfo_AC4volt3arg3Arg6__initZ+0x10): undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZ11libraryNameMFQDkZv':
/root/Volta/src/main.d:170: undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:170: undefined reference to `_D4volt3arg3Arg6__ctorMFAyaEQBaQyQw4KindZCQBoQBmQBl'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZ11libraryPathMFQDkZv':
/root/Volta/src/main.d:176: undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:176: undefined reference to `_D4volt3arg3Arg6__ctorMFAyaEQBaQyQw4KindZCQBoQBmQBl'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZ11makeArgFileMFQDkZQDj':
/root/Volta/src/main.d:182: undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:182: undefined reference to `_D4volt3arg3Arg6__ctorMFAyaEQBaQyQw4KindZCQBoQBmQBl'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZ11makeArgNextMFEQDfQDdQDc4KindZQDv':
/root/Volta/src/main.d:190: undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:190: undefined reference to `_D4volt3arg3Arg6__ctorMFAyaEQBaQyQw4KindZCQBoQBmQBl'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main10handleArgsFAAyaKAC4volt3arg3ArgC5volta10interfaces10VersionSetCQBf8settings8SettingsZ7makeArgMFEQDaQCyQCx4KindZQDq':
/root/Volta/src/main.d:197: undefined reference to `_D4volt3arg3Arg7__ClassZ'
/usr/bin/ld: /root/Volta/src/main.d:197: undefined reference to `_D4volt3arg3Arg6__ctorMFEQxQuQs4KindZCQBkQBiQBh'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main14getConfigLinesFZAAya':
/root/Volta/src/main.d:402: undefined reference to `_D4watt4path10getExecDirFZAya'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o: in function `_D4main12printLicenseFZb':
/root/Volta/src/main.d:482: undefined reference to `_D5volta7license12licenseArrayAAya'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D44TypeInfo_G16C5volta2ir11declaration8Function6__initZ+0x10): undefined reference to `_D5volta2ir11declaration8Function7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D42TypeInfo_xC5volta2ir11declaration8Function6__initZ+0x10): undefined reference to `_D5volta2ir11declaration8Function7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D44TypeInfo_G32C5volta2ir11declaration8Function6__initZ+0x10): undefined reference to `_D5volta2ir11declaration8Function7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D36TypeInfo_G16C5volta2ir7context5Scope6__initZ+0x10): undefined reference to `_D5volta2ir7context5Scope7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D34TypeInfo_xC5volta2ir7context5Scope6__initZ+0x10): undefined reference to `_D5volta2ir7context5Scope7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D32TypeInfo_G16C5volta2ir4type4Type6__initZ+0x10): undefined reference to `_D5volta2ir4type4Type7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D30TypeInfo_xC5volta2ir4type4Type6__initZ+0x10): undefined reference to `_D5volta2ir4type4Type7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D32TypeInfo_G16C5volta2ir4base4Node6__initZ+0x10): undefined reference to `_D5volta2ir4base4Node7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D30TypeInfo_xC5volta2ir4base4Node6__initZ+0x10): undefined reference to `_D5volta2ir4base4Node7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D41TypeInfo_G16C5volta2ir8toplevel9Attribute6__initZ+0x10): undefined reference to `_D5volta2ir8toplevel9Attribute7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D39TypeInfo_xC5volta2ir8toplevel9Attribute6__initZ+0x10): undefined reference to `_D5volta2ir8toplevel9Attribute7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D67TypeInfo_G16C5volta9postparse13attribremoval13AttribRemoval7Context6__initZ+0x10): undefined reference to `_D5volta9postparse13attribremoval13AttribRemoval7Context7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D65TypeInfo_xC5volta9postparse13attribremoval13AttribRemoval7Context6__initZ+0x10): undefined reference to `_D5volta9postparse13attribremoval13AttribRemoval7Context7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D38TypeInfo_G32C5volta2ir10expression3Exp6__initZ+0x10): undefined reference to `_D5volta2ir10expression3Exp7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D36TypeInfo_xC5volta2ir10expression3Exp6__initZ+0x10): undefined reference to `_D5volta2ir10expression3Exp7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D37TypeInfo_G32C4volt8semantic3cfg5Block6__initZ+0x10): undefined reference to `_D4volt8semantic3cfg5Block7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D35TypeInfo_xC4volt8semantic3cfg5Block6__initZ+0x10): undefined reference to `_D4volt8semantic3cfg5Block7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D37TypeInfo_G32C5volta2ir8toplevel5Class6__initZ+0x10): undefined reference to `_D5volta2ir8toplevel5Class7__ClassZ'
/usr/bin/ld: /tmp/.rdmd-0/rdmd-main.d-34F0527F2AD23D1D51BD93EE5A3F21AE/objs/volt.o:(.data._D35TypeInfo_xC5volta2ir8toplevel5Class6__initZ+0x10): undefined reference to `_D5volta2ir8toplevel5Class7__ClassZ'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
make: *** [GNUmakefile:150: volt] Error 1

Linker error.

Wallbraker commented 4 years ago

I tried to build via the make build I'm seeing the same myself, and I have no idea what's going on. It worked in the past so it's something that has changed in rdmd. But I also haven't used the make build of Volta in a long while, instead using the battery tool.

./battery config \
    path_to_volta \
    path_to_watt
./battery build
ghost commented 4 years ago

@Wallbraker Will you fix this? Or this is an issue with rdmd?

ghost commented 4 years ago

@Wallbraker Full log, looks like nasm failed to do something:

  BOOTRDMD .battery/x86_64-osx/volted
  CLANG    .battery/x86_64-osx/rt/src/core/c/errno.c.o
  NASM     .battery/x86_64-osx/rt/src/vrt/gc/save_regs.asm.o
  NASM     .battery/x86_64-osx/rt/src/vrt/os/eh.asm.o
nasm: fatal: unrecognised output format `macho64' - use -hf for a list
type `nasm -h' for help
error: command '/usr/bin/nasm' aborted with non-zero retval 1
nasm: fatal: unrecognised output format `macho64' - use -hf for a list
type `nasm -h' for help

nasm -hf:

valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf       ELF32 (i386) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format
    macho     NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X object files

You should to change macho64 to macho

But if replace to macho you'll got this error:

  BOOTRDMD .battery/x86_64-osx/volted
  CLANG    .battery/x86_64-osx/rt/src/core/c/errno.c.o
  NASM     .battery/x86_64-osx/rt/src/vrt/gc/save_regs.asm.o
  NASM     .battery/x86_64-osx/rt/src/vrt/os/eh.asm.o
rt/src/vrt/gc/save_regs.asm:35: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:36: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:42: error: symbol `rsp' undefined
rt/src/vrt/gc/save_regs.asm:46: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:47: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:48: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:49: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:50: error: symbol `rbp' undefined
rt/src/vrt/gc/save_regs.asm:68: error: symbol `rsi' undefined
rt/src/vrt/gc/save_regs.asm:71: error: symbol `rsp' undefined
rt/src/vrt/gc/save_regs.asm:72: error: symbol `rbp' undefined
error: command '/usr/bin/nasm' aborted with non-zero retval 1
Wallbraker commented 4 years ago

Those are not symbols those are registers, have nasm changed the syntax?

ghost commented 4 years ago

@Wallbraker Looks like someone should update Volt to make it work again.

Wallbraker commented 4 years ago

What version of nasm do you have?

Wallbraker commented 4 years ago
$ nasm -v
NASM version 2.13.03 compiled on Feb  8 2018
valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    ith       Intel hex
    srec      Motorola S-records
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf32     ELF32 (i386) object files (e.g. Linux)
    elf64     ELF64 (x86_64) object files (e.g. Linux)
    elfx32    ELFX32 (x86_64) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    win64     Microsoft Win64 (x86-64) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format
    macho32   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files
    macho64   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (x86_64) object files
    dbg       Trace of all info passed to output stage
    elf       ELF (short name for ELF32)
    macho     MACHO (short name for MACHO32)
    win       WIN (short name for WIN32)
ghost commented 4 years ago

@Wallbraker

I have fixed this, but now this error:

  BOOTRDMD .battery/x86_64-osx/volted
  CLANG    .battery/x86_64-osx/rt/src/core/c/errno.c.o
  NASM     .battery/x86_64-osx/rt/src/vrt/gc/save_regs.asm.o
  NASM     .battery/x86_64-osx/rt/src/vrt/os/eh.asm.o
  VOLTA    .battery/x86_64-osx/volta.lib.bc
  VOLTA    .battery/x86_64-osx/volta.dsupport.bc
  VOLTA    .battery/x86_64-osx/volta.rt.bc
  VOLTA    .battery/x86_64-osx/watt.http.bc
  VOLTA    .battery/x86_64-osx/watt.json.bc
  VOLTA    .battery/x86_64-osx/watt.markdown.bc
  VOLTA    .battery/x86_64-osx/watt.toml.bc
  VOLTA    .battery/x86_64-osx/watt.bc
  VOLTA    .battery/x86_64-osx/volta.bc
  CLANG    .battery/x86_64-osx/volta.dsupport.o
  CLANG    .battery/x86_64-osx/watt.http.o
  CLANG    .battery/x86_64-osx/watt.json.o
  CLANG    .battery/x86_64-osx/watt.toml.o
  CLANG    .battery/x86_64-osx/watt.o
  CLANG    .battery/x86_64-osx/volta.rt.o
  CLANG    .battery/x86_64-osx/watt.markdown.o
  CLANG    .battery/x86_64-osx/volta.lib.o
  CLANG    .battery/x86_64-osx/volta.o
  CLANG    volta-master
ld.lld: error: unknown argument '-dynamic', did you mean '-Bdynamic'
ld.lld: error: unknown argument '-arch'
ld.lld: error: unknown emulation: acosx_version_min
ld.lld: error: unable to find library -lto_library
ld.lld: error: /usr/local/Cellar/llvm/10.0.1_1/lib/libLTO.dylib: unknown file type
ld.lld: error: cannot open x86_64: No such file or directory
ld.lld: error: cannot open 10.9.0: No such file or directory
ld.lld: error: .battery/x86_64-osx/volta.o: unknown file type
ld.lld: error: unable to find library -lm
ld.lld: error: unable to find library -lz
ld.lld: error: unable to find library -lcurses
ld.lld: error: unable to find library -lxml2
ld.lld: error: .battery/x86_64-osx/volta.lib.o: unknown file type
ld.lld: error: .battery/x86_64-osx/watt.o: unknown file type
ld.lld: error: .battery/x86_64-osx/volta.dsupport.o: unknown file type
ld.lld: error: .battery/x86_64-osx/rt/src/core/c/errno.c.o: unknown file type
ld.lld: error: .battery/x86_64-osx/rt/src/vrt/gc/save_regs.asm.o: unknown file type
ld.lld: error: .battery/x86_64-osx/rt/src/vrt/os/eh.asm.o: unknown file type
ld.lld: error: .battery/x86_64-osx/volta.rt.o: unknown file type
ld.lld: error: unable to find library -lSystem
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/local/opt/llvm/bin/clang' aborted with non-zero retval 1

OS Details:

clang version 10.0.1 
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin
@(#)PROGRAM:ld  PROJECT:ld64-253.9
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
LTO support using: Apple LLVM 7.0.2 (clang-700.1.81)

NOTE: I like Volt syntax and want to try it, but it looks like Volt not supported on macOS and I'll never could try it :(

ghost commented 4 years ago

@Wallbraker Done! It works if replace ld.lld with ld64.lld. You should to change it in battery.