How to build libXrender - linux

I get an error when configuring the libXrender package
checking for RENDER... configure: error: Package requirements (x11 renderproto >= 0.9) were not met:
No package 'x11' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables RENDER_CFLAGS
and RENDER_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
my configure is
./configure --prefix=/tmp/instigate-software/gnu_system/3.2/x86_64/
but when I write echo $PKG_CONFIG_PATH I get
/tmp/instigate-software/gnu_system/3.2/x86_64/lib/pkgconfig
this is what is contained in the pkgconfig folder
ls /tmp/instigate-software/gnu_system/3.2/x86_64/lib/pkgconfig/
bigreqsproto.pc freetype2.pc libpng16.pc mpfr.pc recordproto.pc videoproto.pc xcb-proto.pc xcb-sync.pc xcb-xv.pc
binutils.pc gettext.pc libpng.pc ncurses.pc renderproto.pc xau.pc xcb-randr.pc xcb-xevie.pc xcmiscproto.pc
bison.pc glproto.pc libtiff-4.pc pciaccess.pc resourceproto.pc xcb-composite.pc xcb-record.pc xcb-xf86dri.pc xdmcp.pc
compositeproto.pc gmp.pc libxcb.pc pixman-1.pc scrnsaverproto.pc xcb-damage.pc xcb-render.pc xcb-xfixes.pc xextproto.pc
damageproto.pc ice.pc libXdmcp.pc pthread-stubs.pc sigc++-2.0.pc xcb-dpms.pc xcb-res.pc xcb-xinerama.pc xf86driproto.pc
expat.pc inputproto.pc libxml-2.0.pc python-2.7.pc sm.pc xcb-dri2.pc xcb-screensaver.pc xcb-xprint.pc xineramaproto.pc
fixesproto.pc kbproto.pc libxslt.pc python.pc stdc++.pc xcb-glx.pc xcb-shape.pc xcb-xtest.pc xproto.pc
fontsproto.pc libexslt.pc m4.pc randrproto.pc tiff.pc xcb.pc xcb-shm.pc xcb-xvmc.pc zlib.pc
and this is what is contained in the renderproto.pc file
prefix=/tmp/instigate-software/gnu_system/3.2/x86_64
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: RenderProto
Description: Render extension headers
Version: 0.11
Cflags: -I${includedir}
from what can it be ?

Related

Yocto Bitbake doesn't include kernel config fragment in build

I am currently trying to setup docker on my yocto (thud - 2.6) project. For that, I need to enable some kernel configuration.
The problem is that the kernel config fragment is not included in the build.
To include the config fragment I created a custom layer with the following structure
meta-edge_controller
|__conf
| |__layer.conf
|__recipes-kernel
|__linux
|__linux-intel
| |__docker_required.cfg
|__linux-intel_4.14.bbappend
linux-intel_4.14.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URL += "file://docker_required.cfg"
docker_required.cfg
CONFIG_CGROUP_DEVICE=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_TABLES=y
CONFIG_NF_NAT=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_IP_VS=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_BTRFS_FS=y
CONFIG_OVERLAY_FS=y
I am builing for an Intel based Board (Atom E3940) and I have integrated the meta-intel layer, using the machine type "intel-corei7-64".
How can I further debug or investigate why bitbake doesn't include the kernel config fragment?
I also tried rebuilding the kernel manually: bitbake -c cleanall linux-intel and bitbake linux-intel
I see a typo in your snippet. SRC_URL should be SRC_URI instead. More info here.

How to put an extra file in the kernel image by yocto

I have a trouble of putting my initramfs.cpio in my kernel image by yocto.
I have two bb files, one is used to build an initramfs, and the other one is used to build a fitimage.
I successful to build the fitimage bundled with my initramfs image.
But it always failed to build a fitImage that has an initramfs.cpio.gz in the /usr directory in the fitImage.
( I mean, I want to see a file named initramfs.cpio in the /usr when I use my fitImage booting to console )
====================================================================
Here are my error message..
ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: QA Issue: linux-mine: Files/directories were installed but not shipped in any package:
/usr
/usr/initramfs-mine-qemu.cpio
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
linux-mine: 2 installed and not shipped files. [installed-vs-shipped]
ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: Fatal QA errors found, failing task.
ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/paul/projects/Test/yocto/build/tmp/work/mine-poky-linux-gnueabi/linux-mine/1_4.9.27+gitAUTOINC+d87116e608-r0/temp/log.do_package.26149
ERROR: Task (/home/paul/projects/Test/yocto/yocto-2.2/poky/../meta-mine/recipes-kernel/linux/linux-mine_4.9.bb:do_package) failed with exit code '1'
====================================================================
Here is my kernel image bb file
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
LINUX_VERSION ?= "4.9.27"
SRCREV = "d87116e608e94ad684b5e94d46c892e33b9e2d78"
SRC_URI = "git://local/kernel;protocol=ssh;branch=master"
#FILES_${PN} += "/usr /usr/initramfs-mine-${MACHINE_ARCH}.cpio"
#FILES_${PN}-${PV} += "/usr /usr/initramfs-mine-${MACHINE_ARCH}.cpio"
#IMAGE_INSTALL = "initramfs-mine"
do_install_append () {
echo "WangPaul : S=[${S}]"
echo "WangPaul : B=[${B}]"
echo "WangPaul : D=[${D}]"
install -d ${D}/usr/
install -m 0444 ${B}/usr/initramfs-mine-${MACHINE_ARCH}.cpio ${D}/usr/
}
====================================================================
Here is my initramfs bb file
LICENSE = "GPLv2"
PACKAGE_INSTALL = "initramfs-live-boot ${VIRTUAL-RUNTIME_base-utils} udev ${ROOTFS_BOOTSTRAP_INSTALL}"
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
inherit core-image
====================================================================
I have found similar questions:
Ship extra files in kernel module recipe and
An example of using FILES_${PN}
The way in aboves discussion are not work...
Any information would be appreciate !!
Thanks !!
The error seems to QA issues it means the source is compiled but not adding to rootfs. Add below line to yourkernel-image.bb. it will solve the issue.
FILES_${PN} += "${exec_prefix}/*"
Note: may be In your kernel.bb file you have given wrong format

CPM failed to get the hash for HEAD

I'm trying to use CMake for the following CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)
#-----------------------------------------------------------------------
# CPM configuration
#-----------------------------------------------------------------------
set(CPM_MODULE_NAME "arc_ball")
set(CPM_LIB_TARGET_NAME ${CPM_MODULE_NAME})
if ((DEFINED CPM_DIR) AND (DEFINED CPM_UNIQUE_ID) AND (DEFINED CPM_TARGET_NAME))
set(CPM_LIB_TARGET_NAME ${CPM_TARGET_NAME})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CPM_DIR})
include(CPM)
else()
set (CPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpm-packages" CACHE TYPE STRING)
find_package(Git)
if(NOT GIT_FOUND)
message(FATAL_ERROR "CPM requires Git.")
endif()
if (NOT EXISTS ${CPM_DIR}/CPM.cmake)
message(STATUS "Cloning repo (https://github.com/iauns/cpm)")
execute_process(
COMMAND "${GIT_EXECUTABLE}" clone git#github.com:iauns/cpm.git ${CPM_DIR}
RESULT_VARIABLE error_code
OUTPUT_QUIET ERROR_QUIET)
if(error_code)
message(FATAL_ERROR "CPM failed to get the hash for HEAD")
endif()
endif()
include(${CPM_DIR}/CPM.cmake)
endif()
#-----------------------------------------------------------------------
# CPM Modules
#-----------------------------------------------------------------------
# ++ MODULE: GLM
CPM_AddModule("GLM"
GIT_REPOSITORY "https://github.com/iauns/cpm-glm"
GIT_TAG "1.0.2"
USE_EXISTING_VER TRUE
EXPORT_MODULE TRUE # Use EXPORT_MODULE sparingly. We expose GLM's interface
) # through our own interface hence why we export it.
# This call will ensure all include directories and definitions are present
# in the target. These correspond to the modules that we added above.
CPM_InitModule(${CPM_MODULE_NAME})
#-----------------------------------------------------------------------
# Source
#-----------------------------------------------------------------------
# Globbing has some downsides, but the advantages outweigh the
# disadvantages.
file (GLOB Sources
"arc-ball/*.cpp"
"arc-ball/*.hpp"
)
#-----------------------------------------------------------------------
# Library setup
#-----------------------------------------------------------------------
# Build the library.
add_library(${CPM_LIB_TARGET_NAME} ${Sources})
if (NOT EMSCRIPTEN AND CPM_LIBRARIES)
target_link_libraries(${CPM_LIB_TARGET_NAME} ${CPM_LIBRARIES})
endif()
My system is windows 8.1 and I'm using Visual Studio 11 2012 as a generator. However when I try to configure, I get the following error:
CMake Error at
CMakeLists.txt:26 (message):
CPM failed to get the hash for HEAD
Meaning that it's happening on that line:COMMAND "${GIT_EXECUTABLE}" clone git#github.com:iauns/cpm.git ${CPM_DIR}
Would anyone know why?
Thanks in advance for the help.

rpmbuild Requires(rpmlib) - custom rpm

I was trying to build an rpm of some scripts and settings we would to easily distribute internally. I was able to build an RPM just file with a test file and jboss but when doing it with this set of files I am getting a Requires(rpmlib) error (full output below) ; I've tried searching for any missing dependencies but the files in the folders to be placed in the root doesn't require anything. Any suggestions?
rpmbuild -bb siscripts.spec
Processing files: SIScripts-1-1.noarch
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
perl(File::stat) perl(HTML::Template) perl(MIME::Lite) perl(Net::Ping) perl(String::MkPasswd) perl(Term::ANSIScreen) perl(Term::ReadLine) perl(Unix::PasswdFile) perl(strict)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/SIScripts-1-1.x86_64
warning: Could not canonicalize hostname: repo.local
Wrote: /root/rpmbuild/RPMS/noarch/SIScripts-1-1.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.QUQOX3
+ umask 022
+ cd /root/rpmbuild/BUILD
+ /bin/rm -rf /root/rpmbuild/BUILDROOT/SIScripts-1-1.x86_64
+ exit 0
The message
warning: Could not canonicalize hostname: repo.local
just means that the host name could not be looked up.
RPM adds a tag with the host FQDN and a time stamp to every package.
Simply adding an entry in /etc/hosts for "repo.local" will eliminate
the warning.
All the rpm lib dependencies look correct.

Update variables within makefile label

I have C++ static libraries and executable that uses them, each one is in a seperate folder. Each such project can be built in Debug or Release configuration, when the files hierarchy is like the following:
Static_Lib1\Debug\staticlib1.a
Static_Lib1\Release\staticlib1.a
//same for all other static libraries
Executable\Debug\executable
Executable\Release\executable
All Debug and Release folders contain makefiles.
I'm trying to write an external makefile to call each one of the internal projects, using the selected configuration - debug or release.
So, I tried something like:
CFG= #empty declaration
PROJECTS=Static_Lib1 Static_Lib2 ... Executable
all:
release #default config is release
release:
CFG = Release
make build-all
debug:
CFG = Debug
make build-all
build-all:
make clean
$(foreach projectName, $(PROJECTS), cd $(projectName)/$(CFG) && make all;)
But I get this output when trying, for example, to run make debug:
CFG = Debug
make: CFG: Command not found
make: *** [debug] Error 127
How can I fix this?
My OS is SLED 11x64.
Thank you in advance!
Change it to:
...
release:
make CFG=Release build-all
debug:
make CFG=Debug build-all
...

Resources