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] > > > > --