ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: "Denis G. Samsonenko" <d.g.samsonenko@gmail.com>
To: sisyphus@lists.altlinux.org
Subject: [sisyphus] GtkAda: gcc doesn't link with libgnat
Date: Sat, 16 Sep 2006 23:13:10 +0900
Message-ID: <957265820609160713m29045f42p622b80cba83414f3@mail.gmail.com> (raw)

Добрый день!

Пытаюсь собрать GtkAda-2.8.0, в том числе и в rpm. Вроде всё нормально
компилируется, ошибок никаких не выдаёт, но получаемые на выходе
libgtkada*.so.2.8 оказываются неслинкованными с libgnat, что приводит
к ругани ldd на unresolved symbols.

Мои попытки разобраться в ситуации привели к следующему. Я нашёл в
Makefile место, где происходит линковка создаваемых библиотек:

$(LIBNAME):: $(LIB_DIR)/$(MAKE_ADB).o ${wildcard ${LIB_DIR}/*.o} $(c_objects)
ifeq ($(BUILD_SHARED),yes)
        $(CC) -shared $(FPIC) $(OS_SPECIFIC_LINK_OPTIONS) -o $(SONAME) \
          $(SO_OPTS)$(SONAME) $(LIB_DIR)/glib*.o $(LIB_DIR)/gdk*.o \
          $(LIB_DIR)/gtk*.o $(LIB_DIR)/pango*.o \
          $(c_objects) $(c_extra_objects) $(GTK_LIBS)


Так это выгладит в выводе make:

gcc -shared -fPIC  -o libgtkada-2.8.so.0 \
          -Wl,-soname,libgtkada-2.8.so.0 lib-obj/glib*.o lib-obj/gdk*.o \
          lib-obj/gtk*.o lib-obj/pango*.o \
          lib-obj/misc.o lib-obj/misc_extra.o lib-obj/misc_broken.o
gtkextra/gtk*.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0
-lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0
-ldl -lglib-2.0


Отсюда видно, что явного задания libgnat для линковки нету. Я не знаю,
нужно ли это делать, но я попытался прочто дописать в конец "-lgnat" и
собрать указанную библиотеку вручную. После такой операции ldd больше
не ругался на полученную библиотеку, а в его выводе присутствовала
ссылка на libgnat.

Отсюда у меня вопрос: надо ли мне пропатчить Makefile, дописав в
указанный кусок "-lgnat", или же надо как-то по другому заставить gcc
линковать с libgnat?


На всякий случай:

[denis@ogion ~]$ rpm -qa |grep gnat
libgnat4.1-4.1.1-alt6
libgnat4.1-devel-static-4.1.1-alt6
libgnat4.1-devel-4.1.1-alt6
gcc4.1-gnat-4.1.1-alt6

-- 
Всего доброго,

Денис.

             reply	other threads:[~2006-09-16 14:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-16 14:13 Denis G. Samsonenko [this message]
2006-09-16 14:23 ` Igor Zubkov
2006-09-16 15:00   ` Denis G. Samsonenko
2006-09-16 15:09     ` Igor Zubkov
2006-09-16 15:27       ` Denis G. Samsonenko
2006-09-24 13:14 ` Denis G. Samsonenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=957265820609160713m29045f42p622b80cba83414f3@mail.gmail.com \
    --to=d.g.samsonenko@gmail.com \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git