Visit Our UNIX and Linux User Community


Pango 1.20 does not compile when passing Cairo or X server packages as backends


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Pango 1.20 does not compile when passing Cairo or X server packages as backends
# 1  
Old 12-31-2019
Pango 1.20 does not compile when passing Cairo or X server packages as backends

Hello. Trying to compile Pango with one or mentioned packages as backend, Cairo or X11 related packages I have been facing a series of error messages that I do not know how to fix.

First with Cairo. I try to compile Pango with
Code:
./configure  --prefix=/media/34GB/Arquivos-de-Programas-Linux/Pango-1.20.0/  PKG_CONFIG_PATH=/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Pixman-0.18.4/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Png-1.0.19/lib/pkgconfig/   CAIRO_CFLAGS=/media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/include/  CAIRO_LIBS=/media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/lib/

After it, I issue a
Code:
make > gimp.err 2>&1

. It complained about not finding a bunch of files, like cairo.h and other header files that are on Cairo-1.10.0/include. It should have detected them, since I passed them with CAIRO_CFLAGS. However it did not worked. Fortunately, I was able to surpass these issues creating symbolic links to these header files on /usr/local/include. Executed make again, and this time a very awkward error appeared. This are all the last lines:

Code:
gcc -g -O2 -Wall -o .libs/cairosimple cairosimple.o -pthread  /media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/lib/  ../pango/.libs/libpango-1.0.so  -L/media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib  ../pango/.libs/libpangocairo-1.0.so  /home/leopoldo/Arquivos-de-Programas-Linux/pango-1.20.0/pango/.libs/libpangoft2-1.0.so  -L/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1//lib  -L/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0//lib  -L/media/34GB/Arquivos-de-Programas-Linux/Expat-1.95.4//lib  ../pango/.libs/libpangoft2-1.0.so  /home/leopoldo/Arquivos-de-Programas-Linux/pango-1.20.0/pango/.libs/libpango-1.0.so   /media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib/libgobject-2.0.so  -lffi  /media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib/libgmodule-2.0.so  -ldl  /media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib/libglib-2.0.so  -lpthread -lrt  /media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0//lib/libfontconfig.so   /media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1//lib/libfreetype.so  -lz  /media/34GB/Arquivos-de-Programas-Linux/Expat-1.95.4//lib/libexpat.so  -lm -Wl,--rpath  -Wl,/media/34GB/Arquivos-de-Programas-Linux/Pango-1.20.0//lib  -Wl,--rpath -Wl,/media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib  -Wl,--rpath  -Wl,/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0//lib  -Wl,--rpath  -Wl,/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1//lib  -Wl,--rpath  -Wl,/media/34GB/Arquivos-de-Programas-Linux/Expat-1.95.4//lib
/usr/bin/ld: /media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/lib/: No such file: File format not recognized
collect2: ld returned 1 exit status
make[2]: *** [cairosimple] Error 1
make[2]: Leaving directory `/media/34GB/Arquivos-de-Programas-Linux/pango-1.20.0/examples'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/media/34GB/Arquivos-de-Programas-Linux/pango-1.20.0'
make: *** [all] Error 2

Now with the X11 packages. My configure was
Code:
./configure --prefix=/media/34GB/Arquivos-de-Programas-Linux/Pango-1.20.0/ PKG_CONFIG_PATH=/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Glib-2.47.4/lib/pkgconfig/ --x-includes=/media/34GB/Arquivos-de-Programas-Linux/X11-1.6.7/include/:/media/34GB/Arquivos-de-Programas-Linux/Xorgproto-2018.1/include/ --x-libraries=/media/34GB/Arquivos-de-Programas-Linux/X11-1.6.7/lib/ XFT_CFLAGS=/media/34GB/Arquivos-de-Programas-Linux/Xft-2.1.12/include/ XFT_LIBS=/media/34GB/Arquivos-de-Programas-Linux/Xft-2.1.12/lib/

. Then issued a
Code:
make > gimp.err 2>&1

The first error line of the gimp.err file shows a
Code:
pangox.c:27:22: error: X11/Xlib.h: No such file or directory

. Xlib.h is on X11-1.6.7/include/X11, so I expected --x-includes to be able to see it. However, it did not. Created a sym link to it on /usr/local/include and tried again. It did not work. So now I am lost.

EDITED: The pangox.c line number 27 that generates the problem is a simple
Code:
  #include <X11/Xlib.h>

:
Perhaps I shall try to change it?

Moderator's Comments:
Mod Comment Quote tags are for quoting humans, not for "quote" machines, code, and data. Please do not use quote tags for code and data!!

Last edited by colt; 12-31-2019 at 03:49 PM..
# 2  
Old 01-01-2020
You will get some good knowledge and benefit if you learn how to use the -L and -I flags when you use gcc.

Code:
https://www.unix.com/man-page/linux/1/x86_64-linux-gnu-gcc/

Code:
gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] [@file] infile...

Code:
Linker Options
object-file-name -llibrary -nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic -s -static -static-libgcc -shared -shared-libgcc -symbolic -T script -Wl,option -Xlinker option -u symbol
Directory Options
-Bprefix -Idir -iquotedir -Ldir -specs=file -I- --sysroot=dir

We see this kinds of "I tried to compile and get errors" posts all the time.

The solution is always the same.

For libs, look in your filesystem for the missing files. If they are missing, install them. If they are already installed; include the full path of the directory where the libs are installed using the -L flag.

For header files, look in your filesystem for the missing files. If they are missing, install them. If they are already installed; include the full path of the directory where the header files are installed using the -I flag.

That is all there is to it..... it is not rocket science to read the error messages, look for the missing files, install them when the are missing (if you need them) and to use the appropriate flags to includes those directories and files in your makefile or gcc command like code.

Previous Thread | Next Thread
Test Your Knowledge in Computers #885
Difficulty: Easy
Denial of service attacks (DoS) are designed to make a machine or network resource unavailable to its intended users.
True or False?

8 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to find required packages needed by cairo?

Hello, I am currently trying to install and old version of Cairo. I tried two versions, 10.5 and 1.1.1 and they say similar things. Pango 1.1.1 says: and Pango 1.0.5 says: So quite similar. I downloaded two freetype packages, versions number 2.9.1 and 2.2.1 and passed them through... (2 Replies)
Discussion started by: colt
2 Replies

2. Shell Programming and Scripting

Connect (SSH) to Windows server via Linux server through a script and passing command.. but failing

I am trying to connect to Windows server via Linux server through a script and run two commands " cd and ls " But its giving me error saying " could not start the program" followed by the command name i specify e g : "cd" i am trying in this manner " ssh username@servername "cd... (5 Replies)
Discussion started by: sunil seelam
5 Replies

3. UNIX for Dummies Questions & Answers

Installing deb packages from Ubuntu Server CD

Hi, I have mounted the Ubuntu server edition 10.10 ISO on my server under a directory media/servercd. I would like to install some services from this. I edited the sources.list file to say: deb file:/media/servercd maverick main restricted and it's properly mounted but when I try... (1 Reply)
Discussion started by: shadowcat
1 Replies

4. Programming

Top v3.7 and v3.8beta1 will not compile on Power7/AIX6.1 server.

Please help! We are upgrading our server to a new Power7/AIX6.1 from Power5/AIX5.3. I have some programs that rely on output of the TOP command to do various things, however, I keep getting an error when I try to re-compile TOP on my new server (see below). I have tried TOP 3.7 (current... (1 Reply)
Discussion started by: troym72
1 Replies

5. Programming

client/server compile question

Hi, I have 2 files-->server.c and client.c My server.c takes local ip as saying: *.sin_addr.s_addr=INADDR_ANY; client.c is in the same machine.It has a line like: *.sin_addr.s_addr=inet_addr(argv); I don't know how to compile.I tried ./client 127.0.0.1 It used port 7777 in both client... (2 Replies)
Discussion started by: mlhazan
2 Replies

6. Shell Programming and Scripting

Shell Script to query packages from a http server.

Hello Unix Gurus, Does anybody have an idea on how to verify packages exist on a remote or ftp server connected through http. Here is my task at hand. We have a central repository in which we retrieve our packages. eg. http://packageserver/packages. What i have done is compiled a list of... (2 Replies)
Discussion started by: liketheshell
2 Replies

7. Solaris

Should I delete openssl SFW packages and compile

I have a new solaris 10 install and would like to install the 64 bit versions. When I installed other packaged (mysql, gcc), I removed the preinstalled verion first. These are the currently installed packages and which should be removed (if any). Thank you system SUNWopenssl-commands ... (2 Replies)
Discussion started by: csross
2 Replies

8. UNIX for Dummies Questions & Answers

How to find Packages running on a server

On a HP machine I used this /usr/sbin/cmviewcl But on a Sun machine what is the command to find out the packages installed on it. Thanks (4 Replies)
Discussion started by: venu_nbk
4 Replies

Featured Tech Videos