Skip to content

Cannot compile Lobster code to c++ on macos #314

@bentxt

Description

@bentxt

I admit, I'm not at my best today, and maybe there is something broken on my mac. But I cannot run what is described in 'The Lobster C++ Implementation' over on https://aardappel.github.io/lobster/implementation.html, despite having already sunk hours into it ....

I've been able to build lobster from source (and I even found the resulting binary in bin/lobster)

But no I try to compile a simple hello world

compiling with --cpp works

bin/lobster --cpp hello.lobster

The following cmake command also runs succesfully

cmake -DLOBSTER_TOCPP=ON -DCMAKE_BUILD_TYPE=Release .

but the following make fails when I run with LLVM@17

$ make -j8

make -j8
[ 19%] Built target sdl_headers_copy
[ 61%] Built target SDL2-static
[ 61%] Linking CXX executable /Users/ben/build/lobster/lobster.git/bin/compiled_lobster
ld64.lld: error: -mllvm: lld: Unknown command line argument '-disable-aligned-alloc-awareness=1'.  Try: 'lld --help'
lld: Did you mean '--disable-hexagon-dealloc-ret=1'?

here the error witn LLVM@14

[100%] Linking CXX executable /Users/ben/build/lobster/lobster.git/bin/compiled_lobster
ld64.lld: error: Opaque pointers are only supported in -opaque-pointers mode (Producer: 'APPLE_1_1500.3.9.4_0' Reader: 'LLVM 14.0.6')
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/ben/build/lobster/lobster.git/bin/compiled_lobster] Error 1
make[1]: *** [CMakeFiles/compiled_lobster.dir/all] Error 2
make: *** [all] Error 2

here with LLVM@12

[100%] Linking CXX executable /Users/ben/build/lobster/lobster.git/bin/compiled_lobster
ld64.lld: warning: ignoring unknown argument: -platform_version
ld64.lld: warning: ignoring unknown argument: -O3
ld64.lld: warning: ignoring unknown argument: -weak_framework
ld64.lld: warning: ignoring unknown argument: -weak_framework
ld64.lld: warning: -sdk_version is required when emitting min version load command.  Setting sdk version to match provided min version
lld (LLVM option parsing): Unknown command line argument '-disable-aligned-alloc-awareness=1'.  Try: 'lld (LLVM option parsing) --help'
lld (LLVM option parsing): Did you mean '--disable-inlined-alloca-merging=1'?
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/ben/build/lobster/lobster.git/bin/compiled_lobster] Error 1
make[1]: *** [CMakeFiles/compiled_lobster.dir/all] Error 2
make: *** [all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions