libtar vs. Datei Extrahieren



  • Hallo

    Ich habe ein kleines(bis großes) Problem mit der Bibliotek 'libtar'.
    Ich habe mir die Sourcen runtergeladen und selber Kompiliert (achja ich ar beite unter Ubuntu 9.10). Kompilieren ging alles wunderbar (bis auf eine stelle wo ich in der extract.c einen vergessenen Parameter mit übergeben musste).

    Jetzt zum Problem: Ich erstelle mit meiner C++ anwendung ein TAR archiv und füge dem einen Verzeichnissbaum hinzu.

    TAR *file;
    tar_open(&file, "test.tar", NULL, O_WRONLY | O_CREAT, 0777, TAR_VERBOSE);
    tar_append_tree(file, str, "");
    tar_close(file);
    

    Funktiniert 1a. Kann ihn mit dem Archivmanager öffnen und entpacken und alles.
    Jetzt möchte ich ihn allerdings mit meiner Anwendung entpacken:

    TAR *file;
    cout << tar_open(&file, "test.tar", NULL, O_RDONLY | O_CREAT, 0766, TAR_VERBOSE) ;
    cout << "Open: " <<  strerror(errno) << endl;
    tar_extract_all(file, "app/test/");
    cout << "Extract: " <<  strerror(errno) << endl;
    tar_close(file);
    

    Nachm öffnen sagt er mir zwar "Resource temporarly unavailable" öffnet sie aber trotzdem. Er erstellt auch Ordner und Unterordner bis er zur ersten Datei kommt. Bei der bricht er ab. Hat jemand eine Idee womit das zusammen hängt?

    Mit den Rechten hängt es glaubich nicht zusamm. Hab schon ganz viel ausprobiert. Auch als Superuser ausgeführt ist aber immer das Selbe. An der Bibliothek selber liegt es auch nicht. Wenn man die Kompiliert wird auch gleich ein Beispielprogramm kompiliert und das funktioniert auch wunderbar.

    lg Freddi :schland:



  • Ok ich bin mir jetzt nicht genau sicher was ich gemacht hab. (Naja eig schon. Debugausgaben in die libtar.a. Neu Kompiliert. Dann gings. 🙂 :schland: :schland: :schland: :schland:



  • Man sollte wenn möglichst, keine Bibliotheken oder Programme selbst kompilieren. Installier dir lieber libtar mit der Paketverwaltung. Dann wird libtar automatisch geupdatet und du erhältst eine funktionierende Version.

    sudo apt-get install libtar-dev


Anmelden zum Antworten