Giter Club home page Giter Club logo

csources_v1's People

Contributors

a-mr avatar antonl05 avatar araq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

csources_v1's Issues

sh build.sh --cpu arm64 results in linker command failure.

With the resulting error code

OS: macosx
CPU: arm
clang -o ../bin/nim -ldl -lm
Undefined symbols for architecture arm64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Build fails on Mac M1 with linker error

Build fails on Mac M1 with message
"building for macOS-arm64 but attempting to link with file built for unknown-x86_64"

% clang --version
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: arm64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Also note that the error message is hidden during nim build in the nimbus-build system, if not using make V=1.

Underlying issue

clang is compiling binaries to x86_64. Running the same command from command-line compiles to arm64.

Workaround found

To debug what happens I've added -v to CFLAGS, and the compilation magically changes to arm64. Really strange -v being verbose output. I suspect an underlying clang bug.

Anyway the workaround is below. Note that make clean is required.

diff --git a/makefile b/makefile
index 503c030..9326ac3 100644
--- a/makefile
+++ b/makefile
@@ -3,7 +3,7 @@
 # To regenerate run ``niminst csource`` or ``koch csource``
 
 CC ?= gcc
-CFLAGS += -Ic_code -w -O3 -fno-strict-aliasing
+CFLAGS += -Ic_code -w -O3 -fno-strict-aliasing -v
 LDFLAGS +=
 binDir = bin
 

Release?

In the old csources repo there were several "releases" that could be easily downloaded without needing to clone the whole repo like so:
https://github.com/nim-lang/csources/archive/v0.20.0/csources-0.20.0.tar.gz
Could you perhaps make a release here too please?
But only if you think it's a good idea, and if it doesn't create any difficulty with your GitHub account limitations. Say if you were building version X of Nim then it might be useful to be able to build that in future with the same version Y of csources_v1, but perhaps you intend that you should always use the latest version of csources_v1 with older releases of Nim, however I expect that might stop working at some point so it might be better to have some actual releases for reliable consistent builds, although you could still go back through the commit history and checkout an older version like that.
(Edit: this is in relation to looking at the possibility of updating the currently outdated Nim PKGBUILD in Arch which uses a checksummed download for security, so the built in download in the Nim build script may be less desirable.)
(Further edit:
https://wiki.archlinux.org/title/Arch_package_guidelines#Package_sources
According to that a pgp signed tag or release would be even better, and this is probably one of the things keeping Nim stuck at 1.4, it wouldn't be a problem to edit the Nim build in the PKGBUILD to not do it's own unverified csources d/l)

nim.exe generated by csource fails to bootstrap devel with `--cc:vcc`

When trying to bootstrap with csource I get this error:

koch boot -d:release --cc:vcc --skipUserCfg --skipParentCfg
iteration: 1
bin\nim.exe c  --skipUserCfg --skipParentCfg -d:nimKochBootstrap --nimcache:nimcache/r_windows_amd64 -d:release --cc:vcc --skipUserCfg --skipParentCfg --noNimblePath --compileOnly compiler\nim.nim
Hint: used config file 'E:\Nim\config\nim.cfg' [Conf]
Hint: used config file 'E:\Nim\compiler\nim.cfg' [Conf]
Hint: used config file 'E:\Nim\config\config.nims' [Conf]
E:\Nim\lib\system.nim(27, 48) Warning: unknown magic 'ZeroDefault' might crash the compiler [UnknownMagic]
Hint: system [Processing]
E:\Nim\lib\system.nim(27, 48) Warning: unknown magic 'ZeroDefault' might crash the compiler [UnknownMagic]
Hint: exceptions [Processing]
Hint: since [Processing]
Hint: ctypes [Processing]
Hint: sysatomics [Processing]
Hint: ansi_c [Processing]
Hint: memory [Processing]
Hint: iterators [Processing]
Hint: assertions [Processing]
Hint: miscdollars [Processing]
Hint: digitsutils [Processing]
Hint: coro_detection [Processing]
Hint: dollars [Processing]
Hint: stacktraces [Processing]
Hint: formatfloat [Processing]
Hint: dragonbox [Processing]
Hint: schubfach [Processing]
Hint: countbits_impl [Processing]
Hint: bitops_utils [Processing]
Hint: syslocks [Processing]
E:\Nim\lib\system.nim(2239, 68) Warning: unknown magic 'Finished' might crash the compiler [UnknownMagic]
Hint: nim [Processing]
Hint: os [Processing]
Hint: ospaths2 [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: math [Processing]
Hint: bitops [Processing]
Hint: macros [Processing]
Hint: fenv [Processing]
Hint: algorithm [Processing]
Hint: enumutils [Processing]
Hint: typetraits [Processing]
Hint: unicode [Processing]
Hint: strbasics [Processing]
Hint: strimpl [Processing]
Hint: pathnorm [Processing]
Hint: osseps [Processing]
Hint: ntpath [Processing]
Hint: oserrors [Processing]
Hint: winlean [Processing]
Hint: dynlib [Processing]
Hint: syncio [Processing]
Hint: widestrs [Processing]
Hint: exitprocs [Processing]
Hint: locks [Processing]
Hint: oscommon [Processing]
Hint: times [Processing]
Hint: options [Processing]
Hint: time_t [Processing]
Hint: osfiles [Processing]
Hint: ossymlinks [Processing]
Hint: osdirs [Processing]
Hint: osappdirs [Processing]
Hint: envvars [Processing]
Hint: win_setenv [Processing]
Hint: parseopt [Processing]
Hint: commands [Processing]
Hint: setutils [Processing]
Hint: sequtils [Processing]
Hint: strtabs [Processing]
Hint: hashes [Processing]
Hint: msgs [Processing]
Hint: tables [Processing]
Hint: outparams [Processing]
Hint: terminal [Processing]
Hint: strformat [Processing]
Hint: colors [Processing]
Hint: options [Processing]
Hint: sets [Processing]
Hint: lineinfos [Processing]
Hint: ropes [Processing]
Hint: pathutils [Processing]
Hint: platform [Processing]
Hint: prefixmatches [Processing]
Hint: nimpaths [Processing]
Hint: globs [Processing]
Hint: objectdollar [Processing]
Hint: nversion [Processing]
Hint: condsyms [Processing]
Hint: extccomp [Processing]
Hint: modulepaths [Processing]
Hint: ast [Processing]
Hint: idents [Processing]
Hint: wordrecg [Processing]
Hint: int128 [Processing]
Hint: renderer [Processing]
Hint: lexer [Processing]
Hint: nimlexbase [Processing]
Hint: llstream [Processing]
Hint: osproc [Processing]
Hint: streams [Processing]
Hint: cpuinfo [Processing]
Hint: win_getsysteminfo [Processing]
Hint: streamwrapper [Processing]
Hint: deques [Processing]
Hint: sha1 [Processing]
Hint: endians [Processing]
Hint: json [Processing]
Hint: lexbase [Processing]
Hint: parsejson [Processing]
Hint: decode_helpers [Processing]
Hint: jsonutils [Processing]
Hint: sugar [Processing]
Hint: underscored_calls [Processing]
Hint: nimblecmd [Processing]
Hint: main [Processing]
Hint: with [Processing]
Hint: syntaxes [Processing]
Hint: parser [Processing]
Hint: filters [Processing]
Hint: filter_tmpl [Processing]
Hint: sem [Processing]
Hint: astalgo [Processing]
Hint: intsets [Processing]
Hint: packedsets [Processing]
Hint: rodutils [Processing]
Hint: trees [Processing]
Hint: types [Processing]
Hint: modulegraphs [Processing]
Hint: md5_old [Processing]
Hint: btrees [Processing]
Hint: packages [Processing]
Hint: packed_ast [Processing]
Hint: bitabs [Processing]
Hint: rodfiles [Processing]
Hint: ic [Processing]
Hint: astmsgs [Processing]
Hint: magicsys [Processing]
Hint: nimsets [Processing]
Hint: bitsets [Processing]
Hint: semfold [Processing]
Hint: importer [Processing]
Hint: lookups [Processing]
Hint: semdata [Processing]
Hint: vmdef [Processing]
Hint: prettybase [Processing]
Hint: linter [Processing]
Hint: editdistance [Processing]
Hint: heapqueue [Processing]
Hint: sigmatch [Processing]
Hint: semtypinst [Processing]
Hint: concepts [Processing]
Hint: parampatterns [Processing]
Hint: lowerings [Processing]
Hint: procfind [Processing]
Hint: pragmas [Processing]
Hint: passes [Processing]
Hint: reorder [Processing]
Hint: transf [Processing]
Hint: cgmeth [Processing]
Hint: sempass2 [Processing]
Hint: guards [Processing]
Hint: saturate [Processing]
Hint: varpartitions [Processing]
Hint: typeallowed [Processing]
Hint: isolation_check [Processing]
Hint: nilcheck [Processing]
Hint: treetab [Processing]
Hint: errorhandling [Processing]
Hint: liftdestructors [Processing]
Hint: sighashes [Processing]
Hint: ccgutils [Processing]
Hint: cgendata [Processing]
Hint: ndi [Processing]
Hint: liftlocals [Processing]
Hint: closureiters [Processing]
Hint: lambdalifting [Processing]
Hint: vm [Processing]
Hint: vmgen [Processing]
Hint: vmdeps [Processing]
Hint: gorgeimpl [Processing]
Hint: macrocacheimpl [Processing]
Hint: vmprofiler [Processing]
Hint: evaltempl [Processing]
Hint: vmconv [Processing]
Hint: vmmarshal [Processing]
Hint: aliases [Processing]
Hint: patterns [Processing]
Hint: semmacrosanity [Processing]
Hint: active [Processing]
Hint: pluginsupport [Processing]
Hint: locals [Processing]
Hint: itersgen [Processing]
Hint: enumtostr [Processing]
Hint: spawn [Processing]
Hint: cgen [Processing]
Hint: injectdestructors [Processing]
Hint: optimizer [Processing]
Hint: aliasanalysis [Processing]
Hint: dfa [Processing]
Hint: asciitables [Processing]
Hint: semparallel [Processing]
Hint: md5 [Processing]
Hint: nimconf [Processing]
Hint: scriptconfig [Processing]
Hint: modules [Processing]
Hint: replayer [Processing]
Hint: passaux [Processing]
Hint: depends [Processing]
Hint: cbackend [Processing]
Hint: dce [Processing]
Hint: integrity [Processing]
Hint: navigator [Processing]
E:\Nim\compiler\ic\navigator.nim(16, 6) Warning: imported and not used: 'os' [UnusedImport]
Hint: jsgen [Processing]
Hint: sourcemap [Processing]
Hint: docgen [Processing]
Hint: rst [Processing]
Hint: rstast [Processing]
Hint: dochelpers [Processing]
Hint: lists [Processing]
Hint: strscans [Processing]
Hint: highlite [Processing]
Hint: rstgen [Processing]
Hint: xmltree [Processing]
Hint: typesrenderer [Processing]
Hint: renderverbatim [Processing]
Hint: uri [Processing]
Hint: base64 [Processing]
Hint: nodejs [Processing]
Hint: docgen2 [Processing]
Hint: cmdlinehelper [Processing]
Hint: browsers [Processing]
Hint: operation successful (177358 lines compiled; 12.355 sec total; 631.508MiB peakmem; Release Build) [SuccessX]
bin\nim.exe jsonscript --noNimblePath --nimcache:nimcache/r_windows_amd64 -d:release --cc:vcc --skipUserCfg --skipParentCfg compiler\nim.nim
Hint: used config file 'E:\Nim\config\nim.cfg' [Conf]
Hint: used config file 'E:\Nim\compiler\nim.cfg' [Conf]
Hint: used config file 'E:\Nim\config\config.nims' [Conf]
E:\Nim\lib\system.nim(27, 48) Warning: unknown magic 'ZeroDefault' might crash the compiler [UnknownMagic]
CC: stdlib_exceptions.nim
CC: stdlib_ctypes.nim
CC: stdlib_digitsutils.nim
CC: stdlib_assertions.nim
CC: stdlib_dollars.nim
CC: stdlib_dragonbox.nim
CC: stdlib_schubfach.nim
CC: stdlib_formatfloat.nim
CC: stdlib_system.nim
CC: stdlib_parseutils.nim
CC: stdlib_math.nim
CC: stdlib_algorithm.nim
CC: stdlib_enumutils.nim
CC: stdlib_unicode.nim
CC: stdlib_strutils.nim
CC: stdlib_ntpath.nim
CC: stdlib_pathnorm.nim
CC: stdlib_dynlib.nim
CC: stdlib_widestrs.nim
CC: stdlib_exitprocs.nim
CC: stdlib_syncio.nim
CC: stdlib_winlean.nim
CC: stdlib_oserrors.nim
CC: stdlib_times.nim
CC: stdlib_oscommon.nim
CC: stdlib_ospaths2.nim
CC: stdlib_osfiles.nim
CC: stdlib_osdirs.nim
CC: stdlib_win_setenv.nim
CC: stdlib_envvars.nim
CC: stdlib_osappdirs.nim
CC: stdlib_os.nim
CC: stdlib_parseopt.nim
CC: stdlib_hashes.nim
CC: stdlib_strtabs.nim
CC: stdlib_tables.nim
CC: stdlib_strformat.nim
CC: stdlib_terminal.nim
CC: stdlib_sets.nim
CC: pathutils.nim
CC: ropes.nim
CC: lineinfos.nim
CC: platform.nim
CC: prefixmatches.nim
CC: nimpaths.nim
CC: stdlib_objectdollar.nim
CC: stdlib_globs.nim
CC: options.nim
CC: msgs.nim
CC: condsyms.nim
CC: wordrecg.nim
CC: idents.nim
CC: int128.nim
CC: ast.nim
CC: llstream.nim
CC: nimlexbase.nim
CC: lexer.nim
CC: renderer.nim
CC: modulepaths.nim
CC: stdlib_streams.nim
CC: stdlib_win_getsysteminfo.nim
CC: stdlib_cpuinfo.nim
CC: stdlib_osproc.nim
CC: stdlib_sha1.nim
CC: stdlib_lexbase.nim
CC: stdlib_parsejson.nim
CC: stdlib_json.nim
CC: stdlib_jsonutils.nim
CC: extccomp.nim
CC: nimblecmd.nim
CC: commands.nim
CC: parser.nim
CC: filters.nim
CC: filter_tmpl.nim
CC: syntaxes.nim
CC: stdlib_packedsets.nim
CC: rodutils.nim
CC: astalgo.nim
CC: trees.nim
CC: md5_old.nim
CC: btrees.nim
CC: packages.nim
CC: ic/rodfiles.nim
CC: ic/bitabs.nim
CC: ic/packed_ast.nim
CC: ic/ic.nim
CC: modulegraphs.nim
CC: astmsgs.nim
CC: types.nim
CC: magicsys.nim
CC: bitsets.nim
CC: nimsets.nim
CC: semfold.nim
Error: execution of an external compiler program 'vccexe.exe /c --platform:amd64 /nologo -DWIN32_LEAN_AND_MEAN /O2  /IE:\Nim\lib /IE:\Nim\lib\wrappers\libffi\common /IE:\Nim\compiler /FoE:\Nim\nimcache\r_windows_amd64\@[email protected] E:\Nim\nimcache\r_windows_amd64\@[email protected]' failed with exit code: 2

@[email protected]
E:\Nim\nimcache\r_windows_amd64\@[email protected](1287): error C2059: erro de sintaxe: '}'
FAILURE

I don't believe it's "important", but I reported it if the team deems it necessary to use another commit for csource that manages to generate valid code for vcc.

Edit:
nim -v (csource)

Nim Compiler Version 1.0.11 [Windows: amd64]
Compiled at 2020-12-21
Copyright (c) 2006-2019 by Andreas Rumpf

git hash: 19440baa807bbda58290ac9d491c9aa8a2bea2fa
active boot switches: -d:release -d:danger

line that causes the error:

NIM_CONST tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q TM__mJObP0PRzfMjXxDpaIgosg_83 = {((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ) 164), 0, ((NI32) 1), {}, {}};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.