Tille, Andreas schrieb:

Hallo Andreas, hat jetzt direkt mit apcupsd nichts mehr zu tun.
Vorab, ich bin kein C Programmierer, aber Du hast ein Interesse 
geweckt mit dem ich nicht mehr schlafen kann :)

> Nö, da hast Du was falsch verstanden.  Das STrippen hat absolut nichts
> mit ldd zu tun, denn dieses sagt Dir nur, von welchen Biblioteken Deine
> Datei abhängt, nicht aber, ob noch überflüssiger Debugging-Code drinsteckt.
> Probier doch einfach mal 'ld -s'.
> 
>    ~> man ld
>    ...
>        -s
>        --strip-all
>            Omit all symbol information from the output file.
>    ...

ich habe das mit ld -s einmal probiert, funktioniert aber nicht.
ein   

    # ld -o apcupsd -s apcupsd.o apcnet.o apcsetup.o apcreports.o .......

bringt mir tonnenweise Fehlermeldungen.
    ...
    libapcups.a(apcpipe.o): In function `pipe_reconfig':
    /usr/include/sys/stat.h:318: undefined reference to `__xstat'
    libapcups.a(apcpipe.o): In function `pipe_reconfig':
    /home/stefan/tmp/apcupsd/apcupsd-3.6.2/apcpipe.c:394: undefined
    referenc
    ....

Jetzt habe ich gelesen das der Linker von gcc aufgerufen wird, eine
Änderung im Makefile:
    ...
    LDFLAGS = -g -s
    ...
brachte das Programm auf:

    ... 82412 Apr 10 19:42 tmp/apcupsd/apcupsd-3.6.2/apcupsd

Ich bin erstaunt, da dies Programm immer noch funktioniert, es ist aber
immer noch größer als das des Debian Paketes. Vielleicht ist da doch
ein Fehler, aber egal werde so wie so nut testen.

Jetzt habe ich noch eine Frage, ich hoffe ich bin noch zu ertragen :)

make verwendet nach der Änderung des Makefiles 
    gcc -g -s apcupsd.o apcnet.o apcsetup.o....
die Parameter werden anscheinend dem Linker übergeben
    man gcc: ...are passed to the linker in command-line order.

Was mache ich aber bei ld falsch?

THX, stefan


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an