Jump to content

Can't compile uGFX for framebuffer Linux


dossakab

Recommended Posts

Hello everybody. I'm trying to build uFGX for ARM device. I have 2 folders - hello_world(my project) with this simple makefile: 

# Possible Targets:	all clean Debug cleanDebug Release cleanRelease

##############################################################################################
# Settings
#

# General settings
	# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the list of variables
	OPT_OS					= linux
	OPT_LINK_OPTIMIZE		= yes
	# Change this next setting (or add the explicit compiler flags) if you are not compiling for x86 linux
	OPT_CPU					= armv6

# uGFX settings
	# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the list of variables
	GFXLIB					= ~/Documents/projects/resources/ugfx
	GFXBOARD				= Linux-Framebuffer
	GFXDEMO					= applications/mandelbrot

# Linux settings
	# See $(GFXLIB)/tools/gmake_scripts/os_linux.mk for the list of variables

##############################################################################################
# Set these for your project
#
ARCH     = arm-linux-gnueabi-
SRCFLAGS = 
CFLAGS   =
CXXFLAGS =
ASFLAGS  =
LDFLAGS  =

SRC      =
OBJS     =
DEFS     =
LIBS     =
INCPATH  =
LIBPATH  =

##############################################################################################
# These should be at the end
#

include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
include $(GFXLIB)/tools/gmake_scripts/os_$(OPT_OS).mk
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
# *** EOF ***


and resources/ugfx(source codes of ugfx). When I've started building, I've got this message(in the attachments). So what is it? Where this file needs to be?

 

Screenshot from 2017-02-02 16-48-19.png

Link to comment
Share on other sites

Ohh, I wrote it too early) When I've tried launch this app on device, I've receive this message:
 

# ./hello_world
./hello_world: /lib/libc.so.6: version `GLIBC_2.17' not found (required by ./hello_world)

Where is the problem - at the host, or at the device?

Link to comment
Share on other sites

That message means that the version of the c library on your development machine is not available on your target machine.

Make sure glibc v2.17 is available on your target machine or instead compile for the older version of c library available on your target.

Unfortunately i can't give you more explicit instructions than that. There are plenty of linux forums where you can ask those questions, or maybe another user here can help.

Link to comment
Share on other sites

  • 3 weeks later...

Hi All,

Maybe I should start the new topic but ma setup is very similar and I have a building problem as well.

I'm trying to make the first step and familiarize myself with uGFX but I can't build the basics demo without errors. My Host OS is Ubuntu 16.4 and target is OPOS6UL board (ARM Cortex-A9). Please find attached building log and makefile. Would be great if somebody could help me in this case so I can make a progress.

Thanks in advance,

 

building log.odt

Makefile

Link to comment
Share on other sites

It looks like a problem with your cross compiler. The compiled code seems to be using a different c calling convention to the c library.

Run some test cross compiles with simple hello world programs first to make sure your cross compiler is working. Also try it using the same compiler flags uGFX uses (that's why each uGFX compile prints the options first).

You can also try compiling uGFX for your host machine. That will at least demonstrate that uGFX works.

Note it is very important to do a "make clean" between each change in platform or options.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...