Pattapong J.
NoteWise
Published in
1 min readNov 8, 2015

--

Fix Splunk’s dyld error on Mac OSX 10.11

ถ้าใครเคยใช้ Splunk บน mac มาก่อน มันจะใช้ดีมาตลอด ไม่เคยงอแง แต่พอดีได้โอกาสอัพเกรด OSX มาเป็นเวอร์ชันล่าสุด กลายเป็นว่า start ไม่ขึ้น ถ้าลองดูใน message ก็จะเจอ error มากมาย

error ตอน start splunk ขึ้นมา

จะเห็นว่าส่วนมาก error ที่เจอคือ library บางตัวไม่เจอ ซึ่ง splunk เองก็ไม่ได้ลงมาให้ด้วย

dyld: Library not loaded: /Users/eserv/wrangler/build-home/6.2.6/lib/libmongoc-1.0.0.dylibdyld: Library not loaded: /Users/eserv/wrangler-2.0/build-home/ember/lib/libmongoc-1.0.0.dylib

หลังจากลองหาข้อมูลซักพัก คาดว่าน่าจะเป็นเพราะ engineer ของ splunk น่าจะลืมการตั้งค่า environment บางตัวเฉยๆ เพราะว่า file ที่มันหาไม่เจอทั้งหมดนั้นมีมาให้ใน folder Splunk/lib และน่าจะสามารถใช้ได้เลยด้วย แต่ทาง Splunk น่าจะลืมตั้งค่านี้และเรียกแบบ static ตามปกติแทนที่จะเรียกแบบ relative จาก folder ที่ได้ลงไว้

เนื่องจากปัญหาเกิดจากเรื่องเล็กน้อยที่ดันมองข้ามของทีม build เพราะงั้นก็แก้ไม่ยากครับ เพราะไฟล์มีมาให้ด้วยอยู่ไม่ได้หายไปไหน ทางแก้คือ

  1. สร้าง path structure ที่มีปัญหาขึ้นมาใหม่
  2. สร้าง shortcut ไปยัง folder Splunk/lib

ยกตัวอย่างเครื่องผมเองลง Splunk ไว้ที่ /Applications/Splunk ก็จะได้คำสั่งในการแก้คือ

sudo mkdir -p /Users/eserv/wrangler/build-home/6.2.6
sudo ln -s /Applications/Splunk/lib /Users/eserv/wrangler/build-home/6.2.6/lib

sudo mkdir -p /Users/eserv/wrangler-2.0/build-home/ember/
sudo ln -s /Applications/Splunk/lib /Users/eserv/wrangler-2.0/build-home/ember/lib

จากนั้นก็ลอง restart อีกครั้งนึง ก็จะเห็นว่า start ได้ปกติ ไม่มี error แล้ว

/Applications/Splunk/bin/splunk restart

--

--