Print

Print


Hi Andreas,

  thank you for the suggestion. I will try it out immediately.

  I believe what we all need is a standard, easy way to deploy it and  
make it start. I am not against autotools, and I am perfectly aware  
that the idea of using them could lead to good things. And I am aware  
that the classic build is good for a developer, but lacks a decent  
install. This is why the standard install was meant to be through an  
rpm, which also sets up the /etc/init/d stuff.
  The point is that, right now, to make a server start, you need to do  
unspecified (at least, to me) things if you just type make install.

  After having run it I did not see anything useful in /etc/init.d/,  
did I do anything wrong or do I have to write my own init.d scripts?

Fabrizio


Il giorno 13-dic-07, alle ore 16:56, Andreas Joachim Peters ha scritto:

> Fabrizio,
> if you want the stuff in ${prefix}/etc/ you just change the line in
> src/Makefile.am:
>
> xrootdstartupdir = $(sysconfdir)/xrootd
>
> ->
>
> xrootdstartupdir = $(sysconfdir)/
>
> That's a very trivial operation and has exactly the result you want.
>
> Cheers Andreas.
>
>
>> Ciao, Fabrizio
>>
>> On Thursday 13 December 2007, Fabrizio Furano wrote:
>>> Hi Derek,
>>>
>>>  I appreciate your responsiveness, but I don't want to steer into
>>> philosophical talks. Maybe ZX spectrum was better than C=64, but I  
>>> don't
>>> care now.
>>
>> Well, I did not want to sound philosophical, but I tried to state  
>> the real
>> advantages and disadvantages as I see them. Xrootd has made an own  
>> standard
>> of its build and deployment structure, and a large number of users  
>> have
>> adapted to this. The autotools build follows a very widely spread  
>> standard in
>> unix software engineering, and this was also why I was asked to  
>> implement it
>> (which caused me and Gerri a lot of work at that time). I still  
>> think that it
>> is worth make a reasonable effort to try to comply with standards,  
>> but
>> naturally in the crazy fast changing world of software development,
>> reasonable is defined very differently by the users.
>>
>> As I said. I can introduce and adapt the configure easily, if this  
>> is needed
>> and if you can suggest to me exactly what you want. On the other  
>> hand, one
>> could rethink the decision to support autotools. However, if xrootd  
>> gets a
>> wider range of users, as it certainly deserves, it may be an  
>> advantage to
>> keep the autobuild, especially since the main work has already been  
>> done.
>>
>> Cheers,
>> Derek
>>
>>
>>
>>>
>>>  The point is that there are tenths of sites (with many different
>>> architectures, and not only babarians) using the plain classic  
>>> build and
>>> the rpms that Wilko provides.
>>>  So, from my perspective, I just see that if I try to use the  
>>> autotools
>>> build:
>>>
>>> - as a developer i don't feel comfortable with it. For instance, I  
>>> don't
>>> want to choose if to look at the libraries in a hidden directory  
>>> or being
>>> forced to install everything in /usr/, or having to look at the  
>>> executables
>>> in N different places.
>>> - if I want to setup a cluster, or even a single server, I have no  
>>> clue at
>>> all about how to start it, since the bundled scripts (used by a  
>>> lot of
>>> people) do not work.
>>> - I don't want to mess up things and write shell scripts on top of
>>> something just to start my own executables (btw this is what Alien  
>>> seems to
>>> do, workarounds over workarounds). It should just work out of the  
>>> box, like
>>> in the classic case.
>>>
>>>
>>>  Given this, which I think is pretty pragmatic, I'd like to be  
>>> even more
>>> pragmatic. Since this morning I am fighting to install a manager  
>>> with a
>>> trivial config file, with no success. This makes me quite upset. I  
>>> am not
>>> able to deal with my own stuff.
>>>  I switched back to configure.classic and it works. So, I have no  
>>> idea of
>>> what's good or bad, but please, if you have a clean list of hints/ 
>>> fixes to
>>> do, my wish is to work together and put the 'alternate' build  
>>> system in a
>>> state where it is usable and it does not need workarounds.
>>>  For how it is now, if I have to setup a cluster somewhere, I will  
>>> simply
>>> ignore it, but that's not what I'd prefer.
>>>
>>>  I hope that I don't make you upset with this. Let's make this  
>>> thing work
>>> together if you want.
>>>
>>>
>>> Fabrizio
>>>
>>> Derek Feichtinger wrote:
>>>> Hi, Fabrizio
>>>>
>>>> I'm sorry that you have so much fuzz with this.
>>>>
>>>> Some comments follow:
>>>>> So, if I keep the default prefix /usr/local, I expect to have the
>>>>> config files in /usr/local/etc, and the libs in /usr/local/lib,  
>>>>> but
>>>>> what I see now is that "make install" puts that stuff into /usr/ 
>>>>> local/
>>>>> etc/xrootd and similar for lib.
>>>>
>>>> The choice for $PREFIX/etc/xrootd instead of just $PREFIX/etc was  
>>>> taken
>>>> because an administrator does not want /etc cluttered with a  
>>>> whole number
>>>> of files from a single package, so it is nicer to have it in a  
>>>> separate
>>>> directory named for the service.
>>>>
>>>> StartOLB
>>>> StartOLB.cf.example
>>>> StartXRD
>>>> StartXRD.cf.example
>>>> StopOLB
>>>> StopXRD
>>>> XrdOlbMonPerf
>>>> xrootd.cf.example
>>>>
>>>> I can easily build in an option, if this is a problem (hardcoded
>>>> locations?). But usually, one wants to have typical init scripts  
>>>> which
>>>> fit into a system's service startup and shutdown structure.
>>>>
>>>> For the libraries you looked wrongly, for they are in $PREFIX/lib  
>>>> and not
>>>> in a separate folder. This would break the standard convention for
>>>> libraries. But the include files are also segregated into
>>>> $PREFIX/include/xrootd/ for better structuring.
>>>>
>>>>>  This is not compatible with the standard StartXRD scripts, which
>>>>> everybody use (except Alice afaik). What do you think about  
>>>>> this? Are
>>>>> you aware of any workaround for that?
>>>>
>>>> While I was working for ALICE, we always used custom scripts. But  
>>>> since
>>>> xrootd needs a minimum of switches and mainly relies on the  
>>>> config files,
>>>> this never seemed a drawback to me. It involved just a few lines  
>>>> of shell
>>>> code.
>>>>
>>>>> Btw in the meantime, I will
>>>>> install my machines like I always did, i.e. with the plain
>>>>> configure.classic, but that is not what the Alice guys are used  
>>>>> to,
>>>>> even if it's much simpler by now imho.
>>>>
>>>> Well, configure.classic works well and is faster than the autotools
>>>> build. But autotools is still _the_  standard in the build system  
>>>> and
>>>> portability world. New systems like cmake are popping up, but these
>>>> things are really difficult and painful to develop, and they take  
>>>> long
>>>> until a big community adopts them.
>>>>
>>>> Also, if you look at a xrootd Makefile.am and then at the  
>>>> corresponding
>>>> classic GNUMakefile, the Makefile.am is structured much simpler.
>>>> It is trivial to build RPMs and other packages from an autotools  
>>>> build,
>>>> since it correctly observes the DESTDIR setting (packaging  
>>>> directory),
>>>> and the libraries correctly contain the right -rpath, so that no
>>>> LD_LIBRARY_PATH needs to be set.
>>>> Autotools configure is slower, because it makes real compilation  
>>>> tests
>>>> for the system's features. The generated configure script shows  
>>>> all the
>>>> standard behavior expected by users and offers a wide range of user
>>>> options. Also, you can build multiple architectures from the same
>>>> sources, e.g. by having them on a shared filesystem.
>>>>
>>>> Configure.classic is a separate and well working system, but it has
>>>> completely non-standard behavior and if I want to deploy software  
>>>> in a
>>>> standard way, I have to do extra work.
>>>>
>>>> The technology used by autotools to generate the configure (m4,  
>>>> etc.) is
>>>> too old and inconvenient, and some things are clearly too complex.
>>>> However, since so much work has been done before, you usually  
>>>> don't have
>>>> to deal with these kind of issues, and you more or less just use  
>>>> the
>>>> ready made macros. Don't forget that a large part of the  
>>>> complexity comes
>>>> for the innate problems that portability implies - years of  
>>>> operations
>>>> systems development and complex and subtle differences across their
>>>> versions.
>>>>
>>>> Sorry again for your losing time because of these issues, but it  
>>>> really
>>>> was hard for me in the last few weeks to pay close attention to  
>>>> this, and
>>>> keeping a separate build is not always easy.
>>>>
>>>> Cheers,
>>>> Derek
>>>>
>>>> On Thursday 13 December 2007, Fabrizio Furano wrote:
>>>>> Hi Derek,
>>>>>
>>>>>  well, I am sorry to bother you so much, but I am not able to  
>>>>> get out
>>>>> from this maze.
>>>>>
>>>>>  The problem I find is that when I make install, it puts the  
>>>>> things
>>>>> in a way which looks incompatible with the normal start/stop  
>>>>> scripts,
>>>>> which hence do not work. This may be one reason for the bloody  
>>>>> mess of
>>>>> alternative install/start/stop scripts that I see around.
>>>>>
>>>>> So, if I keep the default prefix /usr/local, I expect to have the
>>>>> config files in /usr/local/etc, and the libs in /usr/local/lib,  
>>>>> but
>>>>> what I see now is that "make install" puts that stuff into /usr/ 
>>>>> local/
>>>>> etc/xrootd and similar for lib.
>>>>>
>>>>>  This is not compatible with the standard StartXRD scripts, which
>>>>> everybody use (except Alice afaik). What do you think about  
>>>>> this? Are
>>>>> you aware of any workaround for that? Btw in the meantime, I will
>>>>> install my machines like I always did, i.e. with the plain
>>>>> configure.classic, but that is not what the Alice guys are used  
>>>>> to,
>>>>> even if it's much simpler by now imho.
>>>>>
>>>>> Fabrizio Furano
>>>>> [log in to unmask]
>>
>>
>>
>>
>
> -- 

Fabrizio Furano
[log in to unmask]