Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linking problem #28

Open
MichaelYankin opened this issue May 22, 2024 · 6 comments
Open

Linking problem #28

MichaelYankin opened this issue May 22, 2024 · 6 comments
Assignees
Labels

Comments

@MichaelYankin
Copy link

Hello! I've come across linking problems while trying to compile your library :(

First error was caused by uninitialized two structures "huffman_tree" in sgfx_upng.c
After I've fixed this error, I tried to build the library by following readme tutorial:
$ cd sgfx
$ mkdir build
$ cmake CMakeLists.txt -Bbuild -GNinja
$ cmake --build build

It gave me the following errors:
/usr/bin/ld: src/CMakeFiles/sgfx.dir/core/sgfx_font.c.o:(.bss+0x8): redefinition of «m_bfcs»; src/CMakeFiles/sgfx.dir/utils/sgfx_config.c.o:(.bss+0x0): defined here first
/usr/bin/ld: src/CMakeFiles/sgfx.dir/core/sgfx_event.c.o:(.bss+0x8): redefinition of «m_sgfs»; src/CMakeFiles/sgfx.dir/core/sgfx.c.o:(.bss+0x0): defined here first
/usr/bin/ld: src/CMakeFiles/sgfx.dir/core/sgfx_event.c.o:(.bss+0x10): redefinition of «m_bfcs»; src/CMakeFiles/sgfx.dir/utils/sgfx_config.c.o:(.bss+0x0): defined here first
etc.

I'm using gcc (Ubuntu 12.3.0-1ubuntu1~22.04), cmake & Ninja packages are up-to-date.
Same error is occuring while I try to link this library with custom toolchain.
My project looks like this:
-Project
-- libs / sgfx
-- display service / CMakeLists.txt

In the CMakeLists for the project sgfx is included as library and as subdirectory.
Toolchain is for the target platform with linux-lichee-5.2.0. Compiler: arm-buildroot-linux-uclibcgnueabihf-gcc.br_real (Buildroot 2022.02-168-g7d00d9f50f) 11.2.0
Project is for v3s board, and I want to use this library to make use of monochrome oled display connected to this board.
I was very happy when I found it, as my task is utilize framebuffer and only use text and simple primitives. Unfortunately, can't compile it :(

If you need more specific information, I'll be happy to provide it.

@rprata
Copy link
Owner

rprata commented May 22, 2024

For cross compile you need to create a toolchain cmake file (https://github.com/rprata/sgfx/tree/master/toolchains):

$ cd sgfx
$ mkdir build
$ cmake CMakeLists.txt -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=toolchains/<toolchain_file>.cmake
$ cmake --build build

Now, we don't support this architecture.. however can you provide this toolchain? If you will use this in your project I can help you to port sgfx for this arch. Feel free to contribute with sfgx project too.

@rprata rprata added the bug label May 22, 2024
@rprata rprata self-assigned this May 22, 2024
@MichaelYankin
Copy link
Author

For cross compile you need to create a toolchain cmake file (https://github.com/rprata/sgfx/tree/master/toolchains):

$ cd sgfx
$ mkdir build
$ cmake CMakeLists.txt -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=toolchains/<toolchain_file>.cmake
$ cmake --build build

Now, we don't support this architecture.. however can you provide this toolchain? If you will use this in your project I can help you to port sgfx for this arch. Feel free to contribute with sfgx project too.

Thank you so much, your help will be very appreciated.
I've tried "cmake CMakeLists.txt -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=toolchains/<toolchain_file>.cmake" for my toolchain.

The attached file is a toolchain cmake file (renamed to .txt to attach here).
toolchainfile.txt
As you can see there, it's for arm architecture, gcc version is 11.2.0.

@rprata
Copy link
Owner

rprata commented May 22, 2024

@MichaelYankin do you have the download link to this:
Toolchain is for the target platform with linux-lichee-5.2.0. Compiler: arm-buildroot-linux-uclibcgnueabihf-gcc.br_real (Buildroot 2022.02-168-g7d00d9f50f) 11.2.0

@MichaelYankin
Copy link
Author

If I understand you correctly, it's there:
https://lore.kernel.org/buildroot/874jqhxbnr.fsf@dell.be.48ers.dk/T/

@rprata
Copy link
Owner

rprata commented May 22, 2024

I'm trying generate toolchain using this tutorial: https://www.kancloud.cn/zepan/zero_tutorial/342701. So, I'm using origin/zero-5.2.y branch. However build failed. Please, confirm how can I generate toolchain (compilers, etc) to work in my side:

/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x20): multiple definition of yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here`

@MichaelYankin
Copy link
Author

MichaelYankin commented May 23, 2024

Please, confirm how can I generate toolchain (compilers, etc) to work in my side:

Hey. Sorry, unfortunately, I'm not the one who started this project in my company, I'm one of the programmers, who work with SW for the board, not responsible for other things.

However, if it helps, it's Allwinner v3s processsor, linux lichee kernel v. 5.2.0.
Source of the project is in these repos: https://github.com/Lichee-Pi
Maybe this one will help you too: https://github.com/topics/v3s

Thank you for your patience and enthusiasm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants