[Galaxy S 4 Q&A, Help & Troubleshooting] QweJay:
I want to build cm12 on samsung jfltexx (S4) by Ubuntu 14.04,but it can not.

i follow this to build CM12 http://wiki.cyanogenmod.org/w/Build_for_jfltexx

That is my setp

1.repo sync cm12 codes (it takes me 3 days...):crying:

2.download samsung codes

https://github.com/CyanogenMod/android_device_samsung_jfltexx ---rename jfltexx and copy to device/samsung/

https://github.com/broodplank/samsung-kernel-jfltexx ---rename kernel and copy to out/target/product/jfltexx/

https://github.com/CyanogenMod/android_device_samsung_jf-common ---remane jf-common and copy to device/samsung/

https://github.com/CyanogenMod/android_device_samsung_qcom-common ---remane and copy to device/samsung/

3.

$ source build/envsetup.sh

$ breakfast jfltexx

$ cd device/samsung/jfltexx

--connect my phone to computer

$ ./extract-files.sh

--(but no files found)

--copy the system folder from "cm12-plus-5.0-Beta5.1-jfltexx.zip" to vendor/samsung/jfltexx/

--copy jf-common to vendor/samsung/jfltexx

$ croot

$ brunch jfltexx

--now build is start

but a few minutes later, it show that code and stop to build

i am new here and my english is bad sorry.

and i am new to build android source code,please help me to fix it,thank you!

--------------------------------------------------------------------------------------------------------------------------------------------------------

target arm C: libunz <= external/zlib/src/inftrees.c

target arm C: libunz <= external/zlib/src/inffast.c

target arm C: libunz <= external/zlib/src/trees.c

target arm C: libunz <= external/zlib/src/uncompr.c

target arm C: libunz <= external/zlib/src/zutil.c

Import includes file: /home/qwejay/android/cm/out/target/product/jfltexx/obj/EXECUTABLES/alsaucm_test_intermediates/import_includes

target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_mixer.c

target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c

target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_mixer.c:33:23: fatal error: sound/tlv.h: No such file or directory

#include <sound/tlv.h>

^

compilation terminated.

make: *** [/home/qwejay/android/cm/out/target/product/jfltexx/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_mixer.o] error 1

make: *** Waiting for the unfinished task....

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:139:31: error: 'SND_AUDIOCODEC_AC3_PASS_THROUGH' undeclared here (not in a function)

FORMAT_AC3_PASS_THROUGH = SND_AUDIOCODEC_AC3_PASS_THROUGH,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:141:31: error: 'SND_AUDIOCODEC_WMA_PRO' undeclared here (not in a function)

FORMAT_WMA_PRO = SND_AUDIOCODEC_WMA_PRO,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:142:31: error: 'SND_AUDIOCODEC_DTS' undeclared here (not in a function)

FORMAT_DTS = SND_AUDIOCODEC_DTS,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:143:31: error: 'SND_AUDIOCODEC_DTS_LBR' undeclared here (not in a function)

FORMAT_DTS_LBR = SND_AUDIOCODEC_DTS_LBR,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:144:31: error: 'SND_AUDIOCODEC_DTS_PASS_THROUGH' undeclared here (not in a function)

FORMAT_DTS_PASS_THROUGH = SND_AUDIOCODEC_DTS_PASS_THROUGH,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_avail':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:443:9: warning: format '%d' expects argument of type 'int', but argument 4 has type 'snd_pcm_uframes_t' [-Wformat=]

ALOGV("hw_ptr = %d buf_size = %d appl_ptr = %d\n",

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:443:9: warning: format '%d' expects argument of type 'int', but argument 6 has type 'snd_pcm_uframes_t' [-Wformat=]

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'appl_pt_forward':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:483:3: warning: too many arguments for format [-Wformat-extra-args]

ALOGE("appl_ptr %ld set to ld",

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'dst_address':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:561:22: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]

return pcm->addr + pcm_offset;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:565:57: warning: unused parameter 'offset' [-Wunused-parameter]

int mmap_transfer(struct pcm *pcm, void *data, unsigned offset,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer_capture':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:620:26: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]

src_addr = pcm->addr + pcm_offset;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:596:65: warning: unused parameter 'offset' [-Wunused-parameter]

int mmap_transfer_capture(struct pcm *pcm, void *data, unsigned offset,

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_write_mmap':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:682:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

if ((bytes_written >= pcm->sw_p->start_threshold) && (!pcm->start)) {

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:643:50: warning: unused parameter 'data' [-Wunused-parameter]

static int pcm_write_mmap(struct pcm *pcm, void *data, unsigned count)

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'enable_timer':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:825:8: warning: return makes integer from pointer without a cast [enabled by default]

return &bad_pcm;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:854:11: warning: return makes integer from pointer without a cast [enabled by default]

return &bad_pcm;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_open':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:939:9: warning: return makes pointer from integer without a cast [enabled by default]

return -EINVAL;

^

make: *** [/home/qwejay/android/cm/out/target/product/jfltexx/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_pcm.o] error 1

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_identifier':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:78:43: warning: unused parameter 'fmt' [-Wunused-parameter]

char *snd_use_case_identifier(const char *fmt, ...)

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_free_list':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:90:40: warning: parameter 'list' set but not used [-Wunused-but-set-parameter]

int snd_use_case_free_list(const char *list[], int items)

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:90:52: warning: unused parameter 'items' [-Wunused-parameter]

int snd_use_case_free_list(const char *list[], int items)

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_get_list':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:133:15: warning: assignment from incompatible pointer type [enabled by default]

*list = (char ***)uc_mgr->card_ctxt_ptr->verb_list;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:157:15: warning: assignment from incompatible pointer type [enabled by default]

*list = verb_list[verb_index].device_list;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:181:15: warning: assignment from incompatible pointer type [enabled by default]

*list = verb_list[verb_index].modifier_list;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_apply_mixer_controls':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:936:65: warning: comparison between pointer and integer [enabled by default]

(check_devices_for_voice_call(uc_mgr, use_case) != NULL))

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_mgr_reload':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:2207:49: warning: unused parameter 'uc_mgr' [-Wunused-parameter]

int snd_use_case_mgr_reload(snd_use_case_mgr_t *uc_mgr) {

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'print_list':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3324:47: warning: unused parameter 'verb_index' [-Wunused-parameter]

static int print_list(card_mctrl_t *list, int verb_index, int count)

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'free_list':

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3884:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

mindex < list[case_index].ena_mixer_list[index].value;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3902:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

mindex < list[case_index].dis_mixer_list[index].value;

^

hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3870:40: warning: unused parameter 'verb_index' [-Wunused-parameter]

void free_list(card_mctrl_t *list, int verb_index, int count)

^

--------------------------------------------------------------------------------------------------------------------------------------------------------