Comments (4)
/bin/bash: llvm-config: command not found
You need to have LLVM installed. I know the build should stop in that case, but I never bothered.
Alternatively, you can build interpreter-only with make COMPILER=none
from xl.
Hey @blakemcbride, were you ever successful to compile with my recommendation?
from xl.
For what is worth I was able to compile with make COMPILER=none
.
Only 4 warnings.
Here is the run.
root@agarciafd-lg:/home/agarciafdz/r/gh/c3d/xl# make COMPILER=none
make[1]: Entering directory '/home/agarciafdz/r/gh/c3d/xl'
[BEGIN] opt linux in [top]
make[2]: Entering directory '/home/agarciafdz/r/gh/c3d/xl/recorder'
[BEGIN] opt linux in [top]recorder/
[COMPILE 1/2] recorder.c
[LINK] librecorder.so
[END] opt linux in [top]recorder/
make[2]: Leaving directory '/home/agarciafdz/r/gh/c3d/xl/recorder'
make[2]: Entering directory '/home/agarciafdz/r/gh/c3d/xl/src'
[CONFIG] regex [NO]
[INFO] Building in interpreter-only mode
[BEGIN] opt linux in [top]src/
[CONFIG] longlong [OK]
[CONFIG] ulong [OK]
[CONFIG] uint [OK]
[CONFIG] ushort [OK]
[CONFIG] uchar [NO]
[CONFIG] glob [OK]
[CONFIG] drand48 [OK]
[CONFIG] sys/socket [OK]
[CONFIG] sys/mman [OK]
[CONFIG] regex [OK]
[CONFIG] mingw_aligned_malloc [NO]
[CONFIG] posix_memalign [OK]
[CONFIG] sbrk [OK]
[CONFIG] struct_stat [OK]
[CONFIG] sigaction [OK]
[INFO] Building in interpreter-only mode
[BEGIN] opt linux in [top]src/
[VARIANT] lib
make[3]: Entering directory '/home/agarciafdz/r/gh/c3d/xl/src'
[INFO] Building in interpreter-only mode
[BEGIN] opt linux in [top]src/[lib]
[GENERATE] config.h
[COMPILE 1/29] action.cpp
[COMPILE 2/29] bytecode.cpp
[COMPILE 3/29] cdecls.cpp
[COMPILE 4/29] context.cpp
[COMPILE 5/29] errors.cpp
[COMPILE 6/29] gc.cpp
gc.cpp: In static member function ‘static void* XL::TypeAllocator::operator new(size_t)’:
gc.cpp:406:16: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or ‘-fcheck-new’ is in effect)
406 | return nullptr;
| ^~~~~~~
[COMPILE 7/29] interpreter.cpp
[COMPILE 8/29] main.cpp
[COMPILE 9/29] opcodes.cpp
[COMPILE 10/29] options.cpp
[COMPILE 11/29] parser.cpp
[COMPILE 12/29] renderer.cpp
[COMPILE 13/29] rewrites.cpp
[COMPILE 14/29] runtime.cpp
[COMPILE 15/29] scanner.cpp
[COMPILE 16/29] serializer.cpp
[COMPILE 17/29] syntax.cpp
[COMPILE 18/29] tree.cpp
[COMPILE 19/29] types.cpp
types.cpp: In member function ‘XL::Tree* XL::Types::TypeCoversType(XL::Tree*, XL::Tree*)’:
types.cpp:482:20: warning: unused variable ‘typeCondition’ [-Wunused-variable]
482 | if (Infix *typeCondition = IsPatternCondition(pattern))
| ^~~~~~~~~~~~~
types.cpp:633:23: warning: unused variable ‘nval’ [-Wunused-variable]
633 | if (Name *nval = pattern->AsName())
| ^~~~
types.cpp: In member function ‘XL::Tree* XL::Types::PatternCoversPattern(XL::Tree*, XL::Tree*, XL::Tree*)’:
types.cpp:726:20: warning: unused variable ‘typeCondition’ [-Wunused-variable]
726 | if (Infix *typeCondition = IsPatternCondition(wide))
| ^~~~~~~~~~~~~
[COMPILE 20/29] utf8_fileutils.cpp
[COMPILE 21/29] version.cpp
[COMPILE 22/29] winglob.cpp
[GENERATE] basics_module.cpp
[COMPILE 23/29] basics_module.cpp
[GENERATE] io_module.cpp
[COMPILE 24/29] io_module.cpp
[GENERATE] math_module.cpp
[COMPILE 25/29] math_module.cpp
[GENERATE] text_module.cpp
[COMPILE 26/29] text_module.cpp
[GENERATE] remote_module.cpp
[COMPILE 27/29] remote_module.cpp
[GENERATE] time_functions_module.cpp
[COMPILE 28/29] time_functions_module.cpp
[GENERATE] temperature_module.cpp
[COMPILE 29/29] temperature_module.cpp
[LINK] libxl.so
[END] opt linux in [top]src/[lib]
make[3]: Leaving directory '/home/agarciafdz/r/gh/c3d/xl/src'
[VARIANT] exe
make[3]: Entering directory '/home/agarciafdz/r/gh/c3d/xl/src'
[INFO] Building in interpreter-only mode
[BEGIN] opt linux in [top]src/[exe]
[COMPILE 1/1] xl.cpp
[LINK] xl
[END] opt linux in [top]src/[exe]
make[3]: Leaving directory '/home/agarciafdz/r/gh/c3d/xl/src'
[END] opt linux in [top]src/
make[2]: Leaving directory '/home/agarciafdz/r/gh/c3d/xl/src'
[END] opt linux in [top]
make[1]: Leaving directory '/home/agarciafdz/r/gh/c3d/xl'
real 1m48.102s
user 1m41.279s
sys 0m6.433s
0 Errors, 4 Warnings in /home/agarciafdz/r/gh/c3d/xl/.logs/build-linux-opt-20231116-201833.log
from xl.
I'm trying to make it run on Mac, but I get different issues when compiling:
❯ make COMPILER=none
[BEGIN] opt macosx-clang in [top]
[BEGIN] opt macosx-clang in [top]recorder/
[END] opt macosx-clang in [top]recorder/
[INFO] Building in interpreter-only mode
[BEGIN] opt macosx-clang in [top]src/
[VARIANT] lib
[INFO] Building in interpreter-only mode
[BEGIN] opt macosx-clang in [top]src/[lib]
[COMPILE 1/29] bytecode.cpp
In file included from bytecode.cpp:37:
../include/bytecode.h:88:56: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions]
Tree * Evaluate(Scope *, Tree *input) override;
^
../include/bytecode.h:89:67: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions]
Tree * TypeCheck(Scope *, Tree *type, Tree *val) override;
^
In file included from bytecode.cpp:38:
../include/interpreter.h:57:57: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions]
Tree * Evaluate(Scope *, Tree *source) override;
^
../include/interpreter.h:58:69: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions]
Tree * TypeCheck(Scope *, Tree *type, Tree *value) override;
^
In file included from bytecode.cpp:40:
../include/errors.h:71:38: warning: default template arguments for a function template are a C++11 extension [-Wc++11-extensions]
template <typename num, typename =
^
In file included from bytecode.cpp:41:
In file included from ../include/basics.h:43:
./types.h:160:10: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
enum class Decl { NORMAL, C, DATA, BUILTIN };
^
In file included from bytecode.cpp:41:
In file included from ../include/basics.h:46:
In file included from ../include/main.h:47:
../include/options.h:158:18: error: no template named 'function' in namespace 'std'
typedef std::function<void(Option &opt, Options &opts)> Code;
~~~~~^
In file included from bytecode.cpp:41:
...
Does it mean the compiler does not support c++11 or something? I tried looking into makefiles but can't find which exact binary is used for compiling
from xl.
Related Issues (20)
- Cleanup the runtime from old / obsolete functions
- Convert XL native modules to XL_NATIVE
- Implement modules
- Error evaluation rules
- Remove remnants of bytecode interpreter (or, alternatively, fix it) HOT 5
- Fast compiler similar to what was used in Tao3D HOT 1
- Improve llvm-crap to deal with deprecated functions in LLVM 9.0.1
- Chat room? HOT 1
- [Comment/Suggestion] The Definition Operator HOT 5
- Conceptual question: how is this language different than other prologs? HOT 1
- Imperative flavour: continue & break in loops HOT 4
- Add to https://github.com/kostya/benchmarks/
- NULL/nil/none/void/... value considered harmful (a "billion dollar mistake" of Tony Hoare) HOT 10
- Treat float literals as decimal float literals and not as binary float literals HOT 2
- Can't build native/HelloWorld HOT 3
- Basic Examples Compiler Explanation HOT 1
- Data Inheritance HOT 1
- A small scheme VM HOT 1
- Typo in opcodes.h HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xl.