Hi Brandon,

Brandon Fosdick schrieb:
> I installed SDCC on my FreeBSD 6.1 box using land/sdcc 
> also tried lang/sdcc-devel) and then tried to compile a
> small test file. But it's complaining about creating a
> temporary file. /tmp is world writeable so I'm not sure
> what the problem is. Any suggestions?
> 
> Here's what I got...
> ---
> 18:00 [EMAIL PROTECTED]>sdcc -c testsdcc.c
> Can't create temporary file: Permission denied
> 18:04 [EMAIL PROTECTED]>
> ---
> 
> The test file is nothing more than:
> ---
> void main() {}
> ---


you could use strace (with or without option "-e open") to see
which files SDCC would have wanted to create.

Here (recent SDCC on Opensuse 10.0) SDCC opens several temporary
files in the directory /usr/tmp (instead of /tmp or /var/tmp).

I'm crossposting this to sdcc-devel because I think this
does not fit well to the Filesystem Hierarchy Standard
(which would allow mounting the /usr partition read-only)
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

---------------8<--------------------------
[EMAIL PROTECTED]:~> strace -e open sdcc -c main.c
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/tls/libm.so.6", O_RDONLY)    = 3
open("/lib/libnsl.so.1", O_RDONLY)      = 3
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
open("main.c", O_RDONLY)                = 3
open("/usr/tmp/sdccdGvfxT", O_RDWR|O_CREAT|O_EXCL, 0600) = 4
open("/usr/tmp/sdccjSvI9z", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
open("/usr/tmp/sdccG7SdMg", O_RDWR|O_CREAT|O_EXCL, 0600) = 6
open("/usr/tmp/sdccvwvLoX", O_RDWR|O_CREAT|O_EXCL, 0600) = 7
open("/usr/tmp/sdccUGhl1D", O_RDWR|O_CREAT|O_EXCL, 0600) = 8
open("/usr/tmp/sdccZJeXDk", O_RDWR|O_CREAT|O_EXCL, 0600) = 9
open("/usr/tmp/sdcc8ljBg1", O_RDWR|O_CREAT|O_EXCL, 0600) = 10
open("/usr/tmp/sdccBHDhTH", O_RDWR|O_CREAT|O_EXCL, 0600) = 11
open("/usr/tmp/sdccd6R9vo", O_RDWR|O_CREAT|O_EXCL, 0600) = 12
open("/usr/tmp/sdccC67584", O_RDWR|O_CREAT|O_EXCL, 0600) = 13
open("/usr/tmp/sdccRAC4LL", O_RDWR|O_CREAT|O_EXCL, 0600) = 14
open("/usr/tmp/sdccmah5os", O_RDWR|O_CREAT|O_EXCL, 0600) = 15
open("/usr/tmp/sdcc4Xc818", O_RDWR|O_CREAT|O_EXCL, 0600) = 16
open("/usr/tmp/sdcc7KldFP", O_RDWR|O_CREAT|O_EXCL, 0600) = 17
open("/usr/tmp/sdccb6Akiw", O_RDWR|O_CREAT|O_EXCL, 0600) = 18
open("/usr/tmp/sdccCD9tVc", O_RDWR|O_CREAT|O_EXCL, 0600) = 19
open("/usr/tmp/sdcc4wYFyT", O_RDWR|O_CREAT|O_EXCL, 0600) = 20
open("/usr/tmp/sdccnmYTbA", O_RDWR|O_CREAT|O_EXCL, 0600) = 21
open("main.c", O_RDONLY)                = 23
--- SIGCHLD (Child exited) @ 0 (0) ---
open("/usr/tmp/sdccvhM9Qg", O_RDWR|O_CREAT|O_EXCL, 0600) = 22
open("/usr/tmp/sdccPpStwX", O_RDWR|O_CREAT|O_EXCL, 0600) = 24
open("main.asm", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 25
open("/etc/localtime", O_RDONLY)        = 26
--- SIGCHLD (Child exited) @ 0 (0) ---
--------------->8--------------------------


The FHS http://www.pathname.com/fhs/pub/fhs-2.3.pdf allows for some legacy links
(on which SDCC should not rely on) in section 4.3:

"The following symbolic links to directories may be present. This possibility 
is based on the need to preserve
compatibility with older systems until all implementations can be assumed to 
use the /var hierarchy.
/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/lock
Once a system no longer requires any one of the above symbolic links, the link 
may be removed, if desired."



If you feel FreeBSD would be affected in general please file a feature request 
or
rather a bug report about this on sourceforge?


Greetings,

Frieder

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to