Falk,
Find enclosed a response from upstream about a method of fixing this issue. Do you have an alpha build environment you can try the attached fixes? Mark Caulier Gilles caulier.gilles at kdemail.net > Hi, > > there a compile problem on Alpha CPUs (Debian/Sid, so KDE 3.5.5 I assume) > Build fine here on i386. Any idea how to fix it? This lines are just to debug libtiff loader. You can comment Dimg::TiffLoader::lines 79 and 84 to solve the problem. Also, i suspect than va_list type is unknow on Alpha. This type is defined by libtiff. Perhaps header files from this library are different between i386 and Alpha. Solution : try to update libtiff or look if a supplemental libtiff header is require into Alpha Gilles > > Achim > > ---------- Forwarded Message ---------- > > Subject: Bug#396747: FTBFS (alpha): attempt to use output operater '<<' on > va_list Date: Thursday 02 November 2006 19:01 > From: Falk Hueffner <falk at debian.org> > To: Debian Bug Tracking System <submit at bugs.debian.org> > > Package: digikam > Version: 1:0.9.0~beta3-2 > Severity: serious > Justification: no longer builds from source > > digikam does not build on Alpha: > > [...] > /bin/sh ../../../../libtool --silent --tag=CXX --mode=compile g++ > -DHAVE_CONFIG_H -I. -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders > -I../../../.. -I/usr/include/kde -I/usr/share/qt3/include -I. > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dimg > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dmetadata > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dcraw > -I/tmp/digikam-0.9.0~beta3/./digikam/digikam > -I/tmp/digikam-0.9.0~beta3/./digikam -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 -DNDEBUG -DNO_DEBUG > -O2 -g -Wall -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 -DQT_CLEAN_NAMESPACE -fexceptions -c -o tiffloader.lo > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp [...] > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp: In > static member function 'static void > Digikam::TIFFLoader::dimg_tiff_warning(const char*, const char*, va_list)': > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp:79: > error: no match for 'operator<<' in > '((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream* >)((kndbgstream*)kndDebug(int)().kndbgstream::operator<<(((const > char*)"[")))->kndbgstream::operator<<(((const char*)(& > __PRETTY_FUNCTION__))))->kndbgstream::operator<<(((const char*)"] > ")))->kndbgstream::operator<<(module))->kndbgstream::operator<<(((const > char*)"::")))->kndbgstream::operator<<(fmt))->kndbgstream::operator<<(((con >st char*)"::")) << ap' /usr/include/kde/kdebug.h:457: note: candidates are: > kndbgstream& kndbgstream::operator<<(short int) [...] > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp: In > static member function 'static void > Digikam::TIFFLoader::dimg_tiff_error(const char*, const char*, va_list)': > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp:84: > error: no match for 'operator<<' in > '((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream* >)((kndbgstream*)kndDebug(int)().kndbgstream::operator<<(((const > char*)"[")))->kndbgstream::operator<<(((const char*)(& > __PRETTY_FUNCTION__))))->kndbgstream::operator<<(((const char*)"] > ")))->kndbgstream::operator<<(module))->kndbgstream::operator<<(((const > char*)"::")))->kndbgstream::operator<<(fmt))->kndbgstream::operator<<(((con >st char*)"::")) << ap' make[6]: *** [tiffloader.lo] Error 1 > make[6]: Leaving directory > `/tmp/digikam-0.9.0~beta3/obj-alpha-linux-gnu/digikam/libs/dimg/loaders > [...] > > va_list is an opaque type, it just happens to convert to something > outputtable on most architectures. > > Falk > > > -- System Information: > Debian Release: 4.0 > APT prefers unstable > APT policy: (500, 'unstable') > Architecture: alpha > Shell: /bin/sh linked to /bin/bash > Kernel: Linux 2.6.17.5 > Locale: LANG=C, LC_CTYPE=de_DE at euro (charmap=ISO-8859-15) > > > > > ------------------------------------------------------- Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
No Alpha env. here. Only i386. Sorry.
Gilles Le Vendredi 03 Novembre 2006 07:17 PM, Mark Purcell a écrit : > Falk, > > Find enclosed a response from upstream about a method of fixing this issue. > > Do you have an alpha build environment you can try the attached fixes? > > Mark > > Caulier Gilles caulier.gilles at kdemail.net > > > Hi, > > > > there a compile problem on Alpha CPUs (Debian/Sid, so KDE 3.5.5 I assume) > > Build fine here on i386. Any idea how to fix it? > > This lines are just to debug libtiff loader. You can comment > Dimg::TiffLoader::lines 79 and 84 to solve the problem. > > Also, i suspect than va_list type is unknow on Alpha. This type is defined > by libtiff. Perhaps header files from this library are different between > i386 and Alpha. > > Solution : try to update libtiff or look if a supplemental libtiff header > is require into Alpha > > Gilles > > > Achim > > > > ---------- Forwarded Message ---------- > > > > Subject: Bug#396747: FTBFS (alpha): attempt to use output operater '<<' > > on va_list Date: Thursday 02 November 2006 19:01 > > From: Falk Hueffner <falk at debian.org> > > To: Debian Bug Tracking System <submit at bugs.debian.org> > > > > Package: digikam > > Version: 1:0.9.0~beta3-2 > > Severity: serious > > Justification: no longer builds from source > > > > digikam does not build on Alpha: > > > > [...] > > /bin/sh ../../../../libtool --silent --tag=CXX --mode=compile g++ > > -DHAVE_CONFIG_H -I. > > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders -I../../../.. > > -I/usr/include/kde -I/usr/share/qt3/include -I. > > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dimg > > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dmetadata > > -I/tmp/digikam-0.9.0~beta3/./digikam/libs/dcraw > > -I/tmp/digikam-0.9.0~beta3/./digikam/digikam > > -I/tmp/digikam-0.9.0~beta3/./digikam -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 > > -DNDEBUG -DNO_DEBUG -O2 -g -Wall -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 -DQT_CLEAN_NAMESPACE -fexceptions -c -o tiffloader.lo > > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp [...] > > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp: In > > static member function 'static void > > Digikam::TIFFLoader::dimg_tiff_warning(const char*, const char*, > > va_list)': > > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp:79: > > error: no match for 'operator<<' in > > '((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstrea > >m* )((kndbgstream*)kndDebug(int)().kndbgstream::operator<<(((const > > char*)"[")))->kndbgstream::operator<<(((const char*)(& > > __PRETTY_FUNCTION__))))->kndbgstream::operator<<(((const char*)"] > > ")))->kndbgstream::operator<<(module))->kndbgstream::operator<<(((const > > char*)"::")))->kndbgstream::operator<<(fmt))->kndbgstream::operator<<(((c > >on st char*)"::")) << ap' /usr/include/kde/kdebug.h:457: note: candidates > > are: kndbgstream& kndbgstream::operator<<(short int) [...] > > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp: In > > static member function 'static void > > Digikam::TIFFLoader::dimg_tiff_error(const char*, const char*, va_list)': > > /tmp/digikam-0.9.0~beta3/./digikam/libs/dimg/loaders/tiffloader.cpp:84: > > error: no match for 'operator<<' in > > '((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstream*)((kndbgstrea > >m* )((kndbgstream*)kndDebug(int)().kndbgstream::operator<<(((const > > char*)"[")))->kndbgstream::operator<<(((const char*)(& > > __PRETTY_FUNCTION__))))->kndbgstream::operator<<(((const char*)"] > > ")))->kndbgstream::operator<<(module))->kndbgstream::operator<<(((const > > char*)"::")))->kndbgstream::operator<<(fmt))->kndbgstream::operator<<(((c > >on st char*)"::")) << ap' make[6]: *** [tiffloader.lo] Error 1 > > make[6]: Leaving directory > > `/tmp/digikam-0.9.0~beta3/obj-alpha-linux-gnu/digikam/libs/dimg/loaders > > [...] > > > > va_list is an opaque type, it just happens to convert to something > > outputtable on most architectures. > > > > Falk > > > > > > -- System Information: > > Debian Release: 4.0 > > APT prefers unstable > > APT policy: (500, 'unstable') > > Architecture: alpha > > Shell: /bin/sh linked to /bin/bash > > Kernel: Linux 2.6.17.5 > > Locale: LANG=C, LC_CTYPE=de_DE at euro (charmap=ISO-8859-15) > > > > > > > > > > ------------------------------------------------------- > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Mark Purcell
On Fri, Nov 03, 2006 at 06:17:36PM +0000, Mark Purcell wrote:
> Also, i suspect than va_list type is unknow on Alpha. This type is defined by > libtiff. Perhaps header files from this library are different between i386 > and Alpha. This is wrong. Falk already explained why it was failing: va_list is an *opaque type* per the C standard, you are not allowed to cast it, print it, dereference it, or assign to it in standards-compliant code. The only legal operations are va_copy(), va_start(), va_end(), and va_arg(). The reason that non-standard operations work on some other architectures but not on alpha has to do with the C function calling conventions on the different archs, but that's not all that relevant; the bottom line is that you will never have a << operator for va_list that works on alpha. Which means that the proposed workaround -- eliminating the debug statements that try to output va_list -- is actually the correct fix. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [hidden email] http://www.debian.org/ _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Le Vendredi 03 Novembre 2006 11:29 PM, Steve Langasek a écrit :
> On Fri, Nov 03, 2006 at 06:17:36PM +0000, Mark Purcell wrote: > > Also, i suspect than va_list type is unknow on Alpha. This type is > > defined by libtiff. Perhaps header files from this library are different > > between i386 and Alpha. > > This is wrong. Falk already explained why it was failing: va_list is an > *opaque type* per the C standard, you are not allowed to cast it, print it, > dereference it, or assign to it in standards-compliant code. The only > legal operations are va_copy(), va_start(), va_end(), and va_arg(). > > The reason that non-standard operations work on some other architectures > but not on alpha has to do with the C function calling conventions on the > different archs, but that's not all that relevant; the bottom line is that > you will never have a << operator for va_list that works on alpha. Which > means that the proposed workaround -- eliminating the debug statements that > try to output va_list -- is actually the correct fix. > > Thanks, Fixed in svn by commit #601741. Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |