Entware_1.00std: Can not compile extundelete, configure: error: Can't find ext2fs library

  • Hallo Zusammen

    Ich möchte gerne extundelete installieren um einen Ordner wiederherzustellen.


    [TS-853A, Intel x64 N3160]
    [4.3.5.0760 Build 20181114]

    RAID6 (8*6TB)


    Code
    1. uname –aLinux HOSTNAME 4.2.8 #1 SMP Wed Nov 14 01:00:20 CST 2018 x86_64 GNU/LinuxBusyBox v1.24.1 (2018-11-14 02:18:50 CST) multi-call binary.


    Installiert ist:

    QPKGs for Qnap NASes
    (standard) http://bin.entware.net/other/Entware_1.00std.qpkg (opkg update und opkg upgrade gemacht)
    e2fsprogs 1.44.3-1 > opkg install e2fsprogs

    libext2fs > opkg install libext2fs
    gcc 6.3.0-1b > opkg install gcc -> compiler funktioiert nach diesem Schema https://developerinsider.co/co…-on-ubuntu-on-windows-10/

    Neuste Version von http://extundelete.sourceforge.net/


    Der Fehler:

    Code
    1. [/share/Download/extundelete-0.2.4] # ./configure --prefix=/opt
    2. Configuring extundelete 0.2.4
    3. configure: error: Can't find ext2fs library

    Meine Variabeln:

    e2fsprogs ist hier installiert: /opt/sbin


    Kann mir bitte jemand weiter helfen?


    Liebe Grüsse

    Nun habe ich den Befehl configure angepasst :

    ./configure --prefix=/opt/sbin

    /opt/sbin in diesem Ordner sind die opkg Files und die anderen Tools wie e2fsprogs


    Aber nun bekomme ich folgender Fehler:



    Code
    1. [/share/Download/extundelete-0.2.4] # ./configure --prefix=/opt/sbin
    2. Configuring extundelete 0.2.4
    3. configure: error: in `/share/Download/extundelete-0.2.4':
    4. configure: error: C++ compiler cannot create executables
    5. See `config.log' for more details

    Was fehlt hier zum weiter kommen?


  • Vielen Dank für die Antwort. Gibt es einen Workaround für extundelete welcher mit opkg funktioniert?

    Folgendes habe ich noch ausgeführt

    Code
    1. opkg install busybox ldd make gawk sed
    2. opkg install patch diffutils coreutils-install

    Die ext2fs library-files sind in diesem Ordner /opt/lib/

    so habe ich dieses Flag exportiert

    Code
    1. export LDFLAGS='-L/opt/lib/'

    Ein File (test.c) mit folgendem Inhalt konnte ich aber kompilieren:

    Code
    1. #include <stdio.h>
    2. int main() {
    3. printf("Hello, world!\n");
    4. return 0;
    5. }

    was folgendes ergab:


    Code
    1. gcc test.c -o test
    2. ./test
    3. -> : Hello, world!

    das hat funktioniert.


    Der gcc Kompiler funktioniert also im grundlegensten?


    Wie könnte ich weiter machen?

  • Zunächst einmal hoffe ich, dass du deine Versuche das Programm zum Laufen zu bekommen nicht auf dem gleichen System durchführst, wo die Daten verloren gegangen sind, denn falls ja sind sie durch die unzähligen Schreiboperationen vermutlich eh längst überschrieben.

    Dann hast du vermutlich das Problem, dass der Standardcompiler verwendet wird (so wie die Fehler aussehen), also könntest du mit opkg gcc bzw. g++ installieren und dann sicherstellen, dass dieser verwendet wird (z.B. durch temporäres umbenennen der entsprechenden binaries)

    Weiterhin frage ich mich, warum du dir das auf dem NAS direkt antust und nicht "einfach" einen LXC oder Docker Container für solche Sachen benutzt.

  • Ich hab das gleiche Problem: Gelöschter Ordner auf dem QNAP-NAS wiederherzustellen und hab mich auf folgenden Artikel gestützt:

    [Howto]: RAID/Disaster recovery & undelete

    Volume ist im RO (ReadOnly). Beim starten des extundelete kommt jedoch die Fehlermeldung welche auf die zu alte Version von e2progs (1.41.4) hindeutet weil diese Version nur ext3 unterstützt und mein System offenbar ext4 ist...

    Gibts ein Workaround der funktioniert