ports/177881: [update]: lang/luajit fixed symlinks
Veniamin Gvozdikov
g.veniamin at googlemail.com
Tue Apr 16 07:20:01 UTC 2013
>Number: 177881
>Category: ports
>Synopsis: [update]: lang/luajit fixed symlinks
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Apr 16 07:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Veniamin Gvozdikov
>Release: FreeBSD 9.1-RELEASE
>Organization:
>Environment:
FreeBSD ololo 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
It patch fixed problem with symlinks for shared linking.
>How-To-Repeat:
If I use shared libs I had error for example:
clang -Wall -g -fPIC -shared -o build/plugin.so plugin.c -I. -I/usr/local/include -I/usr/local/include/luajit-2.0 -L/usr/local/lib -lm -lluajit-5.1
/usr/bin/ld: /usr/local/lib/libluajit-5.1.a(lj_api.o): relocation R_X86_64_32S against `lj_obj_typename' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libluajit-5.1.a: could not read symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** [all] Error code 1
After symlink:
ln -s /usr/local/lib/libluajit-5.1.so.2.0.1 /usr/local/lib/libluajit-5.1.so
clang -Wall -g -fPIC -shared -o build/plugin.so plugin.c -I. -I/usr/local/include -I/usr/local/include/luajit-2.0 -L/usr/local/lib -lm -lluajit-5.1
>Fix:
diff -ruN luajit.orig/Makefile luajit/Makefile
--- luajit.orig/Makefile 2013-04-16 11:09:56.391967399 +0400
+++ luajit/Makefile 2013-04-16 11:08:46.934967796 +0400
@@ -3,7 +3,7 @@
PORTNAME= luajit
DISTVERSION= 2.0.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= http://luajit.org/download/
DISTNAME= LuaJIT-${DISTVERSION}
diff -ruN luajit.orig/files/patch-Makefile luajit/files/patch-Makefile
--- luajit.orig/files/patch-Makefile 2013-04-16 11:09:56.391967399 +0400
+++ luajit/files/patch-Makefile 2013-04-16 11:00:57.898969021 +0400
@@ -1,5 +1,5 @@
---- Makefile.orig 2012-11-01 22:39:35.000000000 +0400
-+++ Makefile 2012-11-01 22:42:58.000000000 +0400
+--- Makefile.orig 2013-02-20 00:15:00.000000000 +0400
++++ Makefile 2013-04-16 11:00:30.120967135 +0400
@@ -24,14 +24,16 @@
# Change the installation path as needed. This automatically adjusts
# the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path!
@@ -18,7 +18,7 @@
INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
-@@ -39,14 +41,13 @@
+@@ -39,14 +41,14 @@
INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
INSTALL_CMODD= $(INSTALL_LIB)/lua
INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER)
@@ -32,10 +32,16 @@
INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
-INSTALL_SOSHORT= libluajit-$(ABIVER).so
+INSTALL_SOSHORT= libluajit-$(ABIVER).so.$(MAJVER)
++INSTALL_SOSHORT2= libluajit-$(ABIVER).so
INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
-@@ -60,8 +61,8 @@
+@@ -56,12 +58,13 @@
+ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
++INSTALL_SHORT3= $(INSTALL_LIB)/$(INSTALL_SOSHORT2)
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
@@ -46,18 +52,20 @@
UNINSTALL_DIRS= $(INSTALL_JITLIB) $(INSTALL_LJLIBD) $(INSTALL_INC) \
$(INSTALL_LMOD) $(INSTALL_LMODD) $(INSTALL_CMOD) $(INSTALL_CMODD)
-@@ -110,10 +111,8 @@
+@@ -110,10 +113,9 @@
$(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
cd src && test -f $(FILE_SO) && \
$(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
- $(LDCONFIG) $(INSTALL_LIB) && \
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
+- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
- cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) && \
++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT3) || :
cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
$(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
$(RM) $(FILE_PC).tmp
-@@ -131,7 +130,6 @@
+@@ -131,7 +133,6 @@
for file in $(FILES_INC); do \
$(UNINSTALL) $(INSTALL_INC)/$$file; \
done
diff -ruN luajit.orig/pkg-plist luajit/pkg-plist
--- luajit.orig/pkg-plist 2013-04-16 11:09:56.404967211 +0400
+++ luajit/pkg-plist 2013-04-16 11:03:31.957244050 +0400
@@ -7,6 +7,7 @@
include/luajit-2.0/lauxlib.h
include/luajit-2.0/lua.hpp
lib/libluajit-5.1.a
+lib/libluajit-5.1.so
lib/libluajit-5.1.so.2
lib/libluajit-5.1.so.%%VERSION%%
libdata/pkgconfig/luajit.pc
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list