Hm.. What sources are you using ?
And which device are you compiling for ?
Tried a repo sync lately ?
Sent from my Xperia SL using xda premium
cm10 for LG NEXUS 4 (mako)
Hm.. What sources are you using ?
And which device are you compiling for ?
Tried a repo sync lately ?
Sent from my Xperia SL using xda premium
nexus 4 supports only cm-10.1
Then u have bad source. Delete all and start over
@mithun46 My phone has Unofficial CM 10.1.
Do I really need Official CM 10.1 ?
I wanna build AOKP For my Galaxy S2 Plus
If my phone model is not on CM offical list of supported devices, does that mean I can't build using this guide?
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_open(JNIEnv*, jobject, jstring)':
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:491:48: error: too many arguments to function
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_closed(JNIEnv*, jobject)':
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:505:39: error: too many arguments to function
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_failed(JNIEnv*, jobject)':
frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:518:39: error: too many arguments to function
make: *** [/home/slayer_b/android/cyanogenmod/cm-10.1/out/target/product/ef47s/obj/SHARED_LIBRARIES/libandroid_servers_intermediates/com_android_server_location_GpsLocationProvider.o] Ошибка 1
Hi all,
I'm porting CM10.1 to a new device, I've created device's repos and started compiling but got a problem
The detailed log is here
few last lines:
Code:frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_open(JNIEnv*, jobject, jstring)': frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:491:48: error: too many arguments to function frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_closed(JNIEnv*, jobject)': frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:505:39: error: too many arguments to function frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp: In function 'void android::android_location_GpsLocationProvider_agps_data_conn_failed(JNIEnv*, jobject)': frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:518:39: error: too many arguments to function make: *** [/home/slayer_b/android/cyanogenmod/cm-10.1/out/target/product/ef47s/obj/SHARED_LIBRARIES/libandroid_servers_intermediates/com_android_server_location_GpsLocationProvider.o] Ошибка 1
I tried to "make clobber" and start again with no effect at all
Could someone please advise me how to get rid of these?
Please modify your source . Make clobber will not help, if you're just passing too many arguments .. Find the call to the function, then modify as needed
Sent from my Xperia SL using xda premium
actually I do not pass any arguments to the function
I just created a standart device tree to build CM, make lunch and otapackage. That's all. I do not think that anything from my changes could cause this.
btw this is the similar issue with AOSPA
the solution described there is to replace cpp and heareds file with the ones pulled from CM's source... But I'm already using CM's source
*facepalm*
Excuse that, please
Now, while it's compiling, one makefile will call said function , passing some parameters.
If your gps module works with CyanogenMod on some other device, you must include those headers & CPP files, etc to your device's build tree.
Mostly it'll be while building the kernel that you're getting this error, so that's a good place to start looking
Sent from my Xperia SL using xda premium
thanks for your reply. It looks like I've found the issue with your help.
Next I would ask anyone who knows where to get libril, liblights etc? I know I can easily pull them from the similar arch device...but the question is where they were originally taken from? I have a kernel source for my device, is it useful for building CM except building kernel itself instead of using a prebuilt version
Probably originally taken from the device's source (if provided by OEM)
May I know which device you're working on ?
It seems my issue is still here. I've copied gps files from another device and forced to build them by including in mk file the following lines
# GPS
PRODUCT_PACKAGES += \
gps.msm8960
Android.mk file af gps project contains the following
ifeq ($(BOARD_VENDOR),pantech)
ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif
endif
I double checked-all conditions should be true.
So, I suppose make ignores my files. That should I add to force it to use my gps project?
as far as I can see, it still uses old project, since my project is in another path
error: frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp:518:39: error: too many arguments to function
My proj path: /home/slayer_b/android/cyanogenmod/cm-10.1/device/pantech/ef47s/gps
Hmm. Did you make sure a makefile is calling your makefile before that one ? Check the order in which it builds; go to the brunch scripts, see where they point, then just keep following the chain of compiling , you'll get it easily (though , with a lot of reading)..
If you use whatsapp, PM me your number. And name
Sent from my Xperia SL using xda premium
LOCAL_PATH := $(call my-dir)
include $(call all-makefiles-under,$(LOCAL_PATH))
hardware/qcom/media-caf/mm-video/vidc/vdec/src/omx_vdec.cpp:9715:50: error: 'ION_FLAG_CACHED' was not declared in this scope
hardware/qcom/media-caf/mm-video/vidc/vdec/src/omx_vdec.cpp: In member function 'bool omx_vdec::allocate_color_convert_buf::set_color_format(OMX_COLOR_FORMATTYPE)':
hardware/qcom/media-caf/mm-video/vidc/vdec/src/omx_vdec.cpp:9920:71: warning: zero-length gnu_printf format string [-Wformat-zero-length]
hardware/qcom/media-caf/mm-video/vidc/vdec/src/omx_vdec.cpp: In member function 'OMX_ERRORTYPE omx_vdec::allocate_color_convert_buf::allocate_buffers_color_convert(OMX_HANDLETYPE, OMX_BUFFERHEADERTYPE**, OMX_U32, OMX_PTR, OMX_U32)':
hardware/qcom/media-caf/mm-video/vidc/vdec/src/omx_vdec.cpp:10068:138: warning: format '%d' expects argument of type 'int', but argument 5 has type 'OMX_U32 {aka long unsigned int}' [-Wformat]
make: *** [/home/slayer_b/android/cyanogenmod/cm-10.1/out/target/product/ef47s/obj/SHARED_LIBRARIES/libOmxVdec_intermediates/src/omx_vdec.o] Ошибка 1
target StaticLib: libc_nomalloc (/home/slayer_b/android/cyanogenmod/cm-10.1/out/target/product/ef47s/obj/STATIC_LIBRARIES/libc_nomalloc_intermediates/libc_nomalloc.a)
Note:
You want to use a 64-bit version of Linux. According to Google, 32-bit Linux environment will only work if you are building older versions prior to Gingerbread (2.3.x)/CyanogenMod 7.
Using a VM allows Linux to run as a guest inside your host computer-- a computer in a computer, if you will. If you hate Linux for whatever reason, you can always just uninstall and delete the whole thing. (There are plenty of places to find instructions for setting up Virtualbox with Ubuntu, so I’ll leave it to you to do that.)
Note:
You only need to do these steps the first time you build. If you previously prepared your build environment and have downloaded the CyanogenMod source code for another device, skip to Next Post.
Helpful Tip!
While the SDK contains lots of different things-- the two tools you are most interested in for building Android are adb and fastboot, located in the /platform-tools directory.
Helpful Tip!
A package manager in Linux is a system used to install or remove software (usually originating from the Internet) on your computer. With Ubuntu, you can use the Ubuntu Software Center. Even better, you may also use the apt-get install command directly in the Terminal. (Learn more about the apt packaging tool system from Wikipedia.)
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib
libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
mkdir -p ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=${PATH}:~/bin
Helpful Tip!
You can make this change to the path permanent for all future Terminal sessions:
This will launch a graphical text editor. EnterCode:gedit ~/.bashrc
on its own line, then save the file.Code:export PATH=${PATH}:~/bin
mkdir -p ~/Source
cd Source
REPOSITORY'S OF FAMOUS ROMS (Select One)
PAC-Man :CM 11.0 :Code:repo init -u git://github.com/PAC-man/android.git -b cm-10.2
CM 10.1 :Code:repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
CM10 :Code:repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
Code:repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync
Helpful Tip!
The repo sync command is used to update the latest source code from CyanogenMod and Google. Remember it, as you can do it every few days to keep your code base fresh and up-to-date.
cd ~/Source/vendor/cm
./get-prebuilts
. build/envsetup.sh
breakfast ******
Helpful Tip!
If you get a command not found error for lunch, be sure you’ve done the “. build/envsetup.sh” command from ~/Source. Notice there is a period and space (“. ”) in that command.
./proprietary-files.sh
./extract-files.sh
Here ***** is Device codename and *** is the Phone Company like Samsung or HTC
For Example if my phone is note 2 then this will be the device path : ~/Source/device/Samsung/n7100
Note:
It’s important that these proprietary files are properly extracted and moved to the vendor directory. Without them, CyanogenMod will build without error, but you’ll be missing important functionality, such as the ability to see anything!
export USE_CCACHE=1
cd ~/Source
brunch *****
Helpful Tip!
If the build doesn't start, try lunch and choose your device from the menu. If that doesn't work, try breakfast and choose from the menu. The command make ***** should then work.
ERROR: signapk.jar failed: return code 1make: *** [out/target/product/n7100/cm_n7100-ota-eng.root.zip] Error 1
# cd $OUT
cm-10-20120718-UNOFFICIAL-***.zip
Compiling cm10.1 worked great for my sgs3 d2tmo.Thank's for the tutorial it's been fun setting this up.
Hi there,
I was finally able to compile Cyanogenmod from source.
So, thanks for your guide an your support.Thanks a lot.
Regards Koetermann
Used your guide again to setup my PC for building! Worked like a charm on 11.04
thanks for post this, great and simple guide for n00bs (like me)
This tutorial ROCKS! :good: . Successfully built i9300 starting from fresh ubuntu 12.10 installation w/o even a hickup
#include
#include /ps my own header/
main()
{
int device tree,rom;
for((device==1) || (device tree =1))
printf("you can build a rom");
else
printf("you cant :P");
}
What if i want to compile the PAC rom?
https://github.com/PAC-man
Downloading Ubuntu now!! Excited!!
Edit figured it out myself!!
repo init -u git://github.com/PAC-man/android.git -b jellybean
thankx anyways...
Isn't "apt" the "stock" package manager in (K)Ubuntu?
But I've another question @mithun46: Is it possible, that your guide only works on a 64bit edition of ubuntu? So that 32bit installations ain't supported?