Package: jigdo Versin: 0.7.3-1 Tags: patch Your package fails to build with recent versions of the gcc-snapshot package, i.e. a pre-release of GCC 4.2. I think the problem is that your code causes an ODR violation ("One Definition Rule"). A brief explanation of the problem can be found at http://gcc.gnu.org/PR28360
> Automatic build of jigdo_0.7.3-1 on usurper by sbuild/amd64 0.46 ... > g++ -o jigdo compat.o glibcurl/glibcurl.o gtk/gtk-makeimage.o > gtk/gtk-single-url.o gtk/gui.o gtk/interface.o gtk/jigdo.o gtk/jobline.o > gtk/joblist.o gtk/messagebox.o gtk/support.o gtk/treeiter.o jigdoconfig.o > job/cached-url.o job/datasource.o job/jigdo-io.o job/makeimage.o > job/makeimagedl-info.o job/makeimagedl.o job/single-url.o job/url-mapping.o > net/download.o net/uri.o net/proxyguess.o util/bstream.o util/configfile.o > util/glibc-getopt.o util/glibc-getopt1.o util/glibc-md5.o util/gunzip.o > util/log.o util/md5sum.o util/progress.o util/string-utf.o util/debug.o > -lbz2 -lz -ldb-4.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 > -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr > -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl > -lglib-2.0 \ > -L/usr/lib -lcurl -L/usr/lib -lgssapi_krb5 -lkrb5 > -lk5crypto -lkrb5support -lcom_err -lresolv -lidn -lssl -lcrypto -ldl -lssl > -lcrypto -lz # -lws2_32 -mwindows > job/jigdo-io.o: In function `Base64In<(anonymous > namespace)::ArrayOut>::put(char const*, unsigned int)': > jigdo-io.cc:(.text+0x95): undefined reference to `Base64In<(anonymous > namespace)::ArrayOut>::table' > collect2: ld returned 1 exit status > make[2]: *** [jigdo] Error 1 > make[2]: Leaving directory `/build/tbm/jigdo-0.7.3/src' --- ./src/job/jigdo-io.cc~ 2006-07-22 14:57:57.000000000 +0200 +++ ./src/job/jigdo-io.cc 2006-07-22 14:58:12.000000000 +0200 @@ -501,17 +501,15 @@ } //______________________________________________________________________ -namespace { - /** Local class: For Base64In - put decoded bytes into 16-byte array */ - struct ArrayOut { - typedef ArrayOut& ResultType; - ArrayOut() { } - void set(byte* array) { cur = array; end = array + 16; } - void put(byte b) { if (cur == end) cur = end = 0; else *cur++ = b; } - ArrayOut& result() { return *this; } - byte* cur; byte* end; - }; -} +/** Local class: For Base64In - put decoded bytes into 16-byte array */ +struct ArrayOut { + typedef ArrayOut& ResultType; + ArrayOut() { } + void set(byte* array) { cur = array; end = array + 16; } + void put(byte b) { if (cur == end) cur = end = 0; else *cur++ = b; } + ArrayOut& result() { return *this; } + byte* cur; byte* end; +}; //____________________ /* @param label Pointer to word before the '=' -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]