ข้อผิดพลาดประเภทนี้มักเกิดจากลิงก์เกอร์ (linker) ในขั้นตอนการคอมไพล์ พฤติกรรมเริ่มต้นของลิงก์เกอร์คือการนำโค้ดจากไลบรารีแบบอาร์ไคฟ (archive libraries) เมื่อโปรแกรมปัจจุบันต้องการ
เพื่อให้ทำงานได้อย่างถูกต้อง ไลบรารีต้องอยู่ในลำดับที่ถูกต้อง เราสามารถพูดได้ว่า ต้องอยู่ในรูปแบบ "caller before callees" (ผู้เรียกต้องอยู่ก่อนผู้ถูกเรียก) ปัญหานี้สามารถแก้ได้โดยเลือกพฤติกรรมที่ไม่ใช่ค่าเริ่มต้นโดยใช้แฟล็ก (flags) แต่กระบวนการลิงก์อาจใช้เวลานานขึ้น หรือแก้ได้โดยจัดลำดับไลบรารีให้ถูกต้อง โลเดอร์ (loaders) และ tsort สามารถช่วยจัดเรียงและแก้ไขลำดับได้