Hi, sry for the mess. I think you have to hold my hand and walk me through 
this.

I'm busy at work till Saturday evening but have time afterwards willing to 
spend on Sunday
and the rest of next week. I tell you what I've tried and what went wrong.
(I'm a little bit rusty, haven't done this for a long time and can't claim 
that I was ever
really good at it)

On Thursday, March 27, 2014 5:11:52 PM UTC+1, Anders Olofsson wrote:
>
> On 2014-03-27 07:44, Thorsten Bonow wrote: 
> > I've applied the patch and rebuild the Debian package. I've attachted 
> the 
> > backtrace and the console output generated by starting licq with the 
> > '-d15' option. Hope this helps. 
>
> Thanks, but it looks like you didn't get any debug information so I 
> can't see exactly where in the ICQ plugin the problem is. 
>
> Please re-build the ICQ plugin, but add -DCMAKE_BUILD_TYPE=Debug as 
> parameter to cmake, and post a new backtrace. 
> The entries for protocol_icq.so should show fuction and line number 
> instead of just "No symbol table info available." 
>

I'm able to rebuild the Debian package, but I'm not able to apply the Debug
option to the rules file (attached). I still get the ' No symbol table info 
available.' 
messages after a crash in my backtraces.

I got the git repository and tried to compile from source, but that failed. 
Please
tell me if I did something stupid.

I got the code into totos-licq:

git clone https://github.com/licq-im/licq totos-licq


patched the code via


patch -p1 < licq_debug_event_assert.patch


That worked without a flaw.


Changed into totos-licq/licq, created a build directory, changed into that 
and called:


cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/licq ..


make && make install


That did work.


Then I created a build directory in totos-licq/icq and changed into that.


Calling 


cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/licq ..


worked again, but make failed:


toto@catweazle:~/src/totos-licq/icq/build$ make

[  5%] Building CXX object 
src/CMakeFiles/protocol_icq.dir/oscarservice.cpp.o

/home/toto/src/totos-licq/icq/src/oscarservice.cpp: In function ‘void* 
LicqIcq::OscarServiceSendQueue_tep(void*)’:

/home/toto/src/totos-licq/icq/src/oscarservice.cpp:595:12: error: ‘class 
Licq::Event’ has no member named ‘myLockCounter’

         e->myLockCounter++;

            ^

/home/toto/src/totos-licq/icq/src/oscarservice.cpp:598:14: error: ‘class 
Licq::Event’ has no member named ‘myLockCounter’

           e->myLockCounter--;

              ^

/home/toto/src/totos-licq/icq/src/oscarservice.cpp:609:12: error: ‘class 
Licq::Event’ has no member named ‘myLockCounter’

         e->myLockCounter--;

            ^

make[2]: *** [src/CMakeFiles/protocol_icq.dir/oscarservice.cpp.o] Error 1

make[1]: *** [src/CMakeFiles/protocol_icq.dir/all] Error 2

make: *** [all] Error 2

Do I really have to compile everything separately or did I miss the "make 
all" feature?
Pressed for time and at al loss. 

Grateful for any advice ;-)
 

> /Anders 
>

Have a nice weekend

Toto 

-- 

--- 
You received this message because you are subscribed to the Google Groups "Licq 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to licq-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/langcore.mk

DEB_INSTALL_DOCS_ALL =
DEB_INSTALL_CHANGELOGS_ALL = doc/CHANGELOG
DEB_DH_MAKESHLIBS_ARGS_ALL = -X usr/lib/licq/

# cmake settings
CMAKE = cmake
CMAKE_BUILDDIR = obj-$(if $(1),$(1)-)$(DEB_BUILD_GNU_TYPE)
CMAKE_INSTALL_PREFIX = /usr
CMAKE_NORMAL_ARGS  = -DCMAKE_INSTALL_PREFIX="$(CMAKE_INSTALL_PREFIX)"
CMAKE_NORMAL_ARGS += -DCMAKE_C_COMPILER:FILEPATH="$(CC)"
CMAKE_NORMAL_ARGS += -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)"
CMAKE_NORMAL_ARGS += -DCMAKE_C_FLAGS="$(CFLAGS) $(CPPFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_SKIP_RPATH=ON
CMAKE_NORMAL_ARGS += -DCMAKE_VERBOSE_MAKEFILE=ON
CMAKE_NORMAL_ARGS += -DCMAKE_BUILD_TYPE=Debug
export CTEST_OUTPUT_ON_FAILURE=1

# plugin packages
PLUGINS := $(filter licq-plugin-%,$(shell dh_listpackages))
PLUGINS := $(patsubst licq-plugin-%,%,$(PLUGINS))
PLUGINS := $(filter-out qt4-common,$(PLUGINS))

# directories of plugin packages in source tree
src/autoreply = auto-reply
src/console   = console
src/forwarder = forwarder
src/icq       = icq
src/jabber    = jabber
src/kde4      = qt4-gui
src/msn       = msn
src/osd       = osd
src/qt4       = qt4-gui
src/rms       = rms


# Build rules

ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
configure/licq:: CMAKE_EXTRA_ARGS += -DBUILD_TESTS=ON
else
configure/licq:: CMAKE_EXTRA_ARGS += -DBUILD_TESTS=OFF
endif

configure/licq:: $(CMAKE_BUILDDIR)/CMakeCache.txt
$(CMAKE_BUILDDIR)/CMakeCache.txt:
        mkdir -p $(@D)
        cd $(@D) && $(CMAKE) $(CURDIR) $(CMAKE_NORMAL_ARGS) $(CMAKE_EXTRA_ARGS)

build/licq:: debian/stamp-licq-build
debian/stamp-licq-build:
        $(DEB_MAKE_ENVVARS) $(MAKE) -C $(CMAKE_BUILDDIR)
        touch $@

clean::
        rm -f debian/stamp-licq-build
        rm -rf $(CMAKE_BUILDDIR)


# Plugins
define build-plugin
configure/licq-plugin-$(1):: CMAKE_EXTRA_ARGS += 
-DCMAKE_MODULE_PATH=$(CURDIR)/cmake
configure/licq-plugin-$(1):: CMAKE_EXTRA_ARGS += -DCMAKE_BUILD_TYPE=Debug
configure/licq-plugin-$(1):: 
plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)/CMakeCache.txt
plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)/CMakeCache.txt:
        mkdir -p $$(@D)
        cd $$(@D) && $$(CMAKE) $(CURDIR)/plugins/$$(src/$(1)) 
$$(CMAKE_NORMAL_ARGS) $$(CMAKE_EXTRA_ARGS)

build/licq-plugin-$(1):: debian/stamp-$(1)-build
debian/stamp-$(1)-build:
        $$(DEB_MAKE_ENVVARS) $$(MAKE) -C plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)
        touch $$@

install/licq-plugin-$(1)::
        $$(DEB_MAKE_ENVVARS) $$(MAKE) -C plugins/$$(src/$(1))/$(CMAKE_BUILDDIR) 
install DESTDIR=$(CURDIR)/debian/licq-plugin-$(1)
ifeq ($(1),qt4)
        rm 
debian/licq-plugin-qt4/usr/share/licq/qt4-gui/emoticons/FeltTip4/LICENSE
        mkdir -p debian/licq-plugin-qt4-common/usr/share/licq
        mv debian/licq-plugin-qt4/usr/share/licq/qt4-gui 
debian/licq-plugin-qt4-common/usr/share/licq/
endif
ifneq ($(filter $(1), qt4 kde4),)
        rm -r debian/licq-plugin-$(1)/usr/share/licq
endif

clean::
        rm -f debian/stamp-$(1)-build
        rm -rf plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)
endef

configure/licq-plugin-kde4:: CMAKE_EXTRA_ARGS += -DWITH_KDE=ON

$(foreach X,$(PLUGINS),$(eval $(call build-plugin,$(X))))


# Install rules

install/licq-plugin-qt4-common:: install/licq-plugin-qt4

install/licq install/licq-dev:: install-licq-common
install-licq-common::
        $(DEB_MAKE_ENVVARS) $(MAKE) -C $(CMAKE_BUILDDIR) install 
DESTDIR=$(CURDIR)/debian/licq
        mkdir -p debian/licq/usr/share/pixmaps
        cp plugins/qt4-gui/src/xpm/licq.xpm debian/licq/usr/share/pixmaps
        mkdir -p debian/licq-dev/usr
        mv debian/licq/usr/include debian/licq-dev/usr/include

Reply via email to