Piotr Tarnowski
2012-Feb-29 12:57 UTC
[Dovecot] dovecot-2.1-pigeonhole-0.3.0 identifier redeclared: sieve_multiscript_run (patch)
Hi, I recently compiled dovecot-2.1.1 on Solaris 10 with Sun Studio, but when I want to compile Sieve for this version (dovecot-2.1-pigeonhole-0.3.0) I get an error: "sieve.c", line 578: identifier redeclared: sieve_multiscript_run and I see that declaration in sieve.h is different from definition in sieve.c, so compilation process fails with SunStudio cc compiler. I have done a quick hack to correct this, and then compiled successfully. Patch is included as attachment. Full output, OS and compiler versions below: libtool: compile: cc -DHAVE_CONFIG_H -I. -I../.. -I/home/soft/dovecot/dovecot-2.1.1 -I/home/soft/dovecot/dovecot-2.1.1/src/lib -I/home/soft/dovecot/dovecot-2.1.1/src/lib-dict -I/home/soft/dovecot/dovecot-2.1.1/src/lib-dns -I/home/soft/dovecot/dovecot-2.1.1/src/lib-mail -I/home/soft/dovecot/dovecot-2.1.1/src/lib-imap -I/home/soft/dovecot/dovecot-2.1.1/src/lib-fs -I/home/soft/dovecot/dovecot-2.1.1/src/lib-charset -I/home/soft/dovecot/dovecot-2.1.1/src/lib-index -I/home/soft/dovecot/dovecot-2.1.1/src/lib-storage -I/home/soft/dovecot/dovecot-2.1.1/src/lib-storage/index -I/home/soft/dovecot/dovecot-2.1.1/src/lib-storage/index/raw -I/home/soft/dovecot/dovecot-2.1.1/src/lib-lda -I/home/soft/dovecot/dovecot-2.1.1/src/lda -I/home/soft/dovecot/dovecot-2.1.1/src/lib-master -I/home/soft/dovecot/dovecot-2.1.1/src/lib-settings -DMODULEDIR=\"/usr/local/dovecot-2.1.1/lib/dovecot\" -I/usr/local/openldap/include -I/usr/local/ssl/include -I/usr/local/include -xO3 -xautopar -c sieve.c -KPIC -DPIC -o .libs/sieve.o "sieve-common.h", line 33: warning: useless declaration "/home/soft/dovecot/dovecot-2.1.1/src/lib-storage/mailbox-list.h", line 13: warning: useless declaration "sieve.c", line 578: identifier redeclared: sieve_multiscript_run current : function(pointer to struct sieve_multiscript {pointer to struct sieve_instance {..} svinst, pointer to struct sieve_result {..} result, pointer to const struct sieve_message_data {..} msgdata, pointer to const struct sieve_script_env {..} scriptenv, int status, _Bool active, _Bool keep, pointer to struct ostream {..} teststream}, pointer to struct sieve_binary {}, pointer to struct sieve_error_handler {pointer to struct pool {..} pool, int refcount, pointer to struct sieve_instance {..} svinst, pointer to struct sieve_error_handler {..} parent, unsigned int max_errors, unsigned int errors, unsigned int warnings, _Bool log_info, _Bool log_debug, pointer to function(..) returning void verror, pointer to function(..) returning void vwarning, pointer to function(..) returning void vinfo, pointer to function(..) returning void vdebug, pointer to function(..) returning void free}, unsigned int, _Bool) returning _Bool previous: function(pointer to struct sieve_multiscript {pointer to struct sieve_instance {..} svinst, pointer to struct sieve_result {..} result, pointer to const struct sieve_message_data {..} msgdata, pointer to const struct sieve_script_env {..} scriptenv, int status, _Bool active, _Bool keep, pointer to struct ostream {..} teststream}, pointer to struct sieve_binary {}, pointer to struct sieve_error_handler {pointer to struct pool {..} pool, int refcount, pointer to struct sieve_instance {..} svinst, pointer to struct sieve_error_handler {..} parent, unsigned int max_errors, unsigned int errors, unsigned int warnings, _Bool log_info, _Bool log_debug, pointer to function(..) returning void verror, pointer to function(..) returning void vwarning, pointer to function(..) returning void vinfo, pointer to function(..) returning void vdebug, pointer to function(..) returning void free}, enum sieve_runtime_flags {SIEVE_RUNTIME_FLAG_NOGLOBAL(1)}, _Bool) returning _Bool : "sieve.h", line 168 cc: acomp failed for sieve.c *** Error code 1 dmake: Fatal error: Command failed for target `sieve.lo' Current working directory /home/soft/dovecot/dovecot-2.1-pigeonhole-0.3.0/src/lib-sieve *** Error code 1 The following command caused the error: fail= failcom='exit 1'; \ for f in x $MAKEFLAGS; do \ case $f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ list='plugins'; for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (cd $subdir && dmake $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ dmake "$target-am" || exit 1; \ fi; test -z "$fail" dmake: Fatal error: Command failed for target `all-recursive' % uname -a SunOS soft 5.10 Generic_142909-17 sun4u sparc SUNW,Sun-Fire-V890 Solaris % version Machine hardware: sun4u OS version: 5.10 Processor type: sparc Hardware: SUNW,Sun-Fire-V890 The following components are installed on your system: Sun Studio 12 update 1 Sun Studio 12 update 1 C Compiler Sun Studio 12 update 1 C++ Compiler Sun Studio 12 update 1 Tools.h++ 7.1 Sun Studio 12 update 1 C++ Standard 64-bit Class Library Sun Studio 12 update 1 Garbage Collector Sun Studio 12 update 1 Fortran 95 Sun Studio 12 update 1 Debugging Tools (including dbx) Sun Studio 12 update 1 IDE Sun Studio 12 update 1 Performance Analyzer (including collect, ...) Sun Studio 12 update 1 Performance Library Sun Studio 12 update 1 Scalapack Sun Studio 12 update 1 LockLint Sun Studio 12 update 1 Building Software (including dmake) Sun Studio 12 update 1 Documentation Set Sun Studio 12 update 1 /usr symbolic links and GNOME menu item version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/cc": Sun C 5.10 SunOS_sparc 2009/06/03 version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/CC": Sun C++ 5.10 SunOS_sparc 2009/06/03 version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.4 SunOS_sparc 2009/06/03 version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/dbx": Sun DBX Debugger 7.7 SunOS_sparc 2009/06/03 version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/analyzer": Sun Analyzer 7.7 SunOS_sparc 2009/06/03 version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.9 SunOS_sparc 2009/06/03 Regards -- [ Piotr Tarnowski piotr.tarnowski at us.edu.pl ] [ Unix Administrator at University of Silesia, Katowice, Poland ] -------------- next part -------------- A non-text attachment was scrubbed... Name: sieve.h-redeclared.patch Type: text/x-patch Size: 486 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20120229/a9732fc9/attachment-0008.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5810 bytes Desc: S/MIME Cryptographic Signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20120229/a9732fc9/attachment-0009.bin>
Stephan Bosch
2012-Feb-29 21:54 UTC
[Dovecot] dovecot-2.1-pigeonhole-0.3.0 identifier redeclared: sieve_multiscript_run (patch)
Hi Piotr, On 2/29/2012 1:57 PM, Piotr Tarnowski wrote:> I recently compiled dovecot-2.1.1 on Solaris 10 with Sun Studio, but > when I want to compile Sieve for this version > (dovecot-2.1-pigeonhole-0.3.0) I get an error: > > "sieve.c", line 578: identifier redeclared: sieve_multiscript_run > > and I see that declaration in sieve.h is different from definition in > sieve.c, so compilation process fails with SunStudio cc compiler. > > I have done a quick hack to correct this, and then compiled successfully.Thanks for the report. Apparently GCC doesn't see this. Fixed: http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/9da3a8398ea4 Regards, Stephan.
Maybe Matching Threads
- Compiling R on Linux with SunStudio 12.1: "wide-character type" problems
- Compiling R on Linux with SunStudio 12.1: "wide-character type" problems (rt)
- Difficulty Compiling RSQLite on Solaris x86 Using Studio 12 Compilers
- Package ff building error on solaris x64 10u7
- Package RPostgreSQL_0.1-6.tar.gz has been checked and built