[FR] Support desktop Linux on aarch64/arm (#error Unknown Linux architecture in app_common.cc)
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 85/100
- Tipo de issue
- Funcionalidade
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- cpp, linux
- Domínio
- build-system, operating-systems
Direção de pesquisa
Comece em app/src/app_common.cc, no branch Linux kCpuArchitecture, e inspecione como o valor é usado para o registro de bibliotecas e o user-agent. Verifique a nomenclatura ARM existente no mesmo arquivo e, em seguida, compile o C++ SDK com toolchains Linux para aarch64 e ARM de 32 bits. Está concluído quando esses alvos não pararem mais devido ao erro de arquitetura desconhecida.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Feature proposal
- Firebase Component: Core (App)
Support desktop Linux on aarch64 and 32-bit ARM.
Use case: we run the C++ SDK (Auth, Realtime Database, Remote Config) on an embedded aarch64 Linux board, cross-compiled from x86_64 with a Buildroot GCC toolchain. The SDK builds and runs there with one change. Without it, the build stops in app/src/app_common.cc (v12.8.0, unchanged on main), because the Linux branch that defines kCpuArchitecture only knows x86 and x86_64:
#if __amd64__
const char* kCpuArchitecture = "x86_64";
#elif __i386__
const char* kCpuArchitecture = "x86";
#else
#error Unknown Linux architecture.
#endif // Architecture
The value is only used for the fire-cpp-arch library registration (the user-agent), and the other platforms in the same file already name ARM ("arm64", "arm32"). So ARM Linux is blocked by this one #error, not by anything that depends on the architecture.
Proposed change, matching those names:
#if __amd64__
const char* kCpuArchitecture = "x86_64";
#elif __i386__
const char* kCpuArchitecture = "x86";
#elif __aarch64__
const char* kCpuArchitecture = "arm64";
#elif __arm__
const char* kCpuArchitecture = "arm32";
#else
#error Unknown Linux architecture.
#endif // Architecture
With this change, Auth, Realtime Database and Remote Config build and run on aarch64 Linux for us. Happy to open a PR.
Related: #1508 (Linux cross-compilation / Yocto support).
- Linguagem predominante
- C++
- Estrelas
- 326
- Forks
- 137
- Merge médio
- 1d 22h
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de firebase/firebase-cpp-sdk
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
firebase/firebase-cpp-sdk#1905 · 2 comentários ·
Mantenedores costumam responder em até 2 dias
-
[Database][Android] SIGSEGV in Database::DeleteInternal when embedded bridge-class init fails; FindClassInFiles passes JNI-form names to loadClass on AndroidTalvez já em andamento @AlekseyAzarov assumiu há 1 dia. Aberta
Dificuldade 3/5 Meio dia Facilidade para iniciantes 55/100
firebase/firebase-cpp-sdk#1936 · 3 comentários ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
firebase/firebase-cpp-sdk#1935 ·
Mantenedores costumam responder em até 2 dias
-
[Bug] Desktop Auth token refresh ignores UseEmulator() and targets productionTalvez já em andamento @AustinBenoit assumiu há 11 dias. Abertaapi: auth type: bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
firebase/firebase-cpp-sdk#1934 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
api: firestore
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
firebase/firebase-cpp-sdk#1920 · 3 comentários ·
Mantenedores costumam responder em até 2 dias
Todas as issues de firebase/firebase-cpp-sdk
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
KhronosGroup/Vulkan-Tutorial#534 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 2 dias
-
bug IO
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
MrNeRF/LichtFeld-Studio#3824 ·
Mantenedores costumam responder em até 1 dia
-
pnnx: manual tanh GELU fusion loses the approximation modeTalvez já em andamento @ktz03 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Tencent/ncnn#7175 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
throneproj/Throne#2043 ·
Mantenedores costumam responder em até 2 dias