POV-Ray : Newsgroups : povray.unix : Further bugs in Makefile Server Time
23 Dec 2024 03:19:38 EST (-0500)
  Further bugs in Makefile (Message 1 to 7 of 7)  
From: Hadmut Danisch
Subject: Further bugs in Makefile
Date: 30 Mar 2014 07:19:58
Message: <5337fdde@news.povray.org>
Hi,

more problems in 3.7 build process.

After applying the workarounds discussed here I could finish compiling.
 A 'make install' installs a binary into /usr/local/bin, which starts,
but does not really work due to missing files:

% povray
povray: cannot open the system configuration file
/usr/local/etc/povray/3.7/povray.conf: No such file or directory
povray: cannot open the user configuration file
/home/hadmut/.povray/3.7/povray.conf: No such file or directory
povray: I/O restrictions are disabled



make install simply does not install /usr/local/etc/povray/3.7


Instead it tries to install $HOME/.povray into users home directories
and even fails to do so: chown fails since variable povowner is empty.



However:

This is really bad.


A make install should  *never, under no circumstances* fiddle around in
users directories. That's no go.  Things have to be installed under
/usr/local.



regards
Hadmut


Post a reply to this message

From: James Holsenback
Subject: Re: Further bugs in Makefile
Date: 30 Mar 2014 12:35:47
Message: <533847e3$1@news.povray.org>
On 03/30/2014 07:19 AM, Hadmut Danisch wrote:
> Hi,
>
> more problems in 3.7 build process.
>
> After applying the workarounds discussed here I could finish compiling.
>   A 'make install' installs a binary into /usr/local/bin, which starts,
> but does not really work due to missing files:
>
> % povray
> povray: cannot open the system configuration file
> /usr/local/etc/povray/3.7/povray.conf: No such file or directory
> povray: cannot open the user configuration file
> /home/hadmut/.povray/3.7/povray.conf: No such file or directory
> povray: I/O restrictions are disabled
>
>
>
> make install simply does not install /usr/local/etc/povray/3.7
>
>
> Instead it tries to install $HOME/.povray into users home directories
> and even fails to do so: chown fails since variable povowner is empty.
>
>
>
> However:
>
> This is really bad.
>
>
> A make install should  *never, under no circumstances* fiddle around in
> users directories. That's no go.  Things have to be installed under
> /usr/local.
>
>
>
> regards
> Hadmut

not 100% sure but what i think maybe going on here is what privileges 
were being used during the different steps of the build. generally 
speaking elevated privileges are not required until you do make install. 
but your case would have required required some juice to do the prebuild 
part ... to effect changes in the system area's (sym-links and files). i 
think to install the binary and related distribution in non system 
area's without privileges you should change that at configure phase.


Post a reply to this message

From: Le Forgeron
Subject: Re: Further bugs in Makefile
Date: 31 Mar 2014 04:01:55
Message: <533920f3$1@news.povray.org>
Le 30/03/2014 18:35, James Holsenback a écrit :
> On 03/30/2014 07:19 AM, Hadmut Danisch wrote:
>> Hi,
>>
>> more problems in 3.7 build process.
>>
>> After applying the workarounds discussed here I could finish compiling.
>>   A 'make install' installs a binary into /usr/local/bin, which starts,
>> but does not really work due to missing files:
>>
>> % povray
>> povray: cannot open the system configuration file
>> /usr/local/etc/povray/3.7/povray.conf: No such file or directory
>> povray: cannot open the user configuration file
>> /home/hadmut/.povray/3.7/povray.conf: No such file or directory
>> povray: I/O restrictions are disabled
>>
>>
>>
>> make install simply does not install /usr/local/etc/povray/3.7
>>
>>
>> Instead it tries to install $HOME/.povray into users home directories
>> and even fails to do so: chown fails since variable povowner is empty.
>>
>>
>>
>> However:
>>
>> This is really bad.
>>
>>
>> A make install should  *never, under no circumstances* fiddle around in
>> users directories. That's no go.  Things have to be installed under
>> /usr/local.
>>
>>
>>
>> regards
>> Hadmut
> 
> not 100% sure but what i think maybe going on here is what privileges
> were being used during the different steps of the build. generally
> speaking elevated privileges are not required until you do make install.
> but your case would have required required some juice to do the prebuild
> part ... to effect changes in the system area's (sym-links and files). i
> think to install the binary and related distribution in non system
> area's without privileges you should change that at configure phase.
> 

I believe, but I might be wrong, that the install process of povray (on
unix-like) is currently a bit problematic due to a long inherited history.

Previously, it was a tar-ball for systems ranging from amiga to whatever
commercial-unix (Aix, Hpux and so). It was usually more for personal
usage than collective tools.

When compiling and installing a tar-ball, the culture, nowadays lost, is
to make everything under a lambda user, and then having root run "make
install" once the result of the building process has been checked.
(hence "make check"). Today it turns into "sudo make install"

The issue I currently see with the install process is rather that the
povray binary is expecting local configuration in the user directory
without providing a way to get a template-basic local configuration
files from the binary itself: the user which performs the installation
does get the configuration file, but the 200 other users of the system
do not.

For the unix binary, something like "povray --localconfig" (maybe a
better name for the option would be welcome) should allow the running
user to have its $HOME populated with the relevant .povray/3.7/ subtree
(3.7 being the version of the binary, as usual), basically a copy of the
installed files in /usr/local/etc/povray/3.7 (or whatever INSTALLDIR
instead of /usr/local). BTW, that's probably not the best location (as
recommended by the current version of unified file system, but is the
Linux Filesystem Hierarchy to rules all Unixes ?)

Alternatively, the "povary --localconfig" could be replaced with a shell
script "povray-localinstall" (or similar) which perform the copy,
avoiding a kludge in the main program. Such program would have to be run
by the user when it wants to have its own local configuration files.

/usr/etc (and /usr/local/etc) are reported as being the alternative
place for configuration files, yet virtually unused. (But should povray
dare to add entries in /etc instead ?)

>
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html

>
http://www.linuxtopia.org/online_books/linux_beginner_books/linux_filesystem/usr.html

I suck at naming things, so feel free to provide better names, or even
your opinions.






-- 
Just because nobody complains does not mean all parachutes are perfect.


Post a reply to this message

From: Hadmut Danisch
Subject: Re: Further bugs in Makefile
Date: 5 Apr 2014 11:47:56
Message: <534025ac$1@news.povray.org>
Am 31.03.2014 10:01, schrieb Le_Forgeron:
> The issue I currently see with the install process is rather that the
> povray binary is expecting local configuration in the user directory
> without providing a way to get a template-basic local configuration
> files from the binary itself: the user which performs the installation
> does get the configuration file, but the 200 other users of the system
> do not.


Which is odd.

The correct way would be that the installation script does not touch
anyone's home directory and install's things needed under /usr/local/...


A user then might create a local diretory in the home directory, or even
the binary might create the directory structure when run, and file to be
read might be searched in the order $HOME , /usr/local, which is state
of the art.

However, povray is broken in this aspect and should really be fixed.

And maybe reconsider whether it is really necessary to still support the
Amiga, but not properly support Linux.

regards
Hadmut


Post a reply to this message

From: Nicolás Alvarez
Subject: Re: Further bugs in Makefile
Date: 9 Apr 2014 12:20:05
Message: <53457335@news.povray.org>
El 05/04/2014 12:47, Hadmut Danisch escribió:
> And maybe reconsider whether it is really necessary to still support the
> Amiga, but not properly support Linux.

Who said the Amiga is still supported?


Post a reply to this message

From: Hadmut Danisch
Subject: Re: Further bugs in Makefile
Date: 10 Apr 2014 14:22:20
Message: <5346e15c@news.povray.org>
Am 09.04.2014 18:20, schrieb Nicolás Alvarez:
> Who said the Amiga is still supported?


This was meant ironical.

Having make install modify the installer's home directory instead
/usr/local is definitely not Linux level and rather Amiga style.


the unix/prebuild.sh is rather poor in this aspect. It should be
eliminated.


Hadmut


Post a reply to this message

From: clipka
Subject: Re: Further bugs in Makefile
Date: 24 May 2014 19:45:16
Message: <53812f0c$1@news.povray.org>
Am 05.04.2014 17:47, schrieb Hadmut Danisch:

> And maybe reconsider whether it is really necessary to still support the
> Amiga, but not properly support Linux.

Don't worry, I guess it will be a major hassle to get POV-Ray 3.7 to 
compile on an Amiga anyways. For starters, we no longer support any 
Amiga build environment.

Actually, the only platform family /really/ well supported is Windows on 
the x86 or x64 architecture - which might come as not a big surprise if 
you consider that most of the dev team are Windows jockeys, and are not 
too familiar with GNU, Posix or even BSD environments & conventions.

Any help in this respect is much appreciated, though pointers to what 
needs fixing is only a tiny fraction of the work, and we'd certainly 
prefer some hands to actually /do/ the fixing.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.