#66 installation dir options require ending slash

Chris Behrens

The devtools/README file shows directories as defaults that do not
contain ending slashes. Ie, confLIBDIR shows default of '/usr/lib'.

Assuming that confLIBDIR does not require an ending slash, setting that variable to a value such as '/usr/local/lib' and using shared library building, 'Build install' creates /usr/local/liblibdkim.so, which is not what was desired. Adding a final slash to the config variable fixes the problem. Either this should be documented or fixed :)


  • Logged In: YES
    Originator: NO

    Referred to the devtools guys at Sendmail.

    • priority: 5 --> 3
    • assigned_to: nobody --> sm-msk
  • Logged In: YES
    Originator: NO

    I tried this on BSD and Solaris and both times it ran an install command that just named the directory into which the shared object should go. For example, I set confLIBDIR to /usr/lib/comstud (no trailing slash), and it did this on Solaris:

    Making in /home/msk/dev4/obj.SunOS.5.9.sun4/libdkim
    ../../devtools/bin/install.sh -c -o root -g bin -m 0444 libdkim.a /usr/lib/comstud
    cp: cannot create /usr/lib/comstud: Permission denied

    ...which looks like it would do the right thing. BSD did something similar.

    What was the exact install command your attempt produced?

    • status: open --> pending
  • Logged In: YES
    Originator: NO

    Found some more about this. This problem only occurs when "library" is changed to "sharedlib" in the Makefile.m4. In that case, the installation actually happens properly, but the symlink cleanup/setup afterwards will fail. This is because the commands use this construction:


    Obviously there, SHAREDLIBDIR has to include a trailing "/" (or be empty, in which case DESTDIR has to have the trailing "/") for the path construction to be correct.

    • status: pending --> open
  • Logged In: YES
    Originator: NO

    devtools/README has been updated to indicate the required trailing slash, and this will be visible in the next release.

    Moreover, I'm trying to write some code into devtools/M4/UNIX/sharedlib.m4 that will detect the absence of the trailing slash and append it, but M4 is tricky stuff...

    • assigned_to: sm-msk --> nobody