Re: s6-rc compilation issue

2017-01-24 Thread Laurent Bercot



This can be fixed be creating a symlink :

ln -s /usr/local/stow/skarnet/lib/s6/libs6.a 
/usr/local/stow/skarnet/lib/libs6.a


 No, this is intentional. The skarnet.org build system installs static
libraries in a subdirectory of $prefix/lib by default, as shown in the
output of ./configure --help.
 If you want to link against them, you need to give appropriate 
--with-lib

options to ./configure. So, in your case:

 For execline, you'd add
 --with-lib=/usr/local/stow/skarnet/lib/skalibs

 For s6, you'd add
 --with-lib=/usr/local/stow/skarnet/lib/skalibs \
 --with-lib=/usr/local/stow/skarnet/lib/execline

 And for s6-rc, you'd add
 --with-lib=/usr/local/stow/skarnet/lib/skalibs \
 --with-lib=/usr/local/stow/skarnet/lib/execline \
 --with-lib=/usr/local/stow/skarnet/lib/s6

 That's impractical, but a clear separation of build-time files and
run-time files is worth the small inconvenience.
 Alternatively, if you don't care about this separation and simply want
everything in /usr/local/stow/skarnet/lib, you can say so at 
installation

time, by giving the following option to every ./configure in the stack:

 --libdir=/usr/local/stow/skarnet/lib

 which will achieve what you're looking for.

--
 Laurent



s6-rc compilation issue

2017-01-24 Thread Guillaume Perréal

Hello there,

I have a small issue to compile s6-rc.

I am trying some skarnet tools (execline, s6 and s6-rc). As I want to 
test them and to install and uninstall them easily, I use GNU Stow 
(https://www.gnu.org/software/stow/). I have chosen to install them into 
/usr/local/stow/skarnet.


I have successfully built and installed skalibs, execline and s6 using 
the following commands:


./configure --prefix=/usr/local/stow/skarnet
make
sudo make install

But when trying to build s6-rc, it gives me this error :

> make
make: *** No rule to make target '-ls6', needed by 
's6-rc-fdholder-filler'.  Stop.


This can be fixed be creating a symlink :

ln -s /usr/local/stow/skarnet/lib/s6/libs6.a 
/usr/local/stow/skarnet/lib/libs6.a

stow -d /usr/local/stow -R skarnet

So I guess there is a lib path missing somewhere, but as I have never 
written any configure script, I am not sure how to fix it. How should it 
be fixed ?


Best regards,
Guillaume Perréal.


Re: Compilation issue

2016-04-27 Thread Eric Vidal
On Wed, 27 Apr 2016 17:41:56 +0200
Laurent Bercot  wrote:

> On 27/04/2016 16:37, Luis Ressel wrote:
> > Go ahead and install the skarnet stuff to /usr/local. You'll just have
> > to be careful that execline scripts are always executed with
> > PATH=/usr/local/bin:/usr/local/sbin:... .
> 
>   Not only execline scripts, but mostly everything that calls s6 binaries.
>   s6 sometimes expects execline binaries to be in the PATH. As far as I'm
> aware, no autogenerated command line calls "import", partly because of this
> issue, and you can reasonably expect it to remain true in the foreseeable
> future, but I don't want to make it an absolute guarantee.
> 
>   Also: if you're not going to install stuff in real slashpackage
> directories, then don't use --enable-slashpackage at all. You want to go
> with the FHS, you get the FHS.
> 
> -- 
>   Laurent

thank at twice for your advice luis and laurent.
i go to study deeply the system.

-- 
Eric Vidal 


Re: Compilation issue

2016-04-27 Thread Laurent Bercot

On 27/04/2016 16:37, Luis Ressel wrote:

Go ahead and install the skarnet stuff to /usr/local. You'll just have
to be careful that execline scripts are always executed with
PATH=/usr/local/bin:/usr/local/sbin:... .


 Not only execline scripts, but mostly everything that calls s6 binaries.
 s6 sometimes expects execline binaries to be in the PATH. As far as I'm
aware, no autogenerated command line calls "import", partly because of this
issue, and you can reasonably expect it to remain true in the foreseeable
future, but I don't want to make it an absolute guarantee.

 Also: if you're not going to install stuff in real slashpackage
directories, then don't use --enable-slashpackage at all. You want to go
with the FHS, you get the FHS.

--
 Laurent


Re: Compilation issue

2016-04-27 Thread Luis Ressel
On Wed, 27 Apr 2016 18:09:01 +0400
Eric Vidal  wrote:

> [snip] Maybe a can use /usr/local/?!
> 
> So i'm a little confuse about this. Have you an idea?

Sure, that's exactly the purpose of /usr/local: Inside that directory,
the sysadmin can do whatever they want and the distro stays out of the
way. (Ideally...)

Go ahead and install the skarnet stuff to /usr/local. You'll just have
to be careful that execline scripts are always executed with
PATH=/usr/local/bin:/usr/local/sbin:... .


-- 
Regards,
Luis Ressel

Luis Ressel 
GPG fpr: F08D 2AF6 655E 25DE 52BC  E53D 08F5 7F90 3029 B5BD


pgpMRy4Q6jgLu.pgp
Description: OpenPGP digital signature


Re: Compilation issue

2016-04-27 Thread Laurent Bercot

On 27/04/2016 11:21, Eric Vidal wrote:

i try to compile skalibs and execline package with
--enable-slashpackage options set to s6 for me.


 Hi Eric,

 The argument to --enable-slashpackage, if any, must be an *absolute*
directory, and one shared by every skarnet.org package you compile 
"--enable-slashpackage=s6" will not work.
 Generally speaking, if you're interested in following the slashpackage
convention, you should use --enable-slashpackage but leave the prefix
empty.

 If you're installing a package in a staging directory, for a package
manager or something of the kind, you should *still* leave that prefix
empty, but use the DESTDIR make variable to install the package into the 
$DESTDIR staging directory; then when you compile things that depend on
that package, additionally to --enable-slashpackage, you should use the
--with-sysdeps, --with-include, --with-lib and --with-dynlib configure
options to specify where the package can find its dependencies.

--
 Laurent


Compilation issue

2016-04-27 Thread Eric Vidal

Hello,

i try to compile skalibs and execline package with --enable-slashpackage 
options set to s6 for me.
skalibs package compile without trouble but install things with this following 
path :
s6/skalibs/pkg/skalibs-git/s6/package/prog/skalibs-2.3.11.0/sysdeps/

Well, when i try to compile execline with --enable-slashpackage=s6 the 
compilation complaint with this following message :
error: s6/package/prog/skalibs/sysdeps is not a valid sysdeps directory

Obviously, this is normal viewing the path defined in the skalibs package. But, 
why skalibs makefile implement the version of the package?

Maybe i do somethings wrong. Any helps will be appreciate to understand my 
errors.

Eric Vidal
-- 
Eric Vidal