Daniel Macks wrote: > Update of /cvsroot/fink/dists/10.4/unstable/main/finkinfo/gnome > In directory > sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18479/10.4/unstable/main/finkinfo/gnome > > Modified Files: > libart2.info > Removed Files: > libart2.patch > Log Message: > New version; remove legacy patch that no longer applies (possibly > included upstream), remove libtool tweak that is a no-op now. [] > Package: libart2 > -Version: 2.3.17 > +Version: 2.3.18 > Revision: 1
This version 2.3.18 breaks compilation of scribus. I think it will break compilation of any C++ program that uses libart. Here is a small test case: //file libartbug.c // compile with // gcc -I/sw/include/libart-2.0 -L/sw/lib -lart_lgpl_2 libartbug.c #include <libart_lgpl/art_misc.h> int main(){ void * foo = art_new(int, 3); }; It compiles OK with gcc. If you compile it with g++, you get % g++ -I/sw/include/libart-2.0 -L/sw/lib -lart_lgpl_2 libartbug.c /usr/bin/ld: Undefined symbols: art_alloc(unsigned long) collect2: ld returned 1 exit status The bug is in libart_lgpl/art_misc.h. The function declarations void *art_alloc(size_t size); void art_free(void *ptr); void *art_realloc(void *ptr, size_t size); need to be enclosed in 'extern "C"', just like the later declarations of art_die() etc are. If someone has contact to the upstream developers, please tell them. -- Martin ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel