MacOS 使用 luarocks+wrk+luajit

MacOS 使用 luarocks+wrk+luajit

luarocks 默認使用的是 lua 5.4 版本,一些工具,例如 wrk 使用的 lua 5.1,那么 luarocks 在安裝依賴的時候就需要指定 lua 5.1。

luarocks config 配置 lua 5.1

請確保已經安裝了 lua5.1 或者 luajit,本處使用 luajit。

luarocks config lua_dir /opt/homebrew/opt/luajit
Lua version will default to 5.1 in /opt/homebrew/etc/luarocks
Wrotelua_version = "5.1"
to/opt/homebrew/etc/luarocks/config-5.1.lua
qyvlik@qyvlikdeMacBook-Pro luarocks % luarocks config lua_dir /opt/homebrew/opt/luajit
Wrotevariables.LUA = "/opt/homebrew/opt/luajit/bin/luajit"variables.LUA_BINDIR = "/opt/homebrew/opt/luajit/bin"variables.LUA_DIR = "/opt/homebrew/opt/luajit"variables.LUA_INCDIR = "/opt/homebrew/opt/luajit/include/luajit-2.1"variables.LUA_LIBDIR = "/opt/homebrew/opt/luajit/lib"
to/opt/homebrew/etc/luarocks/config-5.1.lua

寫入文件的位置 /opt/homebrew/etc/luarocks/config-5.1.lua,內容如下:

-- LuaRocks configurationrocks_trees = {{ name = "user", root = home .. "/.luarocks" };{ name = "system", root = "/opt/homebrew" };
}
variables = {LUA_DIR = "/opt/homebrew/opt/luajit";LUA_BINDIR = "/opt/homebrew/opt/luajit/bin";LUA_VERSION = "5.1";LUA = "/opt/homebrew/opt/luajit/bin/luajit";
}
luarocks config lua_version 5.1
Wrotelua_version = "5.1"
to/opt/homebrew/etc/luarocks/config-5.1.lua

寫入文件的位置 /opt/homebrew/etc/luarocks/default-lua-version.lua,內容如下:

return "5.1"

luarocks install snowflake

如果需要使用代理安裝,請在執行如下命令,請確保有對應的 proxy 服務在運行。

export all_proxy=http://127.0.0.1:3128

安裝需要指定 --lua-version=5.1

luarocks install snowflake --lua-version=5.1

沒有指定 lua-version

admin@localhost% luarocks install snowflake
Installing https://luarocks.org/snowflake-1.0-1.rockspec
Cloning into 'lua-snowflake'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 21 (delta 3), reused 2 (delta 2), pack-reused 13 (from 1)
Receiving objects: 100% (21/21), 8.39 KiB | 8.39 MiB/s, done.
Resolving deltas: 100% (3/3), done.
Note: switching to 'e4f3008828ea83ff1ba6651a766a349d449cee44'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:git switch -c <new-branch-name>Or undo this operation with:git switch -Turn off this advice by setting config variable advice.detachedHead to falsesnowflake 1.0-1 depends on lua >= 5.1 (5.4-1 provided by VM: success)
env MACOSX_DEPLOYMENT_TARGET=11.0 gcc -O2 -fPIC -I/opt/homebrew/opt/lua/include/lua5.4 -c src/main.c -o src/main.o
src/main.c:47:23: error: call to undeclared function 'luaL_checkint'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]47 |     g_datacenter_id = luaL_checkint(L, 1);|                       ^
src/main.c:47:23: note: did you mean 'luaL_checkany'?
/opt/homebrew/opt/lua/include/lua5.4/lauxlib.h:68:18: note: 'luaL_checkany' declared here68 | LUALIB_API void (luaL_checkany) (lua_State *L, int arg);|                  ^
1 error generated.Error: Build error: Failed compiling object src/main.o

指定 lua-version

admin@localhost% luarocks install snowflake --lua-version=5.1
Installing https://luarocks.org/snowflake-1.0-1.rockspec
Cloning into 'lua-snowflake'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 21 (delta 3), reused 2 (delta 2), pack-reused 13 (from 1)
Receiving objects: 100% (21/21), 8.39 KiB | 4.19 MiB/s, done.
Resolving deltas: 100% (3/3), done.
Note: switching to 'e4f3008828ea83ff1ba6651a766a349d449cee44'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:git switch -c <new-branch-name>Or undo this operation with:git switch -Turn off this advice by setting config variable advice.detachedHead to falsesnowflake 1.0-1 depends on lua >= 5.1 (5.1-1 provided by VM: success)
env MACOSX_DEPLOYMENT_TARGET=11.0 gcc -O2 -fPIC -I/opt/homebrew/opt/luajit/include/luajit-2.1 -c src/main.c -o src/main.o
src/main.c:8:9: warning: 'luaL_newlib' macro redefined [-Wmacro-redefined]8 | #define luaL_newlib(L, l) ( lua_newtable( L ), luaL_register( L, NULL, l ) )|         ^
/opt/homebrew/opt/luajit/include/luajit-2.1/lauxlib.h:125:9: note: previous definition is here125 | #define luaL_newlib(L, l)       (luaL_newlibtable(L, l), luaL_setfuncs(L, l, 0))|         ^
1 warning generated.
env MACOSX_DEPLOYMENT_TARGET=11.0 gcc  -bundle -undefined dynamic_lookup -all_load -o /var/folders/lt/g2t6nfq96cs0lwt4nl86gys40000gn/T/luarocks_build-snowflake-1.0-1-5295760/snowflake.so src/main.o
No existing manifest. Attempting to rebuild...
snowflake 1.0-1 is now installed in /opt/homebrew (license: MIT)

ref

  • https://github.com/luarocks/luarocks/issues/337

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95835.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95835.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95835.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PostgreSQL18-FDW連接的 SCRAM 直通身份驗證

PostgreSQL18-FDW連接的 SCRAM 直通身份驗證 PostgreSQL 18 為使用 postgres_fdw 或 dblink_fdw 的人帶來了很好的改進&#xff1a;SCRAM 直通身份驗證。設置外部服務器連接時&#xff0c;您不再需要在“用戶映射”選項中存儲純文本密碼。 這是實現它的提交&#xff1a; commit…

“臥槽,系統又崩了!”——別慌,這也許是你看過最通俗易懂的分布式入門

在分布式系統中&#xff0c;有效應對節點故障、網絡分區延遲和數據一致性等挑戰至關重要。本文將剖析保障分布式系統可靠性的核心機制&#xff1a;數據分片實現水平擴展&#xff0c;冗余副本保障數據高可用&#xff0c;租約&#xff08;Lease&#xff09;機制優化節點狀態共識與…

【代碼隨想錄算法訓練營——Day4】鏈表——24.兩兩交換鏈表中的節點、19.刪除鏈表的倒數第N個節點、面試題02.07.鏈表相交、142.環形鏈表II

LeetCode題目鏈接 https://leetcode.cn/problems/swap-nodes-in-pairs/ https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/description/ https://leetcode.cn/problems/linked-list-cycle…

C#中一段程序類比博圖

using system //博圖中要使用自帶指令庫&#xff0c;指令庫名稱叫systemnamespace Simple//博圖建立程序&#xff0c;分診斷文件夾&#x1f4c2;&#xff0c;vision文件夾&#xff0c;通訊Db文件夾&#x1f4c2;等等&#xff0c;simple類似博圖中的文件夾名稱{class Program//程…

vue飛自在酒店管理系統(代碼+數據庫+LW)

摘 要 近年來&#xff0c;隨著科技的迅猛進步和經濟全球化的深入發展&#xff0c;互聯網技術正以前所未有的速度提升社會綜合發展的效能。這一技術的影響力已滲透到各行各業&#xff0c;其中&#xff0c;飛自在酒店管理系統在互聯網時代背景下扮演著舉足輕重的角色。信息管理…

2025年統計與數據分析領域專業認證發展指南

在數據驅動決策日益重要的背景下&#xff0c;專業認證作為提升統計學和數據分析能力的一種方式&#xff0c;受到越來越多從業者的關注。本文基于行業發展趨勢&#xff0c;分析6個相關領域的專業資格認證&#xff0c;為專業人士提供參考。一、數據分析能力認證含金量CDA數據分析…

激光頻率梳 3D 輪廓測量 - 油路板的凹槽深度和平面度測量

一、引言油路板作為液壓系統核心部件&#xff0c;其凹槽深度與平面度精度直接影響油液流動特性與密封性能。傳統測量方法在面對復雜油路結構時存在效率低、精度不足等問題。激光頻率梳 3D 輪廓測量技術憑借時頻基準優勢&#xff0c;為油路板關鍵參數測量提供了新路徑&#xff0…

七彩喜微高壓氧艙:科技與體驗的雙重革新,重新定義家用氧療新標桿

在高壓氧艙市場競爭日益激烈的今天&#xff0c;七彩喜微高壓氧艙憑借其獨特的技術創新、極致的用戶體驗和貼心的服務生態&#xff0c;在眾多品牌中脫穎而出。它不僅是一臺設備&#xff0c;更是一個“懂你需求、護你健康”的智能健康伙伴。對比其他品牌&#xff0c;七彩喜的優勢…

[光學原理與應用-418]:非線性光學 - 數學中的線性函數與非線性函數

線性函數與非線性函數是數學和工程領域中描述變量關系的基礎工具&#xff0c;二者在定義、性質、圖像特征及應用場景上存在本質差異。以下從核心概念、數學特性、圖像對比、應用場景及實際案例五個維度展開詳細分析&#xff1a;一、核心概念&#xff1a;線性 vs 非線性線性函數…

前端登錄鑒權詳解

1.cookie-session1. cookiecookie簡單來說就是瀏覽器客戶端在請求時會攜帶的一個字段數據&#xff0c;常用與保存當前用戶狀態并在請求時攜帶給服務端驗證。2. sessionsession簡單來說就是服務單對于每一個用戶生成一個用戶會話標識session /session id&#xff0c;并返回給客戶…

從零實現 LLM(上):原理講透 + 最小可運行 GPT

引言 為什么要學習 LLM&#xff1f; 當你和 ChatGPT 對話時&#xff0c;它不僅能回答你的問題&#xff0c;還能續寫故事、記住上下文&#xff0c;甚至調整風格。你可能會想&#xff1a;它是怎么做到的&#xff1f; 答案就是&#xff1a;大語言模型&#xff08;Large Languag…

浪潮科技Java開發面試題及參考答案(120道題-下)

如何給 MySQL 表添加索引?添加索引的語法是什么?添加索引時需要考慮哪些因素(如字段類型、查詢頻率、索引選擇性)? 給 MySQL 表添加索引需根據業務需求選擇合適的索引類型,不同類型的索引語法不同,同時需綜合評估字段特性、查詢模式等因素,避免無效或過度索引。 一、…

大數據畢業設計選題推薦-基于大數據的宮頸癌風險因素分析與可視化系統-Spark-Hadoop-Bigdata

?作者主頁&#xff1a;IT研究室? 個人簡介&#xff1a;曾從事計算機專業培訓教學&#xff0c;擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦??? Java項目 Python…

【PyTorch實戰:Tensor變形】5、 PyTorch Tensor指南:從基礎操作到Autograd與GPU加速實戰

一、Tensor核心概念解析 1.1 什么是Tensor? Tensor是PyTorch中最基本的數據結構,也是深度學習框架的核心計算單元。我們可以將Tensor理解為多維數組的統一表示,它在PyTorch中的地位相當于NumPy中的ndarray,但具有兩個關鍵增強特性:GPU加速支持和自動求導能力。 1.2 為…

2025年我國具身智能產業鏈全景分析

一、具身智能產業概述與定義 1.1 具身智能的基本概念與內涵 具身智能&#xff08;Embodied Intelligence&#xff09;是指通過物理實體與環境進行交互的智能系統&#xff0c;其核心在于將感知、決策和執行緊密結合&#xff0c;使智能體能夠在動態環境中自主感知、學習和執行任務…

VMWare上搭建大數據集群

文章目錄1. 采用軟件較新版本2. 準備三臺虛擬機3. 搭建Hadoop集群3.1 在主節點上配置Hadoop3.1.1 編輯映射文件3.1.2 配置免密登錄3.1.3 配置JDK3.1.4 配置Hadoop3.2 從主節點分發到從節點3.3 格式化名稱節點3.4 啟動Hadoop集群3.5 使用Hadoop WebUI3.6 運行MR應用&#xff1a;…

小迪自用web筆記29

PHP刷新是點擊刷新之后原來的圖片替換掉&#xff0c;換成新的圖片。把inhoneJPG給替換掉如果這個圖片是由用戶可自定義輸入的話&#xff0c;可xss漏洞應用。因為這段代碼本質邏輯是點擊刷新之后。就執行update方法中的代碼&#xff0c;而這個方法中存儲的是。截取IMG&#xff0…

WPS--專業pj版

下載 下載鏈接 解壓后 安裝 默認安裝 激活 輸入解壓后文件中的激活碼

Android Framework智能座艙面試題

目錄 1.談一談你對binder機制的理解?它為什么是Android中最重要的IPC通信方式?與其他IPC(Socket、共享內存)通信方式相比有哪些優勢? 2.如果你需要新提供的車載硬件(比如:一個座椅震動馬達)提供系統級別支持應該怎么做? 3.你了解Android與QNX共存方案的實現方式嗎?他們…

[CISCN2019 華北賽區 Day1 Web1]Dropbox

TRY 首先上傳和刪除文件抓包&#xff0c;可以發現upload.php和delete.php&#xff0c;只允許上傳gif png jpg后綴的文件。但是上傳的文件并沒有辦法訪問&#xff0c;不過可以下載&#xff0c;抓包發現下載的時候請求體是文件名&#xff0c;嘗試能不能通過路徑穿越獲取源碼&…