[Digikam-users] Gilles Caulier said I might have visability issue with gcc

Richard E Miles r.godzilla at comcast.net
Wed May 23 21:32:22 BST 2007


On Tue, 22 May 2007 23:31:54 +0200
"Gilles Caulier" <caulier.gilles at gmail.com> wrote:

> Richard,
> 
> Gcc visibility compiler feature is explained  indeep at this url :
> 
> http://gcc.gnu.org/wiki/Visibility
> 
> This feature is only available with gcc version >= 4.0. You use gcc 3.4.6.
> 
> For obscure  reasons, the auto-detection of gcc visibility support on Centos
> fail.
> 
> If you update GCC at least to version 4.0, all will be fine.
> 
> ...else, try to to use ./configure --enable-gcc-hidden-visibility=yes before
> to compile.
> 
> Gilles
> 
> 
> 2007/5/22, Richard E Miles <r.godzilla at comcast.net>:
> >
> > visabilty issue with gcc 3.4.6.8 on centos 4.5 trying to compile
> > libkipi for a 9.2 version on digikam. What does visability issue mean?
> > Here is the compile dialog:
> >
> > > 2007/5/21, Richard E Miles <r.godzilla at comcast.net>:
> > > >
> > > > I would like help in solving kipi-plugins compile on a Centos 4.5system.
> > > > Here is the compile dialog:
> > > >
> > > > > [rmiles at localhost libkipi-0.1.4]$ make
> > > > > make  all-recursive
> > > > > make[1]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4'
> > > > > Making all in libkipi
> > > > > make[2]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi'
> > > > > Making all in libkipi
> > > > > make[3]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'make  all-am
> > > > > make[4]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi/libkipi'if
> > > > /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++
> > -DHAVE_CONFIG_H
> > > > -I. -I. -I../.. -I. -I.. -I./..  -I/usr/include/kde -I/usr/lib/qt-3.3
> > /include
> > > > -I/usr/X11R6/include
> > -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long
> > > > -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align
> > -Wconversion
> > > > -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security
> > > > -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions
> > > > -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST
> > > > -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT interface.lo -MD
> > -MP
> > > > -MF ".deps/interface.Tpo" -c -o interface.lo interface.cpp; \
> > > > > then mv -f ".deps/interface.Tpo" ".deps/interface.Plo"; else rm -f
> > > > ".deps/interface.Tpo"; exit 1; fi
> > > > > In file included from ../libkipi/interface.h:38,
> > > > >     > [rmiles at localhost libkipi-0.1.4]$ make
> > > > > make  all-recursive
> > > > > make[1]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4'
> > > > > Making all in libkipi
> > > > > make[2]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi'
> > > > > Making all in libkipi
> > > > > make[3]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'make  all-am
> > > > > make[4]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi/libkipi'if
> > > > /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++
> > -DHAVE_CONFIG_H
> > > > -I. -I. -I../.. -I. -I.. -I./..  -I/usr/include/kde -I/usr/lib/qt-3.3
> > /include
> > > > -I/usr/X11R6/include
> > -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long
> > > > -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align
> > -Wconversion
> > > > -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security
> > > > -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions
> > > > -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST
> > > > -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT interface.lo -MD
> > -MP
> > > > -MF ".deps/interface.Tpo" -c -o interface.lo interface.cpp; \
> > > > > then mv -f ".deps/interface.Tpo" ".deps/interface.Plo"; else rm -f
> > > > ".deps/interface.Tpo"; exit 1; fi
> > > > > In file included from ../libkipi/interface.h:38,
> > > > >                  from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/imagecollection.h:72: error: visibility arg must be one
> > of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from ../libkipi/interface.h:39,
> > > > >                  from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/imageinfo.h:78: error: visibility arg must be one of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/interface.h:90: error: visibility arg must be one of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from interface.cpp:32:
> > > > > pluginloader.h:61: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > pluginloader.h:86: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > pluginloader.h:99: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > make[4]: *** [interface.lo] Error 1
> > > > > make[4]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'
> > > > > make[3]: *** [all] Error 2
> > > > > make[3]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'
> > > > > make[2]: *** [all-recursive] Error 1
> > > > > make[2]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi'
> > > > > make[1]: *** [all-recursive] Error 1
> > > > > make[1]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4'
> > > > > make: *** [all] Error 2
> > > > > [rmiles at localhost libkipi-0.1.4]$
> > > > >
> > > > > If you know how to fix this let me know.
> > > > > We can proceed from there with the other program piles
> > > > > after.
> > > > >
> > > > > Thanks :)
> > > > >
> > > > >
> > > > >
> > > >              from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/imagecollection.h:72: error: visibility arg must be one
> > of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from ../libkipi/interface.h:39,
> > > > >                  from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/imageinfo.h:78: error: visibility arg must be one of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from pluginloader.h:25,
> > > > >                  from interface.cpp:32:
> > > > > ../libkipi/interface.h:90: error: visibility arg must be one of
> > > > "default", "hidden", "protected" or "internal"
> > > > > In file included from interface.cpp:32:
> > > > > pluginloader.h:61: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > pluginloader.h:86: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > pluginloader.h:99: error: visibility arg must be one of "default",
> > > > "hidden", "protected" or "internal"
> > > > > make[4]: *** [interface.lo] Error 1
> > > > > make[4]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'
> > > > > make[3]: *** [all] Error 2
> > > > > make[3]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > > > /libkipi/libkipi'
> > > > > make[2]: *** [all-recursive] Error 1
> > > > > make[2]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4
> > /libkipi'
> > > > > make[1]: *** [all-recursive] Error 1
> > > > > make[1]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4'
> > > > > make: *** [all] Error 2
> > > > > [rmiles at localhost libkipi-0.1.4]$
> > > > >
> > > > > If you know how to fix this let me know.
> > > > > We can proceed from there with the other program piles
> > > > > after.
> > > > >
> > > > > Thanks :)
> > > > >
> > --
I got a gcc4.1 for Centos4.5 after following your suggestions I get from ./configure --enable-gcc-hidden-visibility=yes

Your GCC supports symbol visibility, but the patch for Qt supporting visibility
was not included. Therefore, GCC symbol visibility support remains disabled.

For better performance, consider including the Qt visibility supporting patch
located at:

http://bugs.kde.org/show_bug.cgi?id=109386

and recompile all of Qt and KDE. Note, this is entirely optional and
everything will continue to work just fine without it.


Good - your configure finished. Start make now


And for Make:

[rmiles at localhost libkipi-0.1.4]$ make
make  all-recursive
make[1]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4'
Making all in libkipi
make[2]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi'
Making all in libkipi
make[3]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi/libkipi'make  all-am
make[4]: Entering directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi/libkipi'if /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I.. -I./..  -I/usr/include/kde -I/usr/lib/qt-3.3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT interface.lo -MD -MP -MF ".deps/interface.Tpo" -c -o interface.lo interface.cpp; \
then mv -f ".deps/interface.Tpo" ".deps/interface.Plo"; else rm -f ".deps/interface.Tpo"; exit 1; fi
In file included from ../libkipi/interface.h:38,
                 from pluginloader.h:25,
                 from interface.cpp:32:
../libkipi/imagecollection.h:72: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
In file included from ../libkipi/interface.h:39,
                 from pluginloader.h:25,
                 from interface.cpp:32:
../libkipi/imageinfo.h:78: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
In file included from pluginloader.h:25,
                 from interface.cpp:32:
../libkipi/interface.h:90: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
In file included from interface.cpp:32:
pluginloader.h:61: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
pluginloader.h:86: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
pluginloader.h:99: error: visibility arg must be one of "default", "hidden", "protected" or "internal"
make[4]: *** [interface.lo] Error 1
make[4]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi/libkipi'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi/libkipi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4/libkipi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rmiles/digikam/libkipi-0.1.4'
make: *** [all] Error 2


I am not willing to recompile all of qt and KDE to solve this.
There has to be a better way. Can you suggest a better solution?

thanks

-- 
Richard Miles
Federal Way WA. USA
registered linux user 46097



More information about the Digikam-users mailing list