Hello Opal Kelly,
This is about how to make FrontPanel 5.3.0 work under Fedora Linux. Hope it helps.
After downloading and installing FrontPanel, FrontPanel fails to start with the following error message:
/usr/local/bin/FrontPanel.bin: error while loading shared libraries: liblua5.3.so.0: cannot open shared object file: No such file or directory
Download lua-5.3.0 and install lua-5.3.0 with the following root command to compile and install the shared library in addition to the static library:
tar zxvf lua-5.3.0.tar.gz; cd lua-5.3.0; patch -p1 < …/lua-5.3.0.diff; make linux; make linux install INSTALL_TOP=/usr/local/lua-5.3.0; cd /usr/local/lua-5.3.0/lib; ln -s liblua.so liblua5.3.so.0; echo /usr/local/lua-5.3.0/lib >> /etc/ld.so.conf; ldconfig;
New users can not upload attachments, so here comes lua-5.3.0.diff:
diff -Naur lua-5.3.0/Makefile lua-5.3.0.patched/Makefile
--- lua-5.3.0/Makefile 2014-10-30 00:14:41.000000000 +0100
+++ lua-5.3.0.patched/Makefile 2023-12-22 11:06:38.600311066 +0100
@@ -41,7 +41,7 @@
# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so
TO_MAN= lua.1 luac.1
# Lua version and release.
diff -Naur lua-5.3.0/src/liblua.so.ld lua-5.3.0.patched/src/liblua.so.ld
--- lua-5.3.0/src/liblua.so.ld 1970-01-01 01:00:00.000000000 +0100
+++ lua-5.3.0.patched/src/liblua.so.ld 2023-12-22 11:19:21.550248752 +0100
@@ -0,0 +1,4 @@
+LUA_5.3 {
+ global:
+ *;
+};
diff -Naur lua-5.3.0/src/Makefile lua-5.3.0.patched/src/Makefile
--- lua-5.3.0/src/Makefile 2015-01-05 17:04:52.000000000 +0100
+++ lua-5.3.0.patched/src/Makefile 2023-12-22 11:21:25.034807342 +0100
@@ -19,7 +19,7 @@
SYSLDFLAGS=
SYSLIBS=
-MYCFLAGS=
+MYCFLAGS=-fPIC
MYLDFLAGS=
MYLIBS=
MYOBJS=
@@ -29,6 +29,7 @@
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
LUA_A= liblua.a
+LUA_SO= liblua.so
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
ltm.o lundump.o lvm.o lzio.o
@@ -43,8 +44,9 @@
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) ${LUA_SO} $(LUA_T) $(LUAC_T)
ALL_A= $(LUA_A)
+ALL_SO=${LUA_SO}
# Targets start here.
default: $(PLAT)
@@ -55,10 +57,15 @@
a: $(ALL_A)
+so: ${ALL_SO}
+
$(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O)
$(RANLIB) $@
+${LUA_SO}:
+ gcc -Wl,--version-script=liblua.so.ld -shared ${BASE_O} -o ${LUA_SO}
+
$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)