installing pango-1.36 on CentOS 5 - cairo

I'm trying to install pango-1.36 on a CentOS 5 sever where I do not have root access and therefore must install to a non-standard location. I have downloaded the source code, but when I attempt to run ./configure I get the following error message:
checking which cairo font backends could be used... none
configure: Disabling cairo support
configure: error: *** Could not enable any backends.
*** Must have at least one backend to build Pango.
When I dig into the config.log, I see this:
configure:18613: $PKG_CONFIG --exists --print-errors "cairo-quartz-font >= $cairo_required"
Package cairo-quartz-font was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo-quartz-font.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo-quartz-font' found
configure:18616: $? = 1
configure:18631: checking which cairo font backends could be used
configure:18640: result: none
configure:18642: Disabling cairo support
configure:18793: error: *** Could not enable any backends.
*** Must have at least one backend to build Pango.
I'm not sure why pango is requiring cairo-quartz-font specifically. When I installed cairo I enabled Fontconfig, and that seemed to work:
# in cairo source directory
./configure --prefix=/some/custom/path --enable-fc
# lots of output, just showing summary
cairo (version 1.14.2 [release]) will be compiled with:
The following surface backends:
Image: yes (always builtin)
Recording: yes (always builtin)
Observer: yes (always builtin)
Mime: yes (always builtin)
Tee: no (disabled, use --enable-tee to enable)
XML: no (disabled, use --enable-xml to enable)
Skia: no (disabled, use --enable-skia to enable)
Xlib: yes
Xlib Xrender: yes
Qt: no (disabled, use --enable-qt to enable)
Quartz: no (requires CoreGraphics framework)
Quartz-image: no (disabled, use --enable-quartz-image to enable)
XCB: no (requires xcb >= 1.6 xcb-render >= 1.6 http://xcb.freedesktop.org)
Win32: no (requires a Win32 platform)
OS2: no (disabled, use --enable-os2 to enable)
CairoScript: yes
PostScript: yes
PDF: yes
SVG: yes
OpenGL: no (disabled, use --enable-gl to enable)
OpenGL ES 2.0: no (disabled, use --enable-glesv2 to enable)
BeOS: no (disabled, use --enable-beos to enable)
DirectFB: no (disabled, use --enable-directfb to enable)
OpenVG: no (disabled, use --enable-vg to enable)
DRM: no (disabled, use --enable-drm to enable)
Cogl: no (disabled, use --enable-cogl to enable)
The following font backends:
User: yes (always builtin)
FreeType: yes
Fontconfig: yes
Win32: no (requires a Win32 platform)
Quartz: no (requires CoreGraphics framework)
The following functions:
PNG functions: yes
GLX functions: no (not required by any backend)
WGL functions: no (not required by any backend)
EGL functions: no (not required by any backend)
X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
XCB-shm functions: no (requires --enable-xcb)
The following features and utilities:
cairo-trace: yes
cairo-script-interpreter: yes
And the following internal features:
pthread: yes
gtk-doc: no
gcov support: no
symbol-lookup: no (requires bfd)
test surfaces: no (disabled, use --enable-test-surfaces to enable)
ps testing: no (requires libspectre)
pdf testing: no (requires poppler-glib >= 0.17.4)
svg testing: no (requires librsvg-2.0 >= 2.35.0)
So it seems like cairo has a couple different font backends, including Fontconfig, enabled. Does pango need cairo-quartz-font specifically? Is there a way I can get it to use Fontconfig as well? Any help would be much appreciated and please let me know if there's additional information I can provide. Thanks a lot.

For Debian and Debian derivatives including Ubuntu:
sudo apt-get install libcairo2-dev
For Fedora:
sudo yum install cairo-devel
For openSUSE:
zypper install cairo-devel

Related

Building MongoDB C Driver in Windows

What I did so far
I read the installation guide.
Installed OpenSSL library for Windows after downloading a setup file.
Downloaded and extracted a Mongo C Driver directory from GitHub.
Installed CMake for Windows after downloading from CMake web site.
Went to mongo-c-driver/src/libbson and run cmake -G "Visual Studio 14 2015 Win64" and it prints (maybe) success.
D:\works\test\mongo-c-driver\src\libbson>cmake -G "Visual Studio 14 2015 Win64"
Current version (from VERSION_CURRENT file): 1.4.0-dev
Previous release (from VERSION_RELEASED file): 1.3.5
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for _set_output_format
-- Looking for _set_output_format - not found
-- Performing Test BSON_HAVE_TIMESPEC
-- Performing Test BSON_HAVE_TIMESPEC - Success
-- struct timespec found
-- Configuring done
-- Generating done
-- Build files have been written to: D:/works/test/mongo-c-driver/src/libbson
Executed msbuild ALL_BUILD.vcxproj and prints the success.
The problem
Went to mongo-c-driver and run `cmake -G "Visual Studio 14 2015 Win64" and prints errors like this.
-- Found BSON: BSON-NOTFOUND;ws2_32
-- Found OpenSSL: optimized;D:/apps/OpenSSL-Win64/lib/VC/ssleay32MD.lib;debug;D:/apps/OpenSSL-Win64/lib/VC/ssleay32MDd.lib;optimized;D:/apps/OpenSSL-Win64/lib/VC/libeay32MD.lib;debug;D:/apps/OpenSSL-Win64/lib/VC/libeay32MDd.lib (found version "1.0.2h")
-- Searching for sasl/sasl.h
-- Not found (specify -DCMAKE_INCLUDE_PATH=C:/path/to/sasl/include for SASL support)
-- Searching for libsasl2
-- Not found (specify -DCMAKE_LIBRARY_PATH=C:/path/to/sasl/lib for SASL support)
-- Configuring incomplete, errors occurred!
See also "D:/works/test/mongo-c-driver/CMakeFiles/CMakeOutput.log".
I looked for sasl.h from my disks but there is none. I also looked for it from OpenSSL GitHub but it does not have sasl.h
I downloaded and opened cyrus-sasl from here, but I am stuck with it. I don't know what to do with it.
How can I do the successful build of MongoDB C Driver?
It appears that the libsasl2 port to Windows is not complete. Although I did ultimately get libsasl to compile, there was no libsasl2 produced. It appears that SASL is used by MongoDB C Driver for Kerberos. I don't know if they have tried to get Kerberos working with the C Driver on Windows without a port of the libsasl2 library.
I was, however, able to get the MongoDB C Driver to ultimately compile. I initially tried to compile using subdirectories of C:\, as opposed to C:\mongo-c-driver etc., but that didn't work well, but when I compiled using the directory structure in the documentation, the compile succeeded.
To get it to compile, I disabled the SASL library in the compilation. I don't think it will be needed unless you need to use Kerberos. I initially had to explicitly disable SASL (perhaps because of using 64 bit) -- that can be done with -DENABLE_SASL=no when compiling the mongo-c-driver.
Here are the steps:
Got driver source from this page: https://github.com/mongodb/mongo-c-driver/releases (1.3.5)
Got cmake from https://cmake.org/download/
Installed cmake using the Windows installer, adding cmake to the path for all users. I had to log out and log back in to get the path to update.
Then, I copied the mongo-c-driver-1.3.5 source to c:\mongo-c-driver-1.3.5
Then,
I used the Visual Studio MSBuild Command Prompt, started with Run As Administrator
C:\mongo-c-driver-1.3.5\src\libbson>cmake -DCMAKE_INSTALL_PREFIX=C:\libmongoc -G "Visual Studio 14"
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!
See also "C:/mongo-c-driver-1.3.5/src/libbson/CMakeFiles/CMakeOutput.log".
See also "C:/mongo-c-driver-1.3.5/src/libbson/CMakeFiles/CMakeError.log".
Turns out that the C compilers are not installed with a standard installation of Visual Studio, so I had to install C++ component of Visual Studio. I installed C++ Common Tools, but not MFC for C++ nor XP Support. That said it would use 3 GB of disk space (started at 39.5, ended at 37.0, so 2.5 GB used)
Once that was installed:
cd \mongo-c-driver-1.3.5\src\libbson
cmake -DCMAKE_INSTALL_PREFIX=C:\libmongoc -G "Visual Studio 14" .
msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj
cd ..\..
C:\mongo-c-driver-1.3.5>cmake -DCMAKE_INSTALL_PREFIX=C:\libmongoc -DENABLE_SSL=WINDOWS -DBSON_ROOT_DIR=C:\libmongoc -G "Visual Studio 14" .
-- The C compiler identification is MSVC 19.0.23026.0
-- The CXX compiler identification is MSVC 19.0.23026.0
-- Check for working C compiler using: Visual Studio 14 2015
-- Check for working C compiler using: Visual Studio 14 2015 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 14 2015
-- Check for working CXX compiler using: Visual Studio 14 2015 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found BSON: C:/libmongoc/lib/bson-1.0.lib;ws2_32
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
-- Searching for sasl/sasl.h
-- Not found (specify -DCMAKE_INCLUDE_PATH=C:/path/to/sasl/include for SASL support)
-- Searching for libsasl2
-- Not found (specify -DCMAKE_LIBRARY_PATH=C:/path/to/sasl/lib for SASL support)
Current version (from VERSION_CURRENT file): 1.3.5
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mongo-c-driver-1.3.5
OpenSSL was not present, so I obtained 32 bit Win32 OpenSSL v1.0.2h from http://slproweb.com/products/Win32OpenSSL.html
Then, I installed OpenSSL. Changed installation directory to C:\work\OpenSSL-Win32, and I allowed the OpenSSL installer to install the binaries into the Windows system directory
Now,
C:\mongo-c-driver-1.3.5>cmake -DCMAKE_INSTALL_PREFIX=C:\libmongoc -DENABLE_SSL=WINDOWS -DBSON_ROOT_DIR=C:\libmongoc -G "Visual Studio 14" .
-- Found OpenSSL: optimized;C:/work/OpenSSL-Win32/lib/VC/ssleay32MD.lib;debug;C:/work/OpenSSL-Win32/lib/VC/ssleay32MDd.lib;optimized;C:/work/OpenSSL-Win32/lib/VC/libeay32MD.lib;debug;C:/work/OpenSSL-Win32/lib/VC/libeay32MDd.lib (found version "1.0.2h")
-- Searching for sasl/sasl.h
-- Not found (specify -DCMAKE_INCLUDE_PATH=C:/path/to/sasl/include for SASL support)
-- Searching for libsasl2
-- Not found (specify -DCMAKE_LIBRARY_PATH=C:/path/to/sasl/lib for SASL support)
Current version (from VERSION_CURRENT file): 1.3.5
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mongo-c-driver-1.3.5
C:\mongo-c-driver-1.3.5>
msbuild.exe ALL_BUILD.vcxproj
(lots of output, with some yellow warnings, but no red errors)
msbuild.exe INSTALL.vcxproj
And now the mongo-c-driver has been built. I can use it with Visual C++ to connect to my MongoDB server using ssl.
Now, I am trying to figure out how to get Embarcadero RADStudio C++ Builder to use the new mongo-c-driver. Just copying the .dll's into the application's folder results in an abort in the bson dll. The stack trace looks like this:
There are two errors in that output.
- libbson must be installed and available
- mongoc is configured against cyrus sasl, in which case it must be installed and available
Both are easily fixable, and later versions of mongoc will no longer error if cyrus sasl or openssl isn't available, but will instead use the Windows native implementations. The driver can also be configured without them.
The available configuration options and values are:
-DENABLE_SASL=[CYRUS|SSPI|AUTO|OFF]
-DENABLE_SSL=[OPENSSL|WINDOWS|DARWIN|AUTO|OFF]
Unfortunately the cmake installation of mongoc will not automatically install the bundled libbson for you, this may be fixed in the future, but for now you need to install it seperately.
In short, to install the mongoc driver on Windows:
Download & extract mongoc (https://github.com/mongodb/mongo-c-driver/releases).
mongoc releases comes with libbson sources so no need to download them seperately.
Enter the libbson directory, "src/libbson" and then:
cd c:/path/to/mongoc/
cd src/libbson
# Configure and install libbson
cmake.exe -G "Visual Studio 14 2015 Win64" \
-DCMAKE_INSTALL_PREFIX=c:/mongoc
msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj # Installs libbson
cd ../.. # Go back to the root folder of the release sources
# Configure and install mongoc
cmake.exe -G "Visual Studio 14 2015 Win64" \
-DCMAKE_INSTALL_PREFIX=c:/mongoc \
-DCMAKE_PREFIX_PATH=c:/mongoc/lib/cmake \
-DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
-DENABLE_SSL=WINDOWS \ # Use Windows Native TLS, rather then OpenSSL
-DENABLE_SASL=SSPI # Use Windows Native SSPI, rather then Cyrus SASL
msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj
With a current Visual Studio you can just open the project, build all and get your DLLs.
I used Community 2019
Make sure the Desktop development with C++ workload is installed, it includes CMake support
Choose Open, CMake, then select CMakeLists.txt from the root of the extracted source archive
Now you are already ready to "build all", but since the default debug build is not recommended, you should open CMake settings, use the green "+" button and select x86-Release (or x64, if required).
For Delphi users: the default DLL filenames are without the required "lib" prefix (libmongoc-1.0.dll), so edit the BSON_OUTPUT_BASENAME and MONGOC_OUTPUT_BASENAME variables accordingly.
Another hint: the Delphi installation contains the files in 2 places: bin & Redist\win32, bin64 & Redist\win64 - good luck!
1.17.0-rc0 x86 release drivers
https://gofile.io/d/0wJ4R4

Unrecognized option: --deduplicate=address with Emacs-notmuch

Recently after un update of emacs-notmuch I get this error
Unrecognized option: --deduplicate=address
command: notmuch address --format\=sexp --format-version\=2 --output\=recipients --deduplicate\=address from\:enrico.pirani\#gmail.com\ or\ from\:enrico.pirani\#pec.it
exit status: 1
stderr:
Unrecognized option: --deduplicate=address
whenever I try to search for an address in my bddb. I use notmuch version 0.20.2 with emacs 24.5.1 on OSX 10.9
The notmuch-emacs interface is intimately tied with the notmuch command-line interface, and they will need to have compatible versions, preferrably the same. You're using a newer version of the notmuch-emacs interface than the cli.
M-x notmuch-hello-versions RET in emacs will show you the versions.
Typically, you'd see this after installing notmuch-emacs from MELPA, and notmuch cli from the package manager.

What predefined macro can I use to detect the target architecture in Clang?

I would like to write code depending on whether the target architecture is e.g. armv7, armv7s, or arm64.
The reason that I can't use sysctlbyname is that this would give me the underlying architecture at runtime, but when arm64 e.g. simulates armv7, sysctl (seemingly) still reports arm64.
Although this is not a 100% answer to the question, but may be useful:
When using clang, you can discern between 32 bit arm and 64 bit arm using:
__arm__ which is defined for 32bit arm, and 32bit arm only.
__aarch64__ which is defined for 64bit arm, and 64bit arm only.
clang --target=... -mcpu=... -E - -dM </dev/null will output all the pre-defined preprocessor macros (similar works for gcc, too)
I don't see single macro that provides the answer, but you can probably use some combination of __ARM_ARCH and defined(__ARM_ARCH_*).
__ARM_ARCH_ISA_A64 is predefined if it's target is arm64,
__ARM_ARCH_7S__ for armv7s,
__ARM_ARCH_7A__ for armv7.
Use: clang -arch arm64 -E -dM - < /dev/null which can output preprocess macro.

Using clang++ for code analysis in an Autotools project in Eclipse

I am using Eclipse 4.2 on Mac OS 10.8, with the command line tools (Xcode 4.6.3) installed. The clang compiler supports C++11 by means of using the following flags: -std=c++11 -stdlib=libc++.
I have an Autotools-managed project in Eclipse. Real compilation works as expected after overriding CXX and CXXFLAFGS environment variables when configure is called. However, the static code analysis in Eclipse continues to use GCC (the version installed with Xcode is GCC 4.2), so there is no support for C++11, and lots of lines display errors that are not real ones, making static code analysis almost useless.
Using homebrew I also installed GCC 4.7, but I have not succeeded to make Eclipse use that version (or clang++) for performing static code analysis.
Is it possible, when using an Autotools-managed project, to make Eclipse use a different compiler for the static code analysis? Where should I specify that?
After installing Xcode 5, and following the directions in this question, I managed to solve the problem (I cannot test anymore whether this applies to Xcode 4.6 too).
The solution is to go to Project properties -> C/C++ General -> Preprocessor Include Paths, Macros etc. -> Providers -> CDT GCC Built-in Compiler Settings, and in Command to get compiler specs: append -std=c++11 -stdlib=libc++.
After doing that change, the line should look like:
${COMMAND} -E -P -v -dD ${INPUTS} -std=c++11 -stdlib=libc++

Template match using opencv in IOS (Iphone)

I am a newbie for IOS. I am trying to search some examples written in objectiveC for template match using OpenCV. I need to capture a logo from camera and need to match with some images kept in my project. Even after trying for long i didn't find something working. I tried this Project but the compiler is giving following error:Command /usr/bin/make failed with exit code 2
I don't know how to fix this error.
I am using XCode version 4.3.3 & IOS 5 on my MAC mini.
I need your help. One thing please consider, I just started working on MAC and IOS (1-2 months). A step by step guide or some working example will be more helpful.
I am getting following text in log:
* Unpacking OpenCV (2.0.0)...
patching file src/cv/cvcalibration.cpp
*** Configuring OpenCV (2.0.0 - iPhoneSimulator)...
checking build system type... i686-apple-darwin
checking host system type... i686-apple-darwin9
checking target system type... i686-apple-darwin9
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-apple-darwin9-strip... no
checking for strip... strip
configure: WARNING: using cross tools not prefixed with host triplet
checking for a thread-safe mkdir -p...
/Users/Manish/Downloads/OpenCV-iPad/OpenCV/build/iPhoneSimulator/../.././tmp/OpenCV-2.0.0/autotools/install-sh
-c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make sets $(MAKE)... (cached) yes
checking for style of include used by make... GNU
checking for C++ compiler default output file name...
configure: error: in
`/Users/Manish/Downloads/OpenCV-iPad/OpenCV/build/iPhoneSimulator':
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
make: * [opencv_simulator] Error 77
Command /usr/bin/make failed with exit code 2
Thanks for your advise and support, this is the part of the project i am developing for my companies client so don't have nay choice, just to complete this task.
One more thing i have faced same problem on more than one MAC mini.. so if you download same Project you might get the same issue.
Manish