help needed to compile a C program

Ryan Schmidt ryandesign at
Sat Apr 14 03:11:02 UTC 2018

On Apr 13, 2018, at 14:26, macports at wrote:

> On 2018-04-13, at 20:17, Rainer Müller wrote:
>> On 2018-04-13 18:21, macports at wrote:
>>> with makefile:
>>> ---
>>> pango-list-typefaces:   pango-list-typefaces.c
>>>        cc -o $@ -Wall -g pango-list-typefaces.c \
>>>        $(pkg-config --cflags --libs pango) \
>>>        $(pkg-config --cflags --libs cairo) \
>>>        $(pkg-config --cflags --libs pangocairo) \Currently 

Remove the word "Currently"

>>>        $(pkg-config --cflags --libs glib-2.0)
>> The Makefile is your problem. $(foo) is a normal variable expansion.
>> This should be: $(shell pkg-config ...)
>> Rainer
> my mistake: I changed `pkg-config ..` to $(..).
> but neither $(shell pkg-config nor `pkg-config helped. same error.
> question remains open.

pkg-config should be adding all the necessary flags. For example:

$ pkg-config --cflags --libs glib-2.0
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -L/opt/local/lib -lglib-2.0 -lintl -Wl,-framework -Wl,CoreFoundation

> any suggestions on my aother questions?
> Currently I have glib2 installed, but there is also glib2-devel, and they conflict with each other.
> Same for pango and pango-devel.
> - What is the difference?
> - Which should I use?

glib2 and pango are the latest stable versions. glib2-devel and pango-devel are the latest development versions. At this moment in time, they happen to provide the same versions.

> I don't know what the include path will be. 
> - How should I use 'port provides glib.h' ?

port provides takes absolute paths:

$ port provides /opt/local/include/glib-2.0/glib.h
/opt/local/include/glib-2.0/glib.h is provided by: glib2

More information about the macports-users mailing list