Thursday, May 9, 2013

extract-files.sh: remote object does not exist

According to the official Cyanogenmod build guide, there is one step called "Extract Proprietary Blobs", in which you have to connect the device with USB and run "extract-file.sh" to get those "blobs" from the device.

However, in running the extract-files, it's very often to see output like
remote object '/system/lib/egl/libplayback_adreno200.so' does not exist
It didn't say it's an "Error", but actually the script will just stop there, leaving the remaining blobs unextracted.

If you thought, oh, only one file does not exists, maybe not a big deal, so you continue to build the framework, it's highly likely that the framework you build will not work properly, due to lack of blobs.

Solution:
Download a released Cyanogenmod for that device (the same version with the one you are trying to compiling), unzip it to a folder, suppose the folder is "/home/cm"
Then when running the extract-file.sh, instead of connecting your device to USB and extracting from device (which is the default behavior if you don't provide any argument to the extract-files.sh), you can simply run
./extract-files.sh /home/cm
(replace /home/cm to the folder where you unzip the Cyanogenmod, of course)
Then the extract-files.sh will copy blobs from that folder.

If there is still some file missing (e.g. libpn544_fw.so for Galaxy S3), then google it, download it and put it in the right path -- in general, missing blobs is not a good thing, we should avoid it as much as we can, and that's why I commented out the text below, which is a very bad solution.


When I try to follow the wiki page to build Cyanogenmod from source, there is one step called
Extract Proprietary Blobs
in which I need to go to device/samsung/quincyatt folder and execute extract-files.sh to get those "blobs" from the device.

In executing the extract-files.sh, the script stops and says
remote object '/system/lib/egl/libplayback_adreno200.so' does not exist
Well, it's not an error, so I thought it happens to be the last file not exists, but actually it's not.
Go to the device folder, and run
grep -lr "libplayback_adreno200.so" *
I find it's in samsung/msm8660-com/com-proprietary-files.txt, so open that file, search for "libplayback_adreno200.so", and comment it out, re-execute the script, the script proceeds to extracting more files.

If similar error happens again, just repeat the same process.

13 comments:

  1. I have to create extract-files.sh for my device .
    This device is a chinese tablet .
    I am a complete noob and would appreciate any help.
    Please share a link of how can someone create this file to extract specific blobs from the device.

    ReplyDelete
    Replies
    1. hi Talwar

      Did you download the CyanogenMod source code for your device?

      Ning

      Delete
    2. when i run the command it does not work :/
      can someone help? extract-file.sh /home/original
      i get error: device not found

      Delete
    3. from the error message it seems your device is not connected to computer?

      did you try adb your device?

      Delete
    4. dongtam
      mu private
      tim phong tro
      http://nhatroso.com/
      nhac san cuc manh
      tổng đài tư vấn luật
      http://dichvu.tuvanphapluattructuyen.com/
      văn phòng luật
      tổng đài tư vấn pháp luật
      thành lập công ty
      http://we-cooking.com/
      chém gió
      trung tâm ngoại ngữĐấu Thánh đỉnh phong, hiện tại khí tức giống như nước chảy thành sông ở trong đan điền, trên người phát ra năng lượng đấu khí nồng đậm.

      Đối mặt với năng lượng tràn ngập này, Nhạc Thành cũng không cử động thân thể, tùy nghi để những năng lượng này tiến vào trong cơ thể của mình.

      Những vòng nước xoáy này sau đó đã đạt tới mức cực hạn, tất cả những đấu khí điên cuồng xông ra ngoài cơ thể.

      - Xuy xuy.

      Ở bên ngoài thân thể của Nhạc Thành, đấu khí dữ dội bao vây Nhạc Thành vào bên trong, toàn thân tràn ngập uy áp, khí tức này đã đột phá tới bát tinh Đấu Thánh.

      Cùng lúc đó đấu khí của Nhạc Thành ngày càng yếu đi, cuối cùng tiến toàn bộ vào trong đan điền.



      Cứ nuhw thế một ngày hai mắt của Nhạc Thành mở ra, toàn thân bao phủ đấu khí màu

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. can anyone please help me to build stable CM10.1 for LG Optimus Net(P690)? can you guide me how to build/? and where do i find or get sources for my device!! I'm a noob,but wanna get started!! :(

    ReplyDelete
  4. hi..Im college student, thanks for sharing :)

    ReplyDelete
  5. my device is not supported by CM,how can I make "extract-files.sh" for it?

    ReplyDelete
  6. The script does not copy the missing files automatically. I had to copy the files from the CM build manually. At least in version CM 11.

    ReplyDelete
  7. Some of the files actually require root access over adb. So on your phone go to 'Settings -> Developer Options -> Root Access' and select either ADB Only or Apps and ADB. Now in your terminal type 'adb root' and it will start/restart your adb server as root. The extract-files.sh will now get all files :)

    ReplyDelete
    Replies
    1. Man you have no idea how long I had been searching for a fix for this problem. Your solution worked 100%! THANKS A MILLION!

      Delete