xiaolu / lz4

Automatically exported from code.google.com/p/lz4
1 stars 1 forks source link

lz4 versioned libraries are installed as regular files instead of symlinks #120

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
"make" create 2 symlinks to liblz4.so.1.0.0. Perfect.

liblz4.so -> liblz4.so.1.0.0
liblz4.so.1 -> liblz4.so.1.0.0
liblz4.so.1.0.0

But "make install" create 3 files (because you use install)

So I get the following message from ldconfig:
ldconfig: /usr/lib/liblz4.so.1 is not a symbolic link

Original issue reported on code.google.com by sebastien.luttringer on 13 Mar 2014 at 12:24

GoogleCodeExporter commented 9 years ago
OK, thanks for report.
What would be the correct way to proceed ?
Create link into destination directory, rather than installing them there ?

Original comment by yann.col...@gmail.com on 13 Mar 2014 at 9:26

GoogleCodeExporter commented 9 years ago
yes, that's what I would have done.

Original comment by sebastien.luttringer on 13 Mar 2014 at 9:58

GoogleCodeExporter commented 9 years ago

Original comment by yann.col...@gmail.com on 13 Mar 2014 at 10:01

GoogleCodeExporter commented 9 years ago
The following release candidate attempts to correct the link install/uninstall 
issue.

Original comment by yann.col...@gmail.com on 13 Mar 2014 at 10:26

Attachments:

GoogleCodeExporter commented 9 years ago
Nop, symlink should be relative, they keep the installation path otherwise.

-rw-r--r-- root/root       564 2014-03-18 23:55 .PKGINFO
-rw-r--r-- root/root       812 2014-03-18 23:55 .MTREE
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/lib/
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/bin/
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/share/
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/include/
-rwxr-xr-x root/root      8763 2014-03-18 23:55 usr/include/lz4hc.h
-rwxr-xr-x root/root     12316 2014-03-18 23:55 usr/include/lz4.h
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/share/man/
drwxr-xr-x root/root         0 2014-03-18 23:55 usr/share/man/man1/
-rw-r--r-- root/root       878 2014-03-18 23:55 usr/share/man/man1/lz4.1.gz
-rwxr-xr-x root/root     60544 2014-03-18 23:55 usr/bin/lz4
-rwxr-xr-x root/root     61488 2014-03-18 23:55 usr/bin/lz4c
lrwxrwxrwx root/root         0 2014-03-18 23:55 usr/lib/liblz4.so -> 
/home/seblu/packages/community/lz4/trunk/pkg/lz4/usr/lib/liblz4.so.1.0.0
lrwxrwxrwx root/root         0 2014-03-18 23:55 usr/lib/liblz4.so.1 -> 
/home/seblu/packages/community/lz4/trunk/pkg/lz4/usr/lib/liblz4.so.1.0.0
-rwxr-xr-x root/root     32056 2014-03-18 23:55 usr/lib/liblz4.so.1.0.0

Original comment by sebastien.luttringer on 18 Mar 2014 at 10:58

GoogleCodeExporter commented 9 years ago
> they keep the installation path otherwise

But isn't that the intended behavior ?

If someone, for some reason, copy/paste the symlink into another directory, it 
will still point to installation directory, where the library is.
Whereas, if the link is relative, it will point towards nothing.

Is there any other scenario in which a relative symlink is preferable ?

Original comment by yann.col...@gmail.com on 19 Mar 2014 at 12:50

GoogleCodeExporter commented 9 years ago
Nop, it's not the intended behavior, as you can see, the previous content is 
what pacman (the package manager of archlinux) will copy to the system root (/).

So /usr/lib/liblz4.so will point to a path where I build the library, which is 
not exist on the target.

If you use a full path you must take $DESTDIR in consideration.

Look at your /usr/lib and you will see all library symlinks use relative path.

I

Original comment by sebastien.luttringer on 20 Mar 2014 at 9:18

GoogleCodeExporter commented 9 years ago
OK, thanks, that's clear.

You'll find in attached a new release candidate which should preserve the 
relative path of library links.

Original comment by yann.col...@gmail.com on 20 Mar 2014 at 10:33

Attachments:

GoogleCodeExporter commented 9 years ago
Fixed into r115

Original comment by yann.col...@gmail.com on 23 Mar 2014 at 11:17