Hi, I'm a bit fighting with the freelist mailing list so I'm not sure if I gave you context to the patches I sent or not. In case I have, sorry to bother again. I'm trying to add Enlightenment Foundation Libraries into Guix and I found weird problem with LuaJIT which broke the build. With help of Quaker66 from EFL world I have found that `make install' phase doesn't create all the necessary symlinks to libluajit-5.1.so. This is how it looks on Gentoo: $ ls /usr/lib64/libluajit-5.1.so* -l lrwxrwxrwx 1 root root 22 10. bře 2014 /usr/lib64/libluajit-5.1.so -> libluajit-5.1.so.2.0.2 lrwxrwxrwx 1 root root 22 10. bře 2014 /usr/lib64/libluajit-5.1.so.2 -> libluajit-5.1.so.2.0.2 -rwxr-xr-x 1 root root 454024 10. bře 2014 /usr/lib64/libluajit-5.1.so.2.0.2 (it looks like this thanks to patches present in Gentoo) On Guix none of the symlinks was created. I have found two reasons for that: 1) INSTALL_SHORT1 and INSTALL_SHORT2 has the same value set: 58 INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) 59 INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) so later, in make's install target: 107 install: $(INSTALL_DEP) 108 @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ====" 109 $(MKDIR) $(INSTALL_DIRS) 110 cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T) 111 cd src && test -f $(FILE_A) && $(INSTALL_F) $(FILE_A) $(INSTALL_STATIC) || : 112 $(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) 113 cd src && test -f $(FILE_SO) && \ 114 $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \ 115 $(LDCONFIG) $(INSTALL_LIB) && \ 116 $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ 117 $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : it tries to create same symlink twice that is fixed by the first patch 'Provide two symlinks for dynamic library during install' 2) the other problem was caused by missing ldconfig on Guix (there makes not much sense) If you have a look on the expression in install target, in case that $(LDCONFIG) fails, it will continue thanks to "|| :" on the end. I assume that symlink creation doesn't depend on ldconfig command result so I sent second patch 'Do not silently and prematurely end install when ldconfig is missing' Please, review. Thanks in advance, Tomas Cech
Attachment:
pgpjJss0xuuBg.pgp
Description: PGP signature