I'm trying to configure and build LMMS from sources following the guide:
https://github.com/LMMS/lmms/wiki/dependencies-windows#windows-msvc
I have
Windows 7 x64
msvc 2019
Qt 5.15.1 both x32 and x64 with Qt Creator 4.13.2
CMake 3.16.1
First, at the end of (I use --triplet x64-windows option)
.\vcpkg install fftw3 libsamplerate libsndfile sdl2 --triplet x64-windows
I get
...
The package fftw3:x64-windows provides CMake targets:
find_package(FFTW3 CONFIG REQUIRED)
target_link_libraries(main PRIVATE FFTW3::fftw3)
find_package(FFTW3f CONFIG REQUIRED)
target_link_libraries(main PRIVATE FFTW3::fftw3f)
find_package(FFTW3l CONFIG REQUIRED)
target_link_libraries(main PRIVATE FFTW3::fftw3l)
The package libsndfile:x64-windows provides CMake targets:
find_package(SndFile CONFIG REQUIRED)
target_link_libraries(main PRIVATE SndFile::sndfile)
The package sdl2:x64-windows provides CMake targets:
find_package(SDL2 CONFIG REQUIRED)
target_link_libraries(main PRIVATE SDL2::SDL2 SDL2::SDL2main)
Do the captions "CONFIG REQUIRED" require some actions from me before the next steps?
As the instruction wrote, I add vcpkg path to the CMAKE_PREFIX_PATH:STRING:
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX};g:\audio_sources\lmms\vcpkg\installed\x64-windows
Then in Qt Creator when opening CMakeLists.txt I get:
Running C:\Program Files\CMake\bin\cmake.exe -S G:/audio_sources/lmms -B C:/Users/Ber/AppData/Local/Temp/QtCreator-IYdlTJ/qtc-cmake-UUUBKujd -GNinja "-DCMAKE_BUILD_TYPE:String=Debug" "-DCMAKE_CXX_COMPILER:STRING=C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe" "-DCMAKE_C_COMPILER:STRING=C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe" "-DCMAKE_PREFIX_PATH:STRING=C:/Qt/5.15.1/msvc2019_64;g:\audio_sources\lmms\vcpkg\installed\x64-windows" "-DQT_QMAKE_EXECUTABLE:STRING=C:/Qt/5.15.1/msvc2019_64/bin/qmake.exe" in C:\Users\Ber\AppData\Local\Temp\QtCreator-IYdlTJ\qtc-cmake-UUUBKujd.
-- The C compiler identification is MSVC 19.27.29110.0
-- The CXX compiler identification is MSVC 19.27.29110.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:15 (CMAKE_POLICY):
The OLD behavior for policy CMP0050 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
CMake Warning at cmake/modules/PluginList.cmake:104 (message):
Compiling with MSVC. The following plugins are not available:
LadspaEffect;zynaddsubfx
Call Stack (most recent call first):
CMakeLists.txt:21 (INCLUDE)
Checking submodules...
-- Skipping plugins/zynaddsubfx/zynaddsubfx matches "plugins/zynaddsubfx/zynaddsubfx" (absent in PLUGIN_LIST)
-- Skipping plugins/LadspaEffect/calf/veal matches "plugins/LadspaEffect/calf/veal" (absent in PLUGIN_LIST)
-- Skipping plugins/LadspaEffect/swh/ladspa matches "plugins/LadspaEffect/swh/ladspa" (absent in PLUGIN_LIST)
-- Skipping plugins/LadspaEffect/tap/tap-plugins matches "plugins/LadspaEffect/tap/tap-plugins" (absent in PLUGIN_LIST)
-- Checking qt5-x11embed...
-- Found src/3rdparty/qt5-x11embed/CMakeLists.txt
-- Checking rpmalloc...
-- Found src/3rdparty/rpmalloc/rpmalloc/configure.py
-- Checking game-music-emu...
-- Found plugins/FreeBoy/game-music-emu/CMakeLists.txt
-- Checking adplug...
-- Found plugins/OpulenZ/adplug/Makefile.am
-- Checking exprtk...
-- Found plugins/Xpressive/exprtk/Makefile
-- Checking weakjack...
-- Found src/3rdparty/weakjack/weakjack/.gitignore
-- Checking mingw-std-threads...
-- Found src/3rdparty/mingw-std-threads/LICENSE
-- Checking wiki...
-- Found doc/wiki/Home.md
-- Checking ringbuffer...
-- Found src/3rdparty/ringbuffer/CMakeLists.txt
-- Checking carla...
-- Found plugins/carlabase/carla/Makefile
-- Done validating submodules.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.24.0.windows.2")
Configuring LMMS
--------------------------
* Project version : 1.2.3-735+gf5d0524b1
* Major version : 1
* Minor version : 2
* Release version : 3
* Stage version : 735+gf5d0524b1
* Build version : 0
*
Optional Version Usage:
--------------------------
* Override version: -DFORCE_VERSION=x.x.x-x
* Ignore Git information: -DFORCE_VERSION=internal
PROCESSOR: AMD64
-- Target host is 64 bit
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - not found
-- Looking for include file semaphore.h
-- Looking for include file semaphore.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file sys/ipc.h
-- Looking for include file sys/ipc.h - not found
-- Looking for include file sys/shm.h
-- Looking for include file sys/shm.h - not found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - not found
-- Looking for include file sys/times.h
-- Looking for include file sys/times.h - not found
-- Looking for include file sched.h
-- Looking for include file sched.h - not found
-- Looking for include file sys/soundcard.h
-- Looking for include file sys/soundcard.h - not found
-- Looking for include file soundcard.h
-- Looking for include file soundcard.h - not found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file sys/ioctl.h
-- Looking for include file sys/ioctl.h - not found
-- Looking for include file ctype.h
-- Looking for include file ctype.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file process.h
-- Looking for include file process.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Found Qt translations in C:/Qt/5.15.1/msvc2019_64/translations
-- Found SndFile: G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/sndfile.lib
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found SDL2: G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/SDL2.lib
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find Lame (missing: LAME_INCLUDE_DIRS LAME_LIBRARIES)
-- Looking for vorbis_bitrate_addblock in vorbis
-- Looking for vorbis_bitrate_addblock in vorbis - not found
-- Found OggVorbis: G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/ogg.lib;G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/vorbis.lib;G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/vorbisfile.lib;G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/vorbisenc.lib
-- Found FFTW: G:/audio_sources/lmms/vcpkg/installed/x64-windows/include
-- Found OpenGL: opengl32
-- Could NOT find FLTK (missing: FLTK_LIBRARIES FLTK_INCLUDE_DIR FLTK_FLUID_EXECUTABLE)
-- Could NOT find Wine (missing: WINE_CXX WINE_LIBRARIES WINE_INCLUDE_DIRS)
-- Found SAMPLERATE: G:/audio_sources/lmms/vcpkg/installed/x64-windows/lib/libsamplerate-0.lib
-- Looking for include file sys/mman.h
-- Looking for include file sys/mman.h - not found
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Bash competion is not supported on this platform.
-- Could NOT find UnixCommands (missing: BASH CP GZIP MV RM TAR)
Installation Summary
--------------------
* Install Directory : C:/Program Files (x86)/lmms
Supported audio interfaces
--------------------------
* ALSA : <not supported on this platform>
* JACK : <not supported on this platform>
* OSS : <not found or not supported on this platform>
* Sndio :
* PortAudio : not found, please install portaudio19-dev (or similar, version >= 1.9) ;if you require PortAudio support
* libsoundio : <disabled in this release>
* PulseAudio : <not supported on this platform>
* SDL : OK, using SDL2
Supported MIDI interfaces
-------------------------
* ALSA : <not supported on this platform>
* OSS : <not found or not supported on this platform>
* Sndio :
* JACK : <not supported on this platform>
* WinMM : OK
* AppleMidi : <not supported on this platform>
Supported file formats for project export
-----------------------------------------
* WAVE : OK
* FLAC : OK
* OGG/VORBIS : OK
* MP3/Lame : not found, please install libmp3lame-dev (or similar)
Optional plugins
----------------
* Lv2 plugins : not found, requires pkg-config
* SUIL for plugin UIs : not found, requires pkg-config
* ZynAddSubFX instrument : not found, please install fltk
* Carla Patchbay & Rack : OK (weak linking enabled)
* SoundFont2 player : not found, libfluidsynth-dev (or similar);is highly recommended
* Stk Mallets : not found, please install libstk0-dev (or similar) ;if you require the Mallets instrument
* VST-instrument hoster : OK
* VST-effect hoster : OK
* CALF LADSPA plugins : OK
* CAPS LADSPA plugins : OK
* CMT LADSPA plugins : OK
* TAP LADSPA plugins : OK
* SWH LADSPA plugins : OK
* GIG player : not found, libgig needed for decoding .gig files
Developer options
-----------------------------------------
* Debug FP exceptions : Disabled
-----------------------------------------------------------------
IMPORTANT:
after installing missing packages, remove CMakeCache.txt before
running cmake again!
-----------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Ber/AppData/Local/Temp/QtCreator-IYdlTJ/qtc-cmake-UUUBKujd
Elapsed time: 00:35.
Among other things, among the messages I see the lines
The following plugins are not available:
LadspaEffect;zynaddsubfx
While there are both LadspaEffect and zynaddsubfx source folders in the plugins dir.
What I am doing wrong?
Whether I really need to install pkg-config in addition to vcpkg ? Can I use pkg-config-lite-0.28-1 ?
Related
I've recently started using the gnatcoll, gnatcoll_sql, gnatcoll_postgres libraries within GNAT GPS Community Edition.
My default.gpr file looks like this..
with "gnatcoll";
with "gnatcoll_postgres";
project Default is
for Source_Dirs use ("src");
for Object_Dir use "obj";
for Main use ("main.adb");
package Compiler is
for Switches ("ada") use ("-gnat12");
end Compiler;
end Default;
My main file looks like this
with gnatcoll.SQL.Postgres; use gnatcoll.SQL.Postgres;
with gnatcoll.SQL.Exec; use gnatcoll.SQL.Exec;
with Ada.Text_IO; use Ada.Text_IO;
procedure Main is
begin
Ada.Text_IO.Put_Line("Test");
end Main;
When I Execute I receive the following error message...
gprbuild -d -P/home/parallels/Documents/Ada Projects/Connect to Database 2/default.gpr -XGNATCOLL_OS=unix -XBUILD=PROD -XXMLADA_BUILD=static -XLIBRARY_TYPE=static -XGNATCOLL_CORE_BUILD=static -XGNATCOLL_BUILD=static /home/parallels/Documents/Ada Projects/Connect to Database 2/src/main.adb
gcc -c -gnat12 main.adb
gnatcoll-sql.ads:747:12: aspect identifier expected
gnatcoll-strings_impl.ads:315:10: aspect identifier expected
gnatcoll-strings_impl.ads:318:52: aspect identifier expected
gnatcoll-strings_impl.ads:393:15: aspect identifier expected
gnatcoll-strings_impl.ads:396:51: aspect identifier expected
gprbuild: *** compilation phase failed
[2020-04-22 09:36:12] process exited with status 4, 6% (1/16), elapsed time: 00.75s
[2020-04-22 10:00:24] Could not locate executable on path: xterm
I'm dubious to attempt to alter this code, as it's within the gnatcoll library. Please can anyone advise me if I should alter the code within gnatcoll-strings_impl.ads & gnatcoll-sql.ads Or is there another solution?
I couldn't include the gnatcoll-strings_impl.ads & gnatcoll-sql.ads files below for reference, as they're too large! Here are some screen shots for reference...
Added 29/04/20
Builder results
/home/parallels/gnatcoll-db/sql/gnatcoll-sql_impl.adb
30:14 warning: license of withed unit "GNATCOLL.Utils" may be inconsistent
/home/parallels/gnatcoll-db/sql/gnatcoll-sql_impl.ads
30:14 warning: license of withed unit "GNATCOLL.Refcount" may be inconsistent
/home/parallels/opt/GNAT/2019/include/gnatcoll/gnatcoll-atomic.ads
38:29 "-" not declared in "Atomic_Counters"
104:37 "=" not declared in "Atomic_Counters"
97:33 ">" not declared in "Atomic_Counters"
35:52 "Atomic_Unsigned" not declared in "Atomic_Counters"
Added 02/05/20
[parallels#localhost ~]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[parallels#localhost ~]$ sudo yum -y install gcc
[sudo] password for parallels:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* epel: mirrors.coreix.net
* extras: mirror.netweaver.uk
* updates: www.mirrorservice.org
Package gcc-4.8.5-39.el7.x86_64 already installed and latest version
Nothing to do
[parallels#localhost ~]$
I must preface this saying I have very little knowledge of Yocto/Bitbake, make, cmake, autoconf, etc.
I have an application, written in C++, that I have been unable to get built. The issue I am having is that I have been unable to get some dependencies built in Yocto/Bitbake. The application has dependencies on the following libraries:
Paho-MQTT (https://github.com/eclipse/paho.mqtt.c.git)
Jansson JSON parser (http://www.digip.org/jansson/releases/jansson-2.10.tar.gz)
Apache QPID C++ (https://www-us.apache.org/dist/qpid/cpp/1.39.0/qpid-cpp-1.39.0.tar.gz)
When running the bitbake recipe for apache qpid, I am receiving the following error:
CMake Error at src/CMakeLists.txt:84 (message):
| Can't find amqp 0-10 spec for framing code generation
I do not have any ideas how to get past this error.
I am running Docker/Yocto on a Macbook and have followed the instructions to get everything installed and running. The application (and dependent libraries) are being compiled for a Multitech Conduit gateway running mLinux version 4.1.6. I followed the instructions at http://www.multitech.net/developer/software/mlinux/mlinux-building-images/building-a-custom-linux-image/ to download and build the default images for mLinux 4.0 and higher.
I could not find an existing recipe for building qpid-cpp-1.39.0. I was able to find a recipe for qpid_0.20 (http://git.yoctoproject.org/cgit/cgit.cgi/meta-cloud-services/tree/meta-openstack/recipes-extended/qpid/qpid_0.20.bb?h=master) that I attempted to modify to support qpid-cpp-1.39.0. When running bitbake against the recipe, I receive the following output:
pokyuser#8c538668c625:/workdir/mlinux-4.x/build$ bitbake qpid-cpp
NOTE: Started PRServer with DBfile: /workdir/mlinux-4.x/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 41127, PID: 10213
Loading cache: 100% |#############################################################################################################################################| Time: 0:00:01
Loaded 2996 entries from dependency cache.
Parsing recipes: 100% |###########################################################################################################################################| Time: 0:00:01
Parsing of 2213 .bb files complete (2207 cached, 6 parsed). 3001 targets, 177 skipped, 0 masked, 0 errors.
WARNING: No bb files matched BBFILE_PATTERN_user '^/workdir/mlinux-4.x/layers/user-layer/'
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.32.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-16.04"
TARGET_SYS = "arm-mlinux-linux-gnueabi"
MACHINE = "mtcdt"
DISTRO = "mlinux"
DISTRO_VERSION = "4.1.7"
TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs"
TARGET_FPU = "soft"
user-layer = "master:c9360c9479287f3ba229c9a37142baa5a22cce67"
meta-mlinux = "HEAD:4a060176a58345749e5907084cf1647f8b8cae23"
meta-multitech = "HEAD:55db4fd0bb04ccaedb10de0b249151a663b0d916"
meta-mono = "HEAD:b8e5da7138c61fb9ade87712a2fc28dc6283ab25"
meta-nodejs = "HEAD:78018dc7dc02b5039a165801d09c00564687a1b6"
meta-java = "HEAD:a265b31ec7d022be254abdf959360a7624208585"
meta-oe
meta-ruby
meta-perl
meta-python
meta-networking
meta-webserver
meta-multimedia
meta-filesystems = "HEAD:fe5c83312de11e80b85680ef237f8acb04b4b26e"
meta = "HEAD:ddf907ca95a19f54785079b4396935273b3747f6"
meta-jansson
meta-paho-mqtt
meta-clearblade-sdk
meta-qpid-cpp = "master:c9360c9479287f3ba229c9a37142baa5a22cce67"
Initialising tasks: 100% |########################################################################################################################################| Time: 0:00:02
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: qpid-cpp-1.39.0-r0 do_configure: Function failed: do_configure (log file is located at /workdir/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/qpid-cpp/1.39.0-r0/temp/log.do_configure.10486)
ERROR: Logfile of failure stored in: /workdir/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/qpid-cpp/1.39.0-r0/temp/log.do_configure.10486
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| -- The C compiler identification is GNU 6.2.0
| -- The CXX compiler identification is GNU 6.2.0
| -- Check for working C compiler: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/arm-mlinux-linux-gnueabi/arm-mlinux-linux-gnueabi-gcc
| -- Check for working C compiler: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/arm-mlinux-linux-gnueabi/arm-mlinux-linux-gnueabi-gcc -- works
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Check for working CXX compiler: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/arm-mlinux-linux-gnueabi/arm-mlinux-linux-gnueabi-g++
| -- Check for working CXX compiler: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/arm-mlinux-linux-gnueabi/arm-mlinux-linux-gnueabi-g++ -- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Build type is "RelWithDebInfo" (has debug symbols)
| -- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.12", minimum required is "2.7")
| -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.12")
| -- Found PkgConfig: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/pkg-config (found version "0.29.1")
| -- Found Ruby: /workdir/mlinux-4.x/build/tmp/sysroots/x86_64-linux/usr/bin/ruby (found version "2.2.0")
| -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
| -- Could NOT find VALGRIND (missing: VALGRIND_EXECUTABLE)
| -- Found CyrusSASL: /workdir/mlinux-4.x/build/tmp/sysroots/mtcdt/usr/lib/libsasl2.so
| CMake Error at src/CMakeLists.txt:84 (message):
| Can't find amqp 0-10 spec for framing code generation
|
|
| -- Configuring incomplete, errors occurred!
| See also "/workdir/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/qpid-cpp/1.39.0-r0/build/CMakeFiles/CMakeOutput.log".
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /workdir/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/qpid-cpp/1.39.0-r0/temp/log.do_configure.10486)
ERROR: Task (/workdir/mlinux-4.x/layers/meta-qpid-cpp/recipes-qpid-cpp/qpid-cpp/qpid-cpp_1.39.0.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1273 tasks of which 1267 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/workdir/mlinux-4.x/layers/meta-qpid-cpp/recipes-qpid-cpp/qpid-cpp/qpid-cpp_1.39.0.bb:do_configure
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
The recipe I used is as follows:
DESCRIPTION = "AMQP message brokers"
HOMEPAGE = "http://qpid.apache.org/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b1e01b26bacfc2232046c90a330332b3"
SECTION = "mq"
DEPENDS = "boost perl-native python util-linux cyrus-sasl"
RDEPENDS_${PN} = "cyrus-sasl-bin"
SRC_URI = "git://github.com/apache/qpid-cpp;protocol=https"
SRCREV = "0f5d21861f6935ed2e4eb6e21f1d3cef19e22aa5"
S = "${WORKDIR}/git"
#S = "${WORKDIR}/${PN}-${PV}"
inherit cmake python-dir perlnative cpan-base update-rc.d pkgconfig ruby
OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
# Env var which tells perl if it should use host (no) or target (yes) settings
export PERLCONFIGTARGET = "${#is_target(d)}"
export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${#get_perl_version(d)}/CORE"
export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${#get_perl_version(d)}"
export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${#get_perl_version(d)}"
export PERL="${STAGING_BINDIR}/perl"
EXTRA_OECONF += " --without-help2man SASL_PASSWD=/usr/sbin/saslpasswd2"
EXTRA_OEMAKE += " CPPFLAGS=-Wno-unused-function \
pyexecdir=${PYTHON_SITEPACKAGES_DIR} \
pythondir=${PYTHON_SITEPACKAGES_DIR} \
"
INITSCRIPT_NAME = "qpidd"
INITSCRIPT_PARAMS = "defaults"
Knowing that I have just started learning Yocto/Bitbake just three days ago, I'm hoping that someone out there can help me determine what the problem is so that I can compile the apache qpid-cpp-1.39.0 library for mLinux.
According to find_file documentation:
The CMake variable CMAKE_FIND_ROOT_PATH specifies one or more
directories to be prepended to all other search directories. This
effectively “re-roots” the entire search under given locations. Paths
which are descendants of the CMAKE_STAGING_PREFIX are excluded from
this re-rooting, because that variable is always a path on the host
system. By default the CMAKE_FIND_ROOT_PATH is empty.
And since cmake called from bitbake environment is effectively a cross-compilation, then this variable should be also ignored. I added a patch files/0001-Qpid-cross-compile.patch, which worked for me:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 82141efdb..3ba403a32 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
## -78,7 +78,7 ## endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows AND BUILD_TESTING)
# rubygen subdir is excluded from stable distributions
# If the main AMQP spec is present, then check if ruby and python are
# present, and if any sources have changed, forcing a re-gen of source code.
-find_file(QPID_AMQP_SPEC NAMES amqp.0-10-qpid-errata.stripped.xml PATHS ${qpid-cpp_SOURCE_DIR}/specs ${qpid-cpp_SOURCE_DIR}/../specs NO_DEFAULT_PATH)
+find_file(QPID_AMQP_SPEC NAMES amqp.0-10-qpid-errata.stripped.xml PATHS ${qpid-cpp_SOURCE_DIR}/specs ${qpid-cpp_SOURCE_DIR}/../specs NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
mark_as_advanced(QPID_AMQP_SPEC)
if (NOT QPID_AMQP_SPEC)
message(FATAL_ERROR "Can't find amqp 0-10 spec for framing code generation")
## -106,7 +106,7 ## else (regen_amqp)
message(STATUS "No need to generate AMQP protocol sources")
endif (regen_amqp)
-find_file(QPID_BROKER_MANAGEMENT_SPEC NAMES management-schema.xml PATHS ${CMAKE_CURRENT_SOURCE_DIR}/qpid/broker ${qpid-cpp_SOURCE_DIR}/../specs NO_DEFAULT_PATH)
+find_file(QPID_BROKER_MANAGEMENT_SPEC NAMES management-schema.xml PATHS ${CMAKE_CURRENT_SOURCE_DIR}/qpid/broker ${qpid-cpp_SOURCE_DIR}/../specs NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
mark_as_advanced(QPID_BROKER_MANAGEMENT_SPEC)
if (NOT QPID_BROKER_MANAGEMENT_SPEC)
message(FATAL_ERROR "Can't find broker management spec for code generation")
I'm trying to work my way through the pyqtdeploy documentation, trying to build the pyqt-demo project.
My system is an Ubuntu 18.04 (fresh installation, up-to-date)
$ uname -a :
Linux sui 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
I'm using pyqtdeploy v. 2.3.
I downloaded every file required by the build(*) but I have a problem with the Qt tarball : I downloaded https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz, not knowing if it was the right file to be used.
... and this is what I got:
$ python3 build-demo.py --verbose --source-dir=[skipped] --installed-qt-dir=[skipped]
[skipped]Creating qmake...
Done.
Info: creating super cache file [skipped]/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.super
Info: creating stash file [skipped]/demo/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.stash
Error: Qt license file was not found!
Note: Also available for Linux: linux-clang linux-icc
ERROR: You are not licensed to use this software.
pyqtdeploy-sysroot: Execution failed: returned exit code 3
I'm 100% sure the qt-*.tar.xz file is found since an message appears, saying that the file is unpacked.
I'm obviously missing something important : should I use a file like qt-everywhere-opensource-src-5.11.1.tar.xz although I can't find such a file ?
Any help would be appreciated !
(*) required tarballs:
python : https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
at https://www.python.org/downloads/release/python-371/
qt : https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz at https://download.qt.io/archive/qt/5.11/5.11.1/single/
openssl : https://www.openssl.org/source/openssl-1.1.1.tar.gz at
https://www.openssl.org/source/
zlib : https://zlib.net/zlib-1.2.11.tar.gz at https://zlib.net/
sip : https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.13/sip-4.19.13.tar.gz at https://riverbankcomputing.com/software/sip/download
PyQt5 : https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.11.3/PyQt5_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt/download5
PyQt3D : https://sourceforge.net/projects/pyqt/files/PyQt3D/PyQt3D-5.11.3/PyQt3D_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt3d/download
PyQtChart : https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.11.3/PyQtChart_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtchart/download
PyQtDataVisualization : https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtDataVisualization-5.11.3/PyQtDataVisualization_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtdatavisualization/download
PyQtPurchasing : https://sourceforge.net/projects/pyqt/files/PyQtPurchasing/PyQtPurchasing-5.11.3/PyQtPurchasing_gpl-5.11.3.tar.gz at
https://www.riverbankcomputing.com/software/pyqtpurchasing/download
QScintilla : https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.8/QScintilla_gpl-2.10.8.tar.gz at https://www.riverbankcomputing.com/software/qscintilla/download
Fixed since pyqtdeploy-2.3.1.dev1811241346. See here for Phil Thomson's answer and here to download the last snapshot.
I am new to Frama-C. I would like to run it under Windows enviroments. My compiler is gcc,mingw.
I have tryied to run same examples from Value Analysis tutorial by I have a problem with library header files.
I've found that it's not possible to run frama-c because restrict keyword. It shows error in string.h file
void * __cdecl memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _Size) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
When I manually add #define restrict to all *.c files in SkeinProject
schneier.com/code/skein_NIST_CD_102610.zip
everything works correcly. By doing it by hand is not what I'm looking for.
Next step was to add argument -D__restrict__
frama-c -cpp-extra-args=-D__restrict__ -main=Init -val SHA3api_ref.c
[kernel] preprocessing with "gcc -C -E -I. -D__restrict__ SHA3api_ref.c"
../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/string.h:41:[kernel] user error: syntax error
[kernel] user error: skipping file "SHA3api_ref.c" that has errors.
[kernel] Frama-C aborted because of an invalid user input.
I've also generated precompiled *.i files but error still the same.
gcc -E -D__restrict__ SHA3api_ref.c >SHA3api_ref.i
frama-c -main=Init -val SHA3api_ref.i
../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/string.h:41:[kernel] user error: syntax error
[kernel] user error: skipping file "SHA3api_ref.i" that has errors.
[kernel] Frama-C aborted because of an invalid user input.
What can I do with it?
Your system headers contain non-standard syntax extensions that are not supported by Frama-C. This is normal, as the headers are often provided as part of a complete package with the compiler, so the headers and the compiler only need to work together, not to work with all the other programs that take C source code as input.
Generally speaking, you should always use the headers provided with Frama-C
instead of those from your system.
When using GCC or a compatible compiler such as Clang, this involves
passing the pre-processor the options -nostdinc and -I... where ...
stands for the place where Frama-C's headers were installed. This
location can be obtained from Frama-C with the option -print-share-path.
All in all, on a Unix system, it may look like:
frama-c -cpp-extra-args=-nostdinc -cpp-extra-args=-I`frama-c -print-share-path`/libc .....
Doing the same thing with Windows and MinGW follows the same idea but sometimes involves extra trouble due to the perpetual ambiguity between \ and / as directory separators.
Recently, Frank Dordowsky has been having trouble with using a very new GCC version to pre-process C files for Frama-C. That was only when using -pp-annot, but in any case, the solution was to switch to Clang as pre-processor.
Following some hello world with qt and cmake, this is my fold structure:
CMakeLists.txt
main.cpp
ui/mainwindow.ui
src/mainwindow.cpp
include/mainwindow.h
and this is CMakeList.txt:
cmake_minimum_required (VERSION 2.8)
# Project
set(PROJECTNAME "Hello")
project(${PROJECTNAME} C CXX)
set(${PROJECTNAME}_MAJOR_VERSION 0)
set(${PROJECTNAME}_MINOR_VERSION 1)
# qt
find_package(Qt4 REQUIRED)
set (QT_USE_QTMAIN TRUE)
include (${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
# compilers
#set(CMAKE_CXX_FLAGS "-Wall -std=gnu++0x")
# files
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(src)
include_directories(include)
set(${PROJECTNAME}_SOURCES
main.cpp
src/mainwindow.cpp
)
set(${PROJECTNAME}_HEADERS
include/mainwindow.h
)
set(${PROJECTNAME}_HEADERS_MOC
include/mainwindow.h
)
set(${PROJECTNAME}_FORMS
ui/mainwindow.ui
)
QT4_WRAP_CPP(${PROJECTNAME}_HEADERS_MOC ${${PROJECTNAME}_HEADERS_MOC})
QT4_WRAP_UI(${PROJECTNAME}_FORMS_HEADERS ${${PROJECTNAME}_FORMS})
QT4_ADD_RESOURCES(${PROJECTNAME}_RESOURCES_RCC ${${PROJECTNAME}_RESOURCES})
# executables and installation
add_executable (
${${PROJECTNAME}_HEADERS}
${${PROJECTNAME}_SOURCES}
${${PROJECTNAME}_HEADERS_MOC}
${${PROJECTNAME}_FORMS_HEADERS}
)
target_link_libraries(${PROJECTNAME} ${QT_LIBRARIES})
tried different ways of add target_link_libraries but still get:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt4: /usr/bin/qmake (found version "4.8.1")
CMake Error at CMakeLists.txt:61 (target_link_libraries):
Cannot specify link libraries for target "Hello" which is not built by
this project.
-- Configuring incomplete, errors occurred!
You are missing the target name as the first parameter to add_executable.
add_executable(
${PROJECTNAME}
${${PROJECTNAME}_HEADERS}
${${PROJECTNAME}_SOURCES}
${${PROJECTNAME}_HEADERS_MOC}
${${PROJECTNAME}_FORMS_HEADERS}
)