Package: geos Version: 4.3.0-4 Severity: important Tags: patch User: [EMAIL PROTECTED] Usertags: eabi
Geos currently fails to build[1] on arm eabi, most likely due to slightly different symbol visibility rules defined in EABI. arm-linux-gnueabi-g++ -shared -nostdlib /usr/lib/gcc/arm-linux-gnueabi/4.3.1/../../../crti.o /usr/lib/gcc/arm-linux-gnueabi/4.3.1/crtbeginS.o .libs/inlines.o -Wl,--whole-archive algorithm/.libs/libalgorithm.a geom/.libs/libgeom.a geomgraph/.libs/libgeomgraph.a index/.libs/libindex.a io/.libs/libio.a noding/.libs/libnoding.a operation/.libs/liboperation.a planargraph/.libs/libplanargraph.a precision/.libs/libprecision.a simplify/.libs/libsimplify.a util/.libs/libutil.a -Wl,--no-whole-archive -L/usr/lib/gcc/arm-linux-gnueabi/4.3.1 -L/usr/lib/gcc/arm-linux-gnueabi/4.3.1/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/arm-linux-gnueabi/4.3.1/crtendS.o /usr/lib/gcc/arm-linux-gnueabi/4.3.1/../../../crtn.o -Wl,-soname -Wl,libgeos-3.0.0.so -o .libs/libgeos-3.0.0.so noding/.libs/libnoding.a(MCIndexSnapRounder.o):(.data.rel.ro+0x0): multiple definition of `vtable for geos::noding::snapround::MCIndexSnapRounder' .libs/inlines.o:(.data.rel.ro+0x0): first defined here noding/.libs/libnoding.a(MCIndexSnapRounder.o):(.data.rel.ro+0x18): multiple definition of `typeinfo for geos::noding::snapround::MCIndexSnapRounder' .libs/inlines.o:(.data.rel.ro+0xb0): first defined here noding/.libs/libnoding.a(MCIndexSnapRounder.o):(.rodata+0x0): multiple definition of `typeinfo name for geos::noding::snapround::MCIndexSnapRounder' .libs/inlines.o:(.rodata+0x0): first defined here collect2: ld returned 1 exit status On x386: nm -a --demangle inlines.o 00000000 V typeinfo for geos::noding::snapround::MCIndexSnapRounder 00000000 V typeinfo name for geos::noding::snapround::MCIndexSnapRounder 00000000 V vtable for geos::noding::snapround::MCIndexSnapRounder On arm eabi: 000000e0 R typeinfo for geos::noding::snapround::MCIndexSnapRounder 000000b0 R typeinfo name for geos::noding::snapround::MCIndexSnapRounder 00000000 R vtable for geos::noding::snapround::MCIndexSnapRounder I haven't found a satisfactory explanation about how gcc chooses to create weak and normal symbols, so it's unclear if the bug is in binutils/gcc or in the creative inlining solution in geos. In the course of compiling 7200 source packages from debian repository no other package has had any similar problems... You might want to discuss with upstream what's the advantage of including normal and inlined copies of same classes in a shared library. However, since geos is very low in the dependency chain, causing a considerable amount of packages being uncompilable, we (armel porters) cant wait for very long for a perfect/correct solution. Therefor, please consider the attached patch. [1] http://buildd.debian.org/fetch.cgi?&pkg=geos&ver=3.0.0-4&arch=armel&stamp=1209298060&file=log
diff -urN geos-3.0.0/debian/rules geos-3.0.0.new/debian/rules --- geos-3.0.0/debian/rules 2008-05-09 16:28:50.000000000 +0300 +++ geos-3.0.0.new/debian/rules 2008-05-09 16:26:47.000000000 +0300 @@ -28,6 +29,10 @@ INSTALL_PROGRAM += -s endif +ifeq ($(DEB_HOST_GNU_TYPE),arm-linux-gnueabi) + CONFFLAGS += --disable-inline +endif + # shared library versions, option 1 version=2.0.5 major=2 @@ -49,7 +54,7 @@ cp -f /usr/share/misc/config.guess config.guess endif - CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info + CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(CONFFLAGS) #Architecture
signature.asc
Description: Digital signature
_______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-grass-devel