Probleme beim Kompilieren von ClamAV (undefined reference)

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Probleme beim Kompilieren von ClamAV (undefined reference)

Beitrag von S_O » 07.11.2005 21:04:54

Hallo,
auf meinem Server läuft Debian 3.0 Woody (falls man es noch so nennen kann). Ich hab jedoch ein Problem:
Weil ich eine neue Version von Subversion installiert habe (1.2.3), musste ich auch diverse andere sachen mal wieder aktualisieren, darunter libc6 von 2.3.2 auf 2.3.5. Hat auch alles funktioniert, jedoch hab ich nun ein Problem:
Ich möchte den eine aktulle Version von ClamAV kompilieren, dass geht aber nicht:

Code: Alles auswählen

cfgparser.o(.text+0x375): In function `parsecfg':
../shared/cfgparser.c:188: undefined reference to `__ctype_tolower'
manager.o(.text+0x512): In function `clamav_unpack':
/root/clamav-0.87.1/clamscan/manager.c:862: undefined reference to `__ctype_tolower'
manager.o(.text+0x2538): In function `scanmanager':
/root/clamav-0.87.1/clamscan/manager.c:137: undefined reference to `__ctype_tolower'
../libclamav/.libs/libclamav.so: undefined reference to `__ctype_b'
../libclamav/.libs/libclamav.so: undefined reference to `__ctype_toupper'
Ich hab schon gesucht, das scheint mit der libc6 zusammenzuhängen, nun die Frage, was muss ich machen, das es wieder läuft? Leider war meine Paketsuche bei Debian erfolglos um herauszufinden, welches Packet die Funktion __ctype_tolower bereitstellt.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 07.11.2005 21:54:41

wenn du schon die libc6 aktualisiert hast, warum hast du dann nicht gleich ein Backup deines Servers gemacht und auf Debian Sarge geupgraded? Dann hättest du dort auch ClamAV per apt-get installieren können?!!
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Beitrag von S_O » 07.11.2005 22:33:56

wenn du schon die libc6 aktualisiert hast, warum hast du dann nicht gleich ein Backup deines Servers gemacht und auf Debian Sarge geupgraded? Dann hättest du dort auch ClamAV per apt-get installieren können?!!
Das hat mehrere Gründe
1.) Der Server ist gemietet. Ich komm nur über SSH (Putty) und SFTP (winscp) drauf
2.) Ich habe nicht wirklich viel Ahnung von Linux. Da der Server in Betreib ist, sollte er nicht mehr als ein paar Stunden ausfallen und das auch nur in der Nacht.
3.) Mit apt-get komm ich nicht zurecht (will nie das installieren was ich will), ich nehm immer dpkg. Ist zwar mühseliger, macht aber das was ich will.

Ein Update ist keine Option. Ich möchte einfach nur etwas installieren, das mir diese Funktionen bereitstellt. Hab schon versucht libc6-dev zu installieren, das geht aber nicht, weil er dazu linux-kernel-headers braucht, und die find ich nur für 2.6, nicht für 2.4

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 07.11.2005 22:51:18

zu:

1) ja ist immer etwas unangenehm wenn man nicht direkt davor sitzen kann aber das muss man irgendwie geregelt bekommen
2) ganz ehrlich, was machst du dann mit einem Server? nichts gegen dich, aber so ein Server ist gradezu ideal für eine Angriffsstation für Cracker :S
3) apt-get ist doch "nur" ein Aufsatz für dpkg.. da muss bei dir echt was schief laufen wenn du das nicht nutzen kannst

Das Problem: dein Server hat mit Sicherheit keine Security Bugfixes, da du kein apt-get nutzt => Gefahr das er gehackt wird steigt täglich

Außerdem zerkonfigurierst du dir dein System wenn du vieles manuell machst...
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Beitrag von S_O » 12.11.2005 20:27:09

Mir ist schon bewusst, dass wenn ich keine Updates mache die Gefahr immer größer wird, das ich gehackt werde. Aber Programme die nach außen hin arbeiten (Apache, PHP etc.), update ich realtiv regelmäßig.
Außerdem zerkonfigurierst du dir dein System wenn du vieles manuell machst...
Was genau meinst du mit manuell machen?

Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

Beitrag von rolo » 12.11.2005 21:11:28

hi S_O,
ist wirklich nicht böse gemeint, aber soweit ich dich richtig verstanden habe benutzt du einen rootserver und hast von dessen betriebssystem fast keine ahnung. ich würde folgendes tun: kündige das teil sofort, oder such dir jemaqnde/n der/die das für dich macht.
du stellst für dich und andere eine gefahr da,.dazu mehr hier:
http://www.rootforum.de/forum/viewtopic.php?t=5248
das sollte dich jetzt aber nicht davon abhalten gnu/linux zu benutzen - nur, den umgang damit, lernst du besser zuhause mit einer kleineren anbindung ans netz.
literatur gibts reichlich im netz, z.b.:
http://debiananwenderhandbuch.de/
http://www.debianforum.de/wiki/?page=Ebooks
also, loslegen und lernen.

ansonsten, zu deiner frage:
das packetmanagment von debian nutzen:
die
/etc/apt/sources.list
editieren, also auf sarge umstellen
apt-get update
apt-get dist-upgrade
wenn du nicht schon zuviel gebastelt hast, was ich fast annehme, hast du dann das aktuelle sarge und kannst über apt deine sequrity-updates einspielen (trotzdem die einschlägigen sequrity-sites lesen), sowie software installieren. mehr dazu findest du erstmal! in den obigen online-büchern

jedenfalls, viel spaß und erfolg!
bis denn
atropin

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Probleme beim Kompilieren von ClamAV (undefined reference)

Beitrag von gms » 12.11.2005 21:38:30

vor dem Upgrade solltest du auch die Release Notes beachten:
http://www.debian.org/releases/stable/i ... ex.de.html
S_O hat geschrieben:Leider war meine Paketsuche bei Debian erfolglos um herauszufinden, welches Packet die Funktion __ctype_tolower bereitstellt.
diese Funktionen sind ebenfalls in der libc

Code: Alles auswählen

gms@gms1:~$ readelf -s /lib/libc-2.3.5.so  | grep tolower
   429: 00022570    17 FUNC    GLOBAL DEFAULT   11 __tolower_l@@GLIBC_2.1
   474: 00021db0    94 FUNC    GLOBAL DEFAULT   11 tolower@@GLIBC_2.0
   494: 00022570    17 FUNC    WEAK   DEFAULT   11 tolower_l@@GLIBC_2.3
   841: 000226c0    96 FUNC    GLOBAL DEFAULT   11 __ctype_tolower_loc@@GLIBC_2.3
  1026: 00022340    61 FUNC    GLOBAL DEFAULT   11 _tolower@@GLIBC_2.0
  1254: 00115f40     4 OBJECT  GLOBAL DEFAULT   28 __ctype_tolower@GLIBC_2.0
  1852: 00115f38     4 OBJECT  GLOBAL DEFAULT   28 __ctype32_tolower@GLIBC_2.2
dieser Fehler kommt wahrscheinlich weil ein von clamav benötigtes Paket zu alt ist. Welches das sein könnte ? Da kommen einige in Frage:

Code: Alles auswählen

gms@gms1:~$ ldd /usr/lib/libclamav.so.1
        linux-gate.so.1 =>  (0xffffe000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0xb7ea4000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb7e73000)
        libcurl.so.3 => /usr/lib/libcurl.so.3 (0xb7e43000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7e2f000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7dce000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7dac000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7da9000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7d96000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0xb7d66000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7d52000)
        libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7d12000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7bd9000)        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7bd5000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7bc3000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7bad000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7a75000)
        /lib/ld-linux.so.2 (0x80000000)


Gruß
gms
Zuletzt geändert von gms am 12.11.2005 21:39:20, insgesamt 1-mal geändert.

S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Beitrag von S_O » 12.11.2005 21:38:45

ist wirklich nicht böse gemeint, soweit ich dich richtig verstanden habe benutzt du einen rootserver und hast von dessen betriebssystem fast keine ahnung. kündige das teil sofort, oder such dir jemaqnde/n der/die das für dich macht.
Es gibt Leute die ich im Notfall fragen kann, ich habe auch schon von jemandem der davon Ahnug hat den Server mal überprüfen lassen, ob es Sicherheitsprobleme gibt (offenes Mail-Relay etc.) (hat keine gefunden).
Das Problem ist einfach, ich hab webspace und kann nichts machen (z.B. was triviales wie ein PHP modul laden), oder einen einfachen managed-server, kann ich auch nichts machen und es wird auch nichts gemacht (also software installiert die ich gerne haben möchte) oder jemand macht alles für mich, das ist halt viel zu teuer.

Ich hab das mit upgraden grad auf meinem Laptop ausprobiert, hat fast perfekt geklappt (nur einmal das huhn-ei-problem: udev wollte nicht mit dem aktuellen kernel (2.6.8), der neue kernel (2.6.12) wollte nicht bevor das upgrade komplett ist, hab den kernel dann mit dpkg --force-depends (ich weiß, ganz schlecht, würd ich auf dem server auch nicht machen) installiert, dann hat alles geklappt.)

Mir wurde hier im Forum auch schon Hilfe per PN angeboten beim upgraden von jemandem der damit Erfahrung hat, ich hoffe dann klappt alles.

S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Beitrag von S_O » 12.11.2005 21:54:43

dieser Fehler kommt wahrscheinlich weil ein von clamav benötigtes Paket zu alt ist. Welches das sein könnte ? Da kommen einige in Frage:
Wie kann ich herausfinden, welches das ist? Mit libc6 2.3.2 scheint es ja funktioniert zu haben. Es muss sich also irgdnwas mit libc6 2.3.5 geändert haben, das irgendwas jetzt nicht mehr so funktioniert wie mit libc6 2.3.2?
diese Funktionen sind ebenfalls in der libc
Bei mir auch. Warum meint er dann, sie wären es nicht? Kann es sein libc6-dev nicht mehr passt? Kann aber das neue nicht installieren da dass linux-kernel-headers braucht, die gibts anscheinend für 2.4.29 nicht.

S_O
Beiträge: 138
Registriert: 25.02.2005 12:38:44

Beitrag von S_O » 13.11.2005 19:33:57

Ich habe das Problem behoben:
Nach der Installation von linux-kernel-headers (headers: 2.6.13; kernel: 2.4.29 .. hat aber nichts gesagt) und der neuen libc6-2.3.5 hat alles prima geklappt. Werde das system aber wohl trotzdem upgraden.

Antworten