znowu KDE

Wojciech "Sas" Cieciwa cieciwa w alpha.zarz.agh.edu.pl
Pią, 31 Mar 2000, 13:09:04 CEST


On Fri, 31 Mar 2000, wrobell wrote:

[...]
> > Nie ma zaielonego pojecia :(
> No właśnie. Pamiętam, że na Debianie jak
> kupę nowych bibliotek poinstalowałem, to mi
> się tak linkowanie jak tobie sypało.
> Pomagało dodanie biblioteki:
>  gcc -o .... /usr/local/lib/libbibilioteka.so
> bezpośrednio do kompilacji (nie mylić z: gcc ... -lbiblioteka).
> Czy coś koło tego. Sprawdź czy masz świeże glibc,
> libstdc++, gcc i co tam jeszcze przyjdzie Tobie
> do głowy.


No wlasnie jednak nie ma to jak stara metoda kija i marchewki :))))

Przetrawilem Makefile i znalazlem miejsce ktore powoduje ten blad ???

----- Makefile ---
[...]

#>+ 8
libkcm_samba.la.closure: $(libkcm_samba_la_OBJECTS) $(libkcm_samba_la_DEPENDENCIES)
	@echo "int main() {}" > libkcm_samba_la_closure.cpp
	@$(LTCXXCOMPILE) -c libkcm_samba_la_closure.cpp
#	@$(CXXLINK) libkcm_samba_la_closure.lo $(libkcm_samba_la_LDFLAGS) $(libkcm_samba_la_OBJECTS) $(libkcm_samba_la_LIBADD) $(LIBS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	@rm -f libkcm_samba_la_closure.* libkcm_samba.la.closure
	@echo "timestamp" > libkcm_samba.la.closure

Ta podkreslona linijka powoduje wlasnie ten blad.
co ona tak naprawde robi ???

ponizej prezentuje logi z dzialania polecenia make
1)
# make >& LOG
make[1]: Entering directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/X11R6/include -O2 -mpentiumpro -Wall -c libkcm_samba_la_closure.cpp  -fPIC -DPIC -o libkcm_samba_la_closure.lo
g++ -O2 -mpentiumpro -Wall -s -o .libs/libkcm_samba.la.closure libkcm_samba_la_closure.lo main.lo ksmbstatus.lo kcmsambaimports.lo kcmsambalog.lo kcmsambastatistics.lo  -L/usr/X11R6/lib /usr/X11R6/lib/libkdeui.so /usr/X11R6/lib/libkdecore.so -ldl /usr/X11R6/lib/libDCOP.so -lSM -lICE -lqt -lpng -lz -lm -lXext -lX11 -Wl,--rpath -Wl,/usr/X11R6/lib
/usr/X11R6/lib/libkdecore.so: undefined reference to `QMimeSourceFactory::pixmap(QString const &) const'
/usr/X11R6/lib/libkdecore.so: undefined reference to `QVariant::QVariant(bool)'
collect2: ld returned 1 exit status
make[1]: *** [libkcm_samba.la.closure] Error 1
make[1]: Leaving directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'
make: *** [all-recursive] Error 1

2) 
# make -n >& LOG
set fnord n; amf=$2; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list=''; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
   || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make[1]: Entering directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'
echo "int main() {}" > libkcm_samba_la_closure.cpp
/bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/X11R6/include     -O2 -mpentiumpro -Wall  -c libkcm_samba_la_closure.cpp
/bin/sh ../../libtool --mode=link g++  -O2 -mpentiumpro -Wall  -s -o libkcm_samba.la.closure libkcm_samba_la_closure.lo -L/usr/X11R6/lib  -module -avoid-version -no-undefined main.lo ksmbstatus.lo kcmsambaimports.lo kcmsambalog.lo kcmsambastatistics.lo -lkdeui 
rm -f libkcm_samba_la_closure.* libkcm_samba.la.closure
echo "timestamp" > libkcm_samba.la.closure
/bin/sh ../../libtool --mode=link g++  -O2 -mpentiumpro -Wall  -s -o libkcm_samba.la -rpath /usr/X11R6/lib -L/usr/X11R6/lib  -module -avoid-version -no-undefined main.lo ksmbstatus.lo kcmsambaimports.lo kcmsambalog.lo kcmsambastatistics.lo -lkdeui 
make[1]: Leaving directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'

3)
po zahashowaniu podkreslonej linii
# make >& LOG
make[1]: Entering directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/X11R6/include -O2 -mpentiumpro -Wall -c libkcm_samba_la_closure.cpp  -fPIC -DPIC -o libkcm_samba_la_closure.lo
/bin/sh ../../libtool --mode=link g++  -O2 -mpentiumpro -Wall  -s -o libkcm_samba.la -rpath /usr/X11R6/lib -L/usr/X11R6/lib  -module -avoid-version -no-undefined main.lo ksmbstatus.lo kcmsambaimports.lo kcmsambalog.lo kcmsambastatistics.lo -lkdeui 
rm -fr .libs/libkcm_samba.la .libs/libkcm_samba.* .libs/libkcm_samba.*
(cd . && ln -s main.lo main.o)
(cd . && ln -s ksmbstatus.lo ksmbstatus.o)
(cd . && ln -s kcmsambaimports.lo kcmsambaimports.o)
(cd . && ln -s kcmsambalog.lo kcmsambalog.o)
(cd . && ln -s kcmsambastatistics.lo kcmsambastatistics.o)
g++ -shared  main.lo ksmbstatus.lo kcmsambaimports.lo kcmsambalog.lo kcmsambastatistics.lo  -L/usr/X11R6/lib /usr/X11R6/lib/libkdeui.so -lc  -Wl,-soname -Wl,libkcm_samba.so -o .libs/libkcm_samba.so
creating libkcm_samba.la
(cd .libs && rm -f libkcm_samba.la && ln -s ../libkcm_samba.la libkcm_samba.la)
make[1]: Leaving directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'

4) 
po zahashowaniu
# make -n >& LOG
set fnord n; amf=$2; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list=''; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
   || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make[1]: Entering directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/users/cieciwa/rpm/BUILD/kdebase/kcontrol/samba'


Moze analiza tego cos wyjasni ???

Pozdrawiam.
					Sas.
-- 
{ Wojciech 'Sas' Cieciwa }  { Member of PLD Team                              }
{ e-mail: cieciwa w alpha.zarz.agh.edu.pl, http://www2.zarz.agh.edu.pl/~cieciwa }
{ Certified Linux administrator,  http://www.brainbench.com ID=157794         }


___________________________
polish  linux  distribution
-> http://lists.pld.org.pl/



Więcej informacji o liście dyskusyjnej pld-devel-pl