Weird Android Build Error; Undefined 'Compiler' symbol - Android Q&A, Help & Troubleshooting

Recently, I have been trying to build Lineage OS 16.0 for my smartphone (Nokia 8). I have created a device tree, vendor tree and downloaded the kernel sources. However everytime I try to build, at around 63% it gives weird compilation errors. Here is the error message. I am building with WSL 2 environment;
Code:
[ 5% 2042/39631] //art/dex2oat:libart-dex2oat clang++ art/dex2oat/linker/image_writer.operator_out.cc [arm]
In file included from /mnt/d/dev/android/android/lineage/out/soong/.intermediates/art/dex2oat/art_dex2oat_operator_srcs/gen/art/dex2oat/linker/image_writer.operator_out.cc:3:
In file included from art/dex2oat/linker/image_writer.h:40:
art/compiler/driver/compiler_driver.h:99:18: error: use of undeclared identifier 'Compiler'
Compiler::Kind compiler_kind,
^
art/compiler/driver/compiler_driver.h:145:3: error: unknown type name 'Compiler'
Compiler* GetCompiler() const {
^
art/compiler/driver/compiler_driver.h:348:3: error: use of undeclared identifier 'Compiler'
Compiler::Kind GetCompilerKind() {
^
art/compiler/driver/compiler_driver.h:471:19: error: use of undeclared identifier 'Compiler'
std::unique_ptr<Compiler> compiler_;
^
art/compiler/driver/compiler_driver.h:472:3: error: use of undeclared identifier 'Compiler'
Compiler::Kind compiler_kind_;
^
5 errors generated.
...
ninja: build stopped: subcommand failed.
10:22:23 ninja failed with: exit status 1
#### failed to build some targets (01:49:21 (hh:mm:ss)) ####
Looking at it, the compiler complains that the class 'Compiler' is not defined in the 'compiler_driver.h' file. However looking at this file, it includes the 'compiler.h' which contains the Compiler class. Has anyone ever experienced this error, and is there any way to fix it?

Related

[DEV] CM Eclair for Passion dies on BusyBox

I have a build environment that works fine when building Froyo, but when I pull down the Eclair repo from Cyanogen and try to build it for my Passion/NexusOne, it dies on BusyBox. Even if I fix the BusyBox errors below by hand modifying the code, my build still ends at "kernel-msm"... am I missing something? I have followed the instructions from the Cyanogen Wiki to a tee multiple times now, and no dice.
Thanks!
debug output:
host Executable: yuv420sp2rgb (out/host/linux-x86/obj/EXECUTABLES/yuv420sp2rgb_intermediates/yuv420sp2rgb)
true
host Executable: zipalign (out/host/linux-x86/obj/EXECUTABLES/zipalign_intermediates/zipalign)
target StaticLib: libc (out/target/product/passion/obj/STATIC_LIBRARIES/libc_intermediates/libc.a)
true
host SharedLib: libacc (out/host/linux-x86/obj/lib/libacc.so)
target thumb C: libbusybox <= external/busybox/shell/ash.c
target thumb C: libbusybox <= external/busybox/shell/math.c
external/busybox/shell/ash.c: In function 'subevalvar':
external/busybox/shell/ash.c:6163: warning: pointer of type 'void *' used in arithmetic
external/busybox/shell/ash.c:6324: warning: pointer of type 'void *' used in arithmetic
external/busybox/shell/ash.c:6326: warning: pointer of type 'void *' used in arithmetic
external/busybox/shell/ash.c: In function 'printlim':
external/busybox/shell/ash.c:12714: error: 'rlim_t' undeclared (first use in this function)
external/busybox/shell/ash.c:12714: error: (Each undeclared identifier is reported only once
external/busybox/shell/ash.c:12714: error: for each function it appears in.)
external/busybox/shell/ash.c:12714: error: expected ';' before 'val'
external/busybox/shell/ash.c:12716: error: 'val' undeclared (first use in this function)
external/busybox/shell/ash.c: In function 'ulimitcmd':
external/busybox/shell/ash.c:12731: error: 'rlim_t' undeclared (first use in this function)
external/busybox/shell/ash.c:12731: error: expected ';' before 'val'
external/busybox/shell/ash.c:12792: error: 'val' undeclared (first use in this function)
make: *** [out/target/product/passion/obj/STATIC_LIBRARIES/libbusybox_intermediates/shell/ash.o] Error 1
make: *** Waiting for unfinished jobs....
cd external/busybox
git checkout d0194cfc47a71a65e049
Much obliged, Maxisma. That did it!
No problem ;-)
it should be fixed now. We made a Froyo branch.

[Q] Compiling ICS

Hi i'm trying to build ICS Source but i'm getting this error:
HTML:
make: *** No rule to make target `out/target/product/ace/obj/STATIC_LIBRARIES/libaudiointerface_intermediates/libaudiointerface.a', needed by `out/target/product/ace/obj/SHARED_LIBRARIES/libaudio_intermediates/LINKED/libaudio.so'. Stop.
make: *** Waiting for unfinished jobs....
target thumb C++: libaudio <= hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp
In file included from hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp:34:
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:51: error: expected class-name before '{' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:70: error: ISO C++ forbids declaration of 'AudioStreamOut' with no type
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:70: error: 'AudioStreamOut' declared as a 'virtual' field
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:70: error: expected ';' before '*' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:77: error: ISO C++ forbids declaration of 'AudioStreamIn' with no type
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:77: error: 'AudioStreamIn' declared as a 'virtual' field
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:77: error: expected ';' before '*' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:85: error: 'AudioStreamOut' has not been declared
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:86: error: 'AudioStreamIn' has not been declared
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:97: error: expected class-name before '{' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h: In member function 'virtual int android::AudioHardware::AudioStreamOutQ5V2::format() const':
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:110: error: 'AudioSystem' has not been declared
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h: In member function 'virtual uint32_t android::AudioHardware::AudioStreamOutQ5V2::latency() const':
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.h:111: error: 'frameSize' was not declared in this scope
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp: In destructor 'virtual android::AudioHardware::~AudioHardware()':
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp:53: error: 'AudioStreamOut' was not declared in this scope
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp:53: error: expected primary-expression before ')' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp: At global scope:
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp:62: error: expected constructor, destructor, or type conversion before '*' token
hardware/msm7k/libaudio-qdsp5v2/AudioHardware.cpp:341: error: expected '}' at end of input
make: *** [out/target/product/ace/obj/SHARED_LIBRARIES/libaudio_intermediates/AudioHardware.o] Error 1
i have tryed many things to fix this erro but no success
i hope some one can help me
bump
Sent from my SGH-T959 using xda premium
Many devs face this error and they are fighting with this.
I just started compiling android but did finish a successful build at 05:00am this morning and didn't get (or see) this error but, no i'm expert by any means..
Considering the error:
No rule to make target `out/target/product/ace/obj/STATIC_LIBRARIES/libaudiointerface_intermediates/libaudiointerface.a', needed by....
Click to expand...
Click to collapse
It literally says its missing something, the rule, so would it be an idea to resync repo perhaps ?
I resynced last night and there were no changes. But, yes, resyncing is important... You never know when Google will drop more source, and they may or may not announce it via mailinglist.
Inspire 4G // BlackICE
Try compiling for tuna/maguro/panda first
Also, try removing libaudio folder from device folder, and if your device has aosp then try using libaudio from there(assuming you are using device from cm7)
I also face with this error ... Maybe something is wrong in include/media
I'm getting this error for my passion.
Ive gotten a little farther by changing the namespace from android to android_audio_legacy as they did it hardware/libhardware_legacy/include/hardware_legacy/
Has anyone managed to fix this problem yet?
But it will still conpiling. Not a big problem. We can fix this later.
Sent from Xperia X10 Self-modded
I can't even seen to compile for tuna keep getting errors on llvm. I compile cm7 so my builds setup is good. Confused
texasice said:
I'm getting this error for my passion.
Ive gotten a little farther by changing the namespace from android to android_audio_legacy as they did it hardware/libhardware_legacy/include/hardware_legacy/
Click to expand...
Click to collapse
Could you pastebin the modded file or generate an .patch file for your change ?
@up I also face with llvm error Do someone have fixed that issue ?
mikegapinski said:
Could you pastebin the modded file or generate an .patch file for your change ?
@up I also face with llvm error Do someone have fixed that issue ?
Click to expand...
Click to collapse
in AudioHardware.h line 28 change :
Code:
namespace android {
as mentioned to :
Code:
namespace android_audio_legacy {
I tried it myself just by curiosity and it leads to these errors :
Code:
target thumb C++: libaudio <= hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp
In file included from hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:37:
hardware/msm7k/libaudio-qsd8k/AudioHardware.h:318: error: 'Mutex' does not name a type
hardware/msm7k/libaudio-qsd8k/AudioHardware.h:328: error: ISO C++ forbids declaration of 'SortedVector' with no type
hardware/msm7k/libaudio-qsd8k/AudioHardware.h:328: error: expected ';' before '<' token
hardware/msm7k/libaudio-qsd8k/AudioHardware.h:337: error: 'Mutex' does not name a type
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:92: error: 'AudioHardware' has not been declared
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:102: error: 'AudioHardware' has not been declared
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:102: error: ISO C++ forbids declaration of 'AudioHardware' with no type
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp: In function 'int android::AudioHardware()':
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:103: error: only constructors take base initializers
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:109: error: 'TTY_MODE_OFF' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:112: error: 'msm_bt_endpoint' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:112: error: expected primary-expression before ')' token
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:116: error: invalid type in declaration before ';' token
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:118: error: 'doA1026_init' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:124: error: 'mNumBTEndpoints' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:125: error: 'mInit' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:126: error: return-statement with no value, in function returning 'int'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:131: error: return-statement with no value, in function returning 'int'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:158: error: 'mNumBTEndpoints' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:160: error: 'mBTEndpoints' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:160: error: expected type-specifier before 'msm_bt_endpoint'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:160: error: expected ';' before 'msm_bt_endpoint'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:161: error: 'mInit' was not declared in this scope
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:164: error: expected primary-expression before 'int'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:164: error: expected ')' before 'int'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:167: error: return-statement with no value, in function returning 'int'
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:169: error: 'snd_get_bt_endpoint' cannot be used as a function
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:206: error: no return statement in function returning non-void
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp: At global scope:
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:208: error: expected constructor, destructor, or type conversion before '::' token
hardware/msm7k/libaudio-qsd8k/AudioHardware.cpp:2025: error: expected '}' at end of input
make: *** [out/target/product/passion/obj/SHARED_LIBRARIES/libaudio_intermediates/AudioHardware.o] Error 1
Any update on this? I had to add LOCAL_MODULE_TAGS := optional to some of the Android.mk to even reach that far. Faulty code from Google or am I doing something wrong myself?
Ive gotten past this by just removing the libaudio* folders from the Android.mk
It at least results in a system.img for the passion
In hardwark/msm7k/Android.mk
for mine qsd8k
from
Code:
common_msm_dirs := libcopybit liblights libopencorehw librpc libstagefrighthw
msm7k_dirs := $(common_msm_dirs) boot libgralloc libaudio
qsd8k_dirs := $(common_msm_dirs) libgralloc-qsd8k libaudio-qsd8k dspcrashd
msm7x30_dirs := liblights libgralloc-qsd8k librpc libaudio-qdsp5v2
to
Code:
common_msm_dirs := libcopybit liblights libopencorehw librpc libstagefrighthw
msm7k_dirs := $(common_msm_dirs) boot libgralloc libaudio
qsd8k_dirs := $(common_msm_dirs) dspcrashd
msm7x30_dirs := liblights libgralloc-qsd8k librpc libaudio-qdsp5v2
i also removed libgralloc cause it causes the screen to not work.
mikegapinski said:
Could you pastebin the modded file or generate an .patch file for your change ?
@up I also face with llvm error Do someone have fixed that issue ?
Click to expand...
Click to collapse
for go past llvm errors i've excluded -Werror in frameworks/compile/slang/Android.mk (local_cflags_for_slang line)
Fix, er, well, lets it build...
On the libaudio issue in msm7k for ICS:
Okay, after mucking around with it for a bit, it looks like it was an issue with namespaces, and things having the same name. So what I did to get it to compile is I went through and specified everything to use the android_audio_legacy namespace except for the things that needed to be on the android namespace.
I also slapped on a definition for 2 methods that were undefined. I do not know if it will work, but it does build.
My diff is here: http://pastebin.com/iP7FSa0C
Disclaimers:
C++ is not my primary language, actually, its not a language I know much of at all
I have not been able to test it, I can only verify that it builds, which I assume is better than having to remove the makefile.
I pretty much did the same thing as jbcode42
It builds but doesnt work.
http://pastebin.com/JGYBKfSs
I sow that libaudio.so is no more used in ICS i think ... Now it is an module under system/hw ex. audio.primary.goldfish ... We will need to wait for new soruces from CM or CA to get rid of the errors ...
lupohirp said:
for go past llvm errors i've excluded -Werror in frameworks/compile/slang/Android.mk (local_cflags_for_slang line)
Click to expand...
Click to collapse
Thanks for this. Any ideas why that error is coming up? It seems like others have got it to compile without modifications. What is everyone compiling on? I am on Ubuntu 11.10 with GCC 4.6.1

{Help} Kernel Compilation Error

Code:
CC arch/arm/mach-msm/board-msm7627a-camera.o
arch/arm/mach-msm/board-msm7627a-camera.c: In function 'evb_camera_gpio_cfg':
arch/arm/mach-msm/board-msm7627a-camera.c:545: error: 'msm_camera_sensor_ov5647_data' undeclared (first use in this function)
arch/arm/mach-msm/board-msm7627a-camera.c:545: error: (Each undeclared identifier is reported only once
arch/arm/mach-msm/board-msm7627a-camera.c:545: error: for each function it appears in.)
arch/arm/mach-msm/board-msm7627a-camera.c:586: error: 'msm_camera_sensor_ov7692_data' undeclared (first use in this function)
arch/arm/mach-msm/board-msm7627a-camera.c: At top level:
arch/arm/mach-msm/board-msm7627a-camera.c:1051: error: 'msm_camera_sensor_ov8825' undeclared here (not in a function)
arch/arm/mach-msm/board-msm7627a-camera.c: In function 'msm7627a_camera_init':
arch/arm/mach-msm/board-msm7627a-camera.c:1195: error: 'ov7692_cam_req_gpio' undeclared (first use in this function)
arch/arm/mach-msm/board-msm7627a-camera.c:1195: error: request for member 'gpio' in something not a structure or union
arch/arm/mach-msm/board-msm7627a-camera.c:1196: warning: statement with no effect
error, forbidden warning: board-msm7627a-camera.c:1196
make[1]: *** [arch/arm/mach-msm/board-msm7627a-camera.o] Error 1
make: *** [arch/arm/mach-msm] Error 2
make: *** Waiting for unfinished jobs....
Can anyone help ?
check the include files
forumber2 said:
check the include files
Click to expand...
Click to collapse
Can u plz explain it ? I am not able to get u .
Sent from my S100 using Tapatalk HD
Workaround found
I am getting exactly the same error. But I managed a workaround. Use camera.c from ICS kernel.
1. Goto CAF
2. Choose ICS branch
3. Select any kernel
4. Goto kernels arch/arm/mach-msm/camera.c
5. Download it as raw.(there will be raw link along with tree and other links right under project head line)
6. copy it to same location as in above and paste it there. Make sure you make backup of earlier one.
Done. Worked for me. But you know what? I am now stuck at display.c and io.c . Its really hard without documentation....

I got an issue while compiling

Hey guys, sorry if i wasn't supposed to create a thread for this but i am getting this error
Code:
system/core/libion/ion.c: In function 'ion_alloc':
system/core/libion/ion.c:65:3: error: unknown field 'heap_mask' specified in initializer
system/core/libion/ion.c:67:17: warning: initialized field overwritten [-Woverride-init]
system/core/libion/ion.c:67:17: warning: (near initialization for 'data.flags') [-Woverride-init]
system/core/libion/ion.c: In function 'ion_sync_fd':
system/core/libion/ion.c:160:26: error: 'ION_IOC_SYNC' undeclared (first use in this function)
system/core/libion/ion.c:160:26: note: each undeclared identifier is reported only once for each function it appears in
system/core/libion/ion.c:162:1: error: control reaches end of non-void function [-Werror=return-type]
cc1: some warnings being treated as errors
make: *** [out/target/product/glacier/obj/EXECUTABLES/iontest_intermediates/ion.o] Error 1
Thats while compiling CM10.1
I have no idea what is up, i am tearing my hair out over it lol. Thanks in advanced for the help!
THEindian said:
Hey guys, sorry if i wasn't supposed to create a thread for this but i am getting this error
Code:
system/core/libion/ion.c: In function 'ion_alloc':
system/core/libion/ion.c:65:3: error: unknown field 'heap_mask' specified in initializer
system/core/libion/ion.c:67:17: warning: initialized field overwritten [-Woverride-init]
system/core/libion/ion.c:67:17: warning: (near initialization for 'data.flags') [-Woverride-init]
system/core/libion/ion.c: In function 'ion_sync_fd':
system/core/libion/ion.c:160:26: error: 'ION_IOC_SYNC' undeclared (first use in this function)
system/core/libion/ion.c:160:26: note: each undeclared identifier is reported only once for each function it appears in
system/core/libion/ion.c:162:1: error: control reaches end of non-void function [-Werror=return-type]
cc1: some warnings being treated as errors
make: *** [out/target/product/glacier/obj/EXECUTABLES/iontest_intermediates/ion.o] Error 1
Thats while compiling CM10.1
I have no idea what is up, i am tearing my hair out over it lol. Thanks in advanced for the help!
Click to expand...
Click to collapse
bump
anybody?

Compile Problems

Hey guys, I have problems when compiling LiquidSmooth.
I have changed the toolchains to Uber 5.3/6.0.
Then when compiling, I met problems like this:
Code:
In file included from bionic/libc/include/stdatomic.h:156:0,
from system/core/liblog/logd_write.c:25:
bionic/libc/include/uchar.h:41:35: error: unknown type name 'char16_t'
size_t c16rtomb(char* __restrict, char16_t, mbstate_t* __restrict);
^
bionic/libc/include/uchar.h:42:35: error: unknown type name 'char32_t'
size_t c32rtomb(char* __restrict, char32_t, mbstate_t* __restrict);
^
bionic/libc/include/uchar.h:43:17: error: unknown type name 'char16_t'
size_t mbrtoc16(char16_t* __restrict,
^
bionic/libc/include/uchar.h:47:17: error: unknown type name 'char32_t'
size_t mbrtoc32(char32_t* __restrict,
^
In file included from system/core/liblog/logd_write.c:25:0:
bionic/libc/include/stdatomic.h:367:11: error: expected specifier-qualifier-list before 'char16_t'
typedef _Atomic(char16_t) atomic_char16_t;
^
bionic/libc/include/stdatomic.h:368:11: error: expected specifier-qualifier-list before 'char32_t'
typedef _Atomic(char32_t) atomic_char32_t;
^
build/core/binary.mk:801: recipe for target '/home/bbn/bbn/android/LS/out/target/product/m8/obj/STATIC_LIBRARIES/liblog_intermediates/logd_write.o' failed
I think the problem is caused by the change of the toolchain. Can anyone help me?

Categories

Resources