• Bug#266582: knoda: FTBFS (amd64/gcc-3.4): Missing '-fPIC' and extra ';'

    From Andreas Jochens@1:229/2 to All on Wed Aug 18 13:20:06 2004
    From: [email protected]

    Package: knoda
    Severity: normal
    Tags: patch

    When building 'knoda' with gcc-3.4 I get the following error:

    /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions
    -fno-check-new -o libhk_kdeclasses.la -rpath /usr/lib -version-info 6:0:0 -L/usr/X11R6/lib -L/usr/lib hk_kdeboolean.lo hk_kdecombobox.lo hk_kdelineedit.lo hk_kdemessages.lo hk_kdememo.lo hk_kderowselector.lo hk_kdelabel.lo hk_kdepassworddialog.lo hk_
    kdedriverdialog.lo hk_kdegrid.lo hk_kdesimplegrid.lo hk_kdequery.lo hk_kdetable.lo hk_kdetoolbar.lo hk_kdeinterpreterdialog.lo hk_kdedbdesigner.lo hk_kdefilterdialogbase.lo hk_kdefilterdialog.lo hk_kdetabledesign.lo hk_kdeindexeditwindow.lo hk_
    kdedatabasesetting.lo hk_kdedatabasesettingbase.lo hk_kdecsvexportdialog.lo hk_kdecsvimportdialog.lo hk_kdecsvimportdialogbase.lo hk_kdexmlexportdialogbase.lo hk_kdexmlexportdialog.lo hk_kdesimpleform.lo hk_kdefinddialog.lo hk_kdefinddia
    logbase.lo hk_kdeform.lo hk_kdeformfocus.lo hk_kdeproperty.lo hk_kdepropertybase.lo hk_kdeformdatasourcedialog.lo hk_kdeformdatasourcedialogbase.lo hk_kdesimplereport.lo hk_kdereportsection.lo hk_kdereportdata.lo hk_kdereport.lo hk_kdereportpropertybase.
    lo hk_kdereportproperty.lo hk_kdedatasource.lo hk_kdecolumn.lo hk_kdegridcolumndialogbase.lo hk_kdegridcolumndialog.lo hk_kdenewpassworddialog.lo hk_kdenewpassworddialogbase.lo hk_kdereportsectiondialog.lo hk_kdereportsectiondialogbase.lo hk_
    kdesubreportdialog.lo hk_kdesubreportdialogbase.lo hk_kdebutton.lo hk_kdereportconditiondialog.lo hk_kdereportconditiondialogbase.lo hk_kdespinbox.lo hk_kderelationdialogbase.lo hk_kderelationdialog.lo hk_kdeqbe.lo hk_kdedblistview.lo
    knodamaindockwindowbase.lo knodamaindockwindow.lo hk_kdeobjecthandlerbase.lo hk_kdeobjecthandler.lo hk_kdereportpropertybase.moc.lo hk_kdefilterdialog.moc.lo hk_kdedblistview.moc.lo hk_kdepropertybase.moc.lo knodamaindockwindowbase.moc.lo hk_
    kdedatabasesetti
    ng.moc.lo hk_kdereportconditiondialogbase.moc.lo hk_kdespinbox.moc.lo hk_kdenewpassworddialog.moc.lo hk_kdeobjecthandler.moc.lo hk_kdeformfocus.moc.lo hk_kdelabel.moc.lo hk_kdexmlexportdialog.moc.lo hk_kderelationdialogbase.moc.lo hk_kdereportdata.moc.
    lo hk_kdereportsection.moc.lo hk_kdesubreportdialog.moc.lo hk_kdereportsectiondialog.moc.lo hk_kdefinddialogbase.moc.lo hk_kdetoolbar.moc.lo hk_kdenewpassworddialogbase.moc.lo hk_kdedatasource.moc.lo knodamaindockwindow.moc.lo hk_kdesubreportdialogbase.
    moc.lo hk_kdeobjecthandlerbase.moc.lo hk_kdeqbe.moc.lo hk_kdedbdesigner.moc.lo hk_kdefilterdialogbase.moc.lo hk_kdeformdatasourcedialog.moc.lo hk_kdeformdatasourcedialogbase.moc.lo hk_kdecolumn.moc.lo hk_kdegridcolumndialogbase.moc.lo hk_kdesimplereport.
    moc.lo hk_kdereportconditiondialog.moc.lo hk_kdegridcolumndialog.moc.lo hk_kdedatabasesettingbase.moc.lo hk_kdexmlexportdialogbase.moc.lo hk_kderelationdialog.moc.lo hk_kdeproperty.moc.lo hk_kdereport.moc.lo hk_kdereportsectiondia
    logbase.moc.lo hk_kdeinterpreterdialog.moc.lo hk_kdefinddialog.moc.lo hk_kdecsvimportdialogbase.moc.lo hk_kdebutton.moc.lo hk_kdereportproperty.moc.lo hk_kdemessages.moc.lo -lkdeprint -lkmdi -ldl -L/usr/lib/hk_classes -lhk_classes
    /usr/bin/ld: .libs/hk_kdeboolean.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
    .libs/hk_kdeboolean.o: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make[4]: *** [libhk_kdeclasses.la] Error 1
    make[4]: Leaving directory `/knoda-0.7/hk_kdeclasses'

    With the attached patch 'knoda' can be compiled on amd64 using gcc-3.4.

    Regards
    Andreas Jochens

    diff -urN ../tmp-orig/knoda-0.7/debian/rules ./debian/rules
    --- ../tmp-orig/knoda-0.7/debian/rules 2004-08-18 12:23:56.989302041 +0200
    +++ ./debian/rules 2004-08-18 11:46:49.584918977 +0200
    @@ -24,7 +24,7 @@
    touch aclocal.m4
    touch configure

    - ./configure $(confflags) \
    + CXXFLAGS=-fPIC ./configure $(confflags) \
    --prefix=/usr --mandir=\$${prefix}/share/man \
    --infodir=\$${prefix}/share/info \
    --disable-rpath \
    diff -urN ../tmp-orig/knoda-0.7/hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h ./hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h
    --- ../tmp-orig/knoda-0.7/hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h 2004-05-01 17:36:38.000000000 +0200
    +++ ./hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h 2004-08-18 12:10:08.966180689 +0200
    @@ -14,5 +14,5 @@
    #include "hk_kdedbdesignerpart.h"
    //defining the factory
    typedef KParts::GenericFactory<hk_kdedbdesignerpart> hk_kdedbdesignerpartfactory;
    -K_EXPORT_COMPONENT_FACTORY( libhk_kdedbdesignerpart, hk_kdedbdesignerpartfactory );
    +K_EXPORT_COMPONENT_FACTORY( libhk_kdedbdesignerp