Opened 5 years ago

Last modified 5 years ago

#59265 closed defect

luajit @ 2.0.5 : Does not compile on Catalina with Xcode 11.1, CFLAG patch and link below — at Version 1

Reported by: justinGilmer (Justin Gilmer) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.1
Keywords: haspatch Cc:
Port: luajit

Description (last modified by justinGilmer (Justin Gilmer))

I was trying to install Neovim @ 0.3.8 , which requires luajit. However, when attempting to build luajit @ 2.0.5, the error listed below occurs.

I found this apple developer thread which was discussing some compiler issues with Xcode 11.1 and that adding the CFLAG -fno-stack-check or changing the deployment target to 10.14 would provide a workaround. I chose the former, which is included below in my attached patch file. I was then able to successfully install luajit and Neovim.

Thread: https://forums.developer.apple.com/thread/121887

:notice:build --->  Building luajit
:debug:build Executing org.macports.build (luajit)
:debug:build Environment: 
:debug:build CC_PRINT_OPTIONS='YES'
:debug:build CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/.CC_PRINT_OPTIONS'
:debug:build CPATH='/opt/local/include'
:debug:build DEVELOPER_DIR='/Library/Developer/CommandLineTools'
:debug:build LIBRARY_PATH='/opt/local/lib'
:debug:build MACOSX_DEPLOYMENT_TARGET='10.15'
:debug:build SDKROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk'
:info:build Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5" && /usr/bin/make -j4 -w amalg CC="/usr/bin/clang" CFLAGS="-I/opt/local/include -Os -arch x86_64 -DLUAJIT_ENABLE_LUA52COMPAT" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64" PREFIX="/opt/local" Q="" 
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5" && /usr/bin/make -j4 -w amalg CC="/usr/bin/clang" CFLAGS="-I/opt/local/include -Os -arch x86_64 -DLUAJIT_ENABLE_LUA52COMPAT" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64" PREFIX="/opt/local" Q="" 
:info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5'
:info:build Building LuaJIT 2.0.5
:info:build /Library/Developer/CommandLineTools/usr/bin/make -C src amalg
:info:build make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5/src'
:info:build +--------------------------------------------------------------------------+
:info:build | WARNING: Compiling the amalgamation needs a lot of virtual memory        |
:info:build | (around 300 MB with GCC 4.x)! If you don't have enough physical memory   |
:info:build | your machine will start swapping to disk and the compile will not finish |
:info:build | within a reasonable amount of time.                                      |
:info:build | So either compile on a bigger machine or use the non-amalgamated build.  |
:info:build +--------------------------------------------------------------------------+
:info:build /Library/Developer/CommandLineTools/usr/bin/make all "LJCORE_O=ljamalg.o"
:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5/src'
:info:build BUILDVM   lj_folddef.h
:info:build host/buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
:info:build BUILDVM   jit/vmdef.lua
:info:build host/buildvm -m vmdef -o jit/vmdef.lua lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
:info:build make[2]: *** [lj_folddef.h] Segmentation fault: 11
:info:build make[2]: *** Deleting file `lj_folddef.h'
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5/src'
:info:build make[1]: *** [amalg] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5/src'
:info:build make: *** [amalg] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/work/LuaJIT-2.0.5" && /usr/bin/make -j4 -w amalg CC="/usr/bin/clang" CFLAGS="-I/opt/local/include -Os -arch x86_64 -DLUAJIT_ENABLE_LUA52COMPAT" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64" PREFIX="/opt/local" Q="" 
:info:build Exit code: 2
:error:build Failed to build luajit: command execution failed
:debug:build Error code: CHILDSTATUS 8792 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_luajit/luajit/main.log for details.

Change History (2)

Changed 5 years ago by justinGilmer (Justin Gilmer)

Attachment: luajit.patch added

comment:1 Changed 5 years ago by justinGilmer (Justin Gilmer)

Description: modified (diff)
Note: See TracTickets for help on using tickets.