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