princepawn has asked for the wisdom of the Perl Monks concerning the following question:

Perl throws an exception when my program attempts to save an excel spreadsheet via Spreadsheet::Excel::Simple::Save with the error message in the title. My program is not running with any setuid bits set, so I don't know why Perl was running in suid mode... I am running on Red Hat Linux with Perl 5.6.1.

I was running my script via the supervise program in the excellent daemontools package but even after manually running it, the problem still occurs.

The odd thing is it was running all day with no problem. I made a few changes to the program which had nothing to do with saving and then this error starting occuring. I looked through the config flags and noticed -Ddo_suid so I think I need to recompile Perl without that... but any input is appreciated. Compile flags below:

config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_ +by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/us +r -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uuseth +reads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_d +b -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm

Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality... download and use The Emacs Code Browser

Replies are listed 'Best First'.
Re: The setuid emulator in suidperl decided you were up to no good
by Abigail-II (Bishop) on Sep 06, 2003 at 13:37 UTC
    Actually, what's in the title isn't the error message. According to man perldiag, the error message is Permission denied. What you mention in the title is the explaination from perldiag. I guess you are running with use diagnostics;?

    but even after manually running it, the problem still occurs.

    Do you run it as root or a normal user? When do you get the error message, compile time? Program start? Runtime?

    As for the -Ddo_suid, you shouldn't need it on Linux.

    Abigail