libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

debugging/developing libraries, library is installed under the same name


From: Hebenstreit Michael
Subject: debugging/developing libraries, library is installed under the same name in 2 different version
Date: Thu, 9 Dec 2004 10:37:20 +0100
User-agent: KMail/1.7.1

Hello together,

I a problem and hope you can help me. I tried to debug a kde/korganizer 
library in my home-dir, having installed the same package on the (linux) 
system. This leads to the following situation

standard library: /opt/kde/lib/libkcal.so.2.0.0

library with debug 
information: /home/heb/temp/kde-pim-3.3.1/lbkcal/.libs/libkcal.so.2.0.0

programm to be 
debuged: /home/heb/temp/kde-pim-3.3.1/korganizer/.libs/lt-korganizer

According to the output of libtool at compile/link-time 
/home/heb/temp/kde-pim-3.3.1/korganizer/.libs/lt-korganizer
is linked to the correct library 
/home/heb/temp/kde-pim-3.3.1/lbkcal/.libs/libkcal.so.2.0.0

(even the "--rpath" statements are included).

Unfortunetly the "ldd" has "/opt/kde3/libs" first in line, and during run-time 
uses /opt/kde/lib/libkcal.so.2.0.0

The easiest way to prevent this is to generate a link

/home/heb/temp/kde-pim-3.3.1/korganizer/.libs/libkcal.so -> 
/home/heb/temp/kde-pim-3.3.1/lbkcal/.libs/libkcal.so.2.0.0

focing the ldd to take the correct library. 

Is there a simple way to use automake/libtool to circumvent this problem?

libtool used:
-------------------------------------------------------------------------
ltmain.sh (GNU libtool) 1.5a (1.1240 2003/06/26 06:55:19)

Makefile.am:
-------------------------------------------------------------------------
if include_knewstuff
knewstuff_SUBDIR=knewstuff
endif

SUBDIRS = $(knewstuff_SUBDIR) . korgac pixmaps sounds plugins interfaces

INCLUDES = \
  -I$(srcdir)/interfaces \
  -I$(top_srcdir)/libkdepim \
  -I$(top_srcdir)/libkpimidentities \
  -I$(top_srcdir)/mimelib \
  -I$(top_srcdir)/ktnef \
  -I$(top_srcdir)/certmanager/lib \
  -I$(top_srcdir)/kresources/remote \
  -I$(top_srcdir) \
  $(all_includes)

bin_PROGRAMS = korganizer

korganizer_LDFLAGS = $(all_libraries) $(KDE_RPATH)
korganizer_LDADD   = libkorganizer.la
korganizer_SOURCES = main.cpp korganizer.cpp koapp.cpp
korganizer_COMPILE_FIRST = koprefs_base.h


kde_module_LTLIBRARIES = kcm_korganizer.la libkorganizerpart.la

kcm_korganizer_la_SOURCES = koprefsdialog.cpp
kcm_korganizer_la_LDFLAGS = $(all_libraries) -module -avoid-version 
-no-undefined
kcm_korganizer_la_LIBADD = libkorganizer.la 
$(top_builddir)/libkdepim/libkdepim.la \
  $(LIB_KDECORE)

libkorganizerpart_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
libkorganizerpart_la_LIBADD  = libkorganizer.la
libkorganizerpart_la_SOURCES = korganizer_part.cpp
libkorganizerpart_la_COMPILE_FIRST = publishdialog_base.h koprefs_base.h


check_PROGRAMS = korgplugins timezone

korgplugins_LDFLAGS = $(all_libraries) $(KDE_RPATH)
korgplugins_LDADD   = libkorganizer.la $(LIB_KSYCOCA)
korgplugins_SOURCES = korgplugins.cpp
korgplugins_COMPILE_FIRST = koprefs_base.h

timezone_LDFLAGS = $(all_libraries) $(KDE_RPATH)
timezone_LDADD   = libkorganizer.la $(LIB_KSYCOCA)
timezone_SOURCES = timezone.cpp
timezone_COMPILE_FIRST = koprefs_base.h

lib_LTLIBRARIES = libkorganizer.la libkorganizer_eventviewer.la \
                  libkorganizer_calendar.la

libkorganizer_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -version-info 1:0
libkorganizer_la_LIBADD  = $(LIB_KPARTS) $(LIB_KFILE) \
        -lkdeprint -lkabc -lkutils \
        $(top_builddir)/libkcal/libkcal.la \
        $(top_builddir)/libkpimidentities/libkpimidentities.la \
        $(top_builddir)/libkdepim/libkdepim.la \
        libkorganizer_eventviewer.la \
        libkorganizer_calendar.la \
        $(top_builddir)/kdgantt/libkdgantt.la \
        $(KNEWSTUFF_LIB) \
        $(top_builddir)/ktnef/lib/libktnef.la \
        $(top_builddir)/kresources/remote/libkcal_resourceremote.la
libkorganizer_la_COMPILE_FIRST = kofilterview_base.ui \
        outgoingdialog_base.ui \
        incomingdialog_base.ui \
        kogroupwareprefspage.ui \
        ../libkdepim/categoryselectdialog.h
libkorganizer_la_SOURCES =  outgoingdialog_base.ui \
        koagendaview.cpp koagenda.cpp koagendaitem.cpp \
        datenavigator.cpp kdatenavigator.cpp datenavigatorcontainer.cpp \
        datechecker.cpp \
        komonthview.cpp \
        searchdialog.cpp calendarview.cpp koviewmanager.cpp \
        kodialogmanager.cpp \
        calprintdayconfig_base.ui calprintweekconfig_base.ui \
        calprintmonthconfig_base.ui calprinttodoconfig_base.ui \
        calprinter.cpp calprintbase.cpp calprintplugins.cpp \
        archivedialog.cpp \
        komailclient.cpp kotodoview.cpp kotodoviewitem.cpp \
        kolistview.cpp \
        koprefsdialog.cpp \
        koincidenceeditor.cpp koeventeditor.cpp kotodoeditor.cpp 
kojournaleditor.cpp\
        koprefs.cpp kowindowlist.cpp \
        koeditorgeneral.cpp \
        koeditorgeneralevent.cpp koeditorgeneraltodo.cpp 
koeditorgeneraljournal.cpp \
        koeditordetails.cpp \
        koeditorrecurrence.cpp koeditorattachments.cpp \
        kogroupwareprefspage.ui koeventpopupmenu.cpp koeditorfreebusy.cpp \
        outgoingdialog.cpp \
        incomingdialog_base.ui incomingdialog.cpp \
        publishdialog_base.ui publishdialog.cpp \
        koeventview.cpp \
        kofilterview_base.ui kofilterview.cpp \
        korganizeriface.skel kcalendariface.skel \
        filtereditdialog.cpp filteredit_base.ui \
        kowhatsnextview.cpp kocounterdialog.cpp \
        kojournalview.cpp journalentry.cpp \
        kocore.cpp plugindialog.cpp mailscheduler.cpp \
        kodaymatrix.cpp docprefs.cpp statusdialog.cpp\
        kotimespanview.cpp timespanview.cpp lineview.cpp timeline.cpp \
        koglobals.cpp konewstuff.cpp \
        alarmclient.cpp \
        actionmanager.cpp resourceview.cpp \
        navigatorbar.cpp kogroupware.cpp \
        kogroupwareincomingdialog_base.ui kogroupwareincomingdialog.cpp \
        history.cpp \
        koprefs_base.kcfgc \
        koincidencetooltip.cpp aboutdata.cpp \
        cellitem.cpp \
        importdialog.cpp \
        korganizerifaceimpl.cpp \
        freebusymanager.cpp freebusyurldialog.cpp \
        eventarchiver.cpp koidentitymanager.cpp


libkorganizer_eventviewer_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) \
                                       -no-undefined -version-info 1:0
libkorganizer_eventviewer_la_LIBADD  = $(LIB_KPARTS) \
                                       $(top_builddir)/libkcal/libkcal.la \
                                       $(top_builddir)/libkdepim/libkdepim.la
libkorganizer_eventviewer_la_SOURCES = koeventviewer.cpp urihandler.cpp \
                                       kmailIface.stub koeventviewerdialog.cpp

libkorganizer_calendar_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) \
                                    -no-undefined -version-info 1:0
libkorganizer_calendar_la_LIBADD  = $(LIB_KPARTS) \
                                    $(top_builddir)/libkdepim/libkdepim.la \
   ar_la_SOURCES = stdcalendar.cpp

kmailIface_DIR = $(top_srcdir)/kmail
kmailIface_DCOPIDLNG = true

METASOURCES = AUTO

noinst_HEADERS = komonthview.h \
        koagendaview.h koagenda.h \
        koagendaitem.h \
        kdatenavigator.h \
        calendarview.h \
        version.h \
        searchdialog.h calprinter.h calprintbase.h calprintplugins.h \
        archivedialog.h \
        komailclient.h kotodoview.h \
        kolistview.h \
        koapp.h korganizer_part.h korganizer.h \
        koprefsdialog.h koeventeditor.h \
        kotodoeditor.h koprefs.h koeventviewer.h \
        kowindowlist.h kocounterdialog.h \
        koeditorgeneralevent.h koeditorgeneraltodo.h koeditordetails.h \
        koeditorrecurrence.h koeventviewerdialog.h koeventpopupmenu.h \
        outgoingdialog.h incomingdialog.h publishdialog.h koeditorfreebusy.h \
        koeventview.h statusdialog.h customlistviewitem.h \
        alarmclient.h \
        navigatorbar.h kogroupware.h kogroupwareincomingdialog.h \
        koincidencetooltip.h korganizerifaceimpl.h

tip_DATA = tips
tipdir = $(kde_datadir)/korganizer

kde_bin_SCRIPTS = ical2vcal korganizerIn

rcdir = $(kde_datadir)/korganizer
rc_DATA = korganizerui.rc

partdir   = $(kde_datadir)/korganizer
part_DATA = korganizer_part.rc

kde_servicetypes_DATA = dcopcalendar.desktop

KDE_ICON = AUTO

META_INCLUDES = $(srcdir)/interfaces/korganizer

messages: rc.cpp
        $(PREPARETIPS) > tips.cc
        $(XGETTEXT) *.cpp *.h korgac/*.cpp knewstuff/*.cpp plugins/*/*.cpp 
tips.cc -o $(podir)/korganizer.pot
        rm -f tips.cc

xdg_apps_DATA = korganizer.desktop

kde_kcfg_DATA = korganizer.kcfg

kde_services_DATA = korganizer_configmain.desktop \
                    korganizer_configtime.desktop \
                    korganizer_configviews.desktop \
                    korganizer_configcolors.desktop \
                    korganizer_configfonts.desktop \
                    korganizer_configgroupscheduling.desktop \
                    korganizer_configgroupautomation.desktop \
                    korganizer_configfreebusy.desktop \
                    webcal.protocol

include ../admin/Doxyfile.am
-------------------------------------------------------------------------


I browsed documentation and mailing lsts but could not find a solution. 

thanks a lot

Michael

-- 
Michael HEBENSTREIT
FH JOANNEUM / Aviation
Alte Poststr. 149, 8020 Graz, Austria
Tel.: +43-316-5453-6421
Fax.: +43-316-5453-6401
e-mail: address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]