2013-06-05 2 views
0

У меня есть источник от Adacore, поэтому он должен работать - я тоже оставил «проблему» на Adacore, но это может занять некоторое время чтобы получить там разрешение. Я подозреваю, что я могу делать что-то неправильно, любые предложения?Компиляция библиотеки ada gnatcoll-json.adb с gnat на OS/X

Вот проблема:

$ gnat make gnatcoll-json.adb 

    gcc -c gnatcoll-json.adb 

    gnatcoll-json.adb:33:23: missing body for "Prepend" declared at gnatcoll-json.ads:64 

    gnatcoll-json.adb:33:23: missing body for "Create" declared at gnatcoll-json.ads:99 

    gnatcoll-json.adb:33:23: missing body for "Set_Field" declared at gnatcoll-json.ads:144 

    gnatcoll-json.adb:33:23: missing body for "Get" declared at gnatcoll-json.ads:173 

    gnatcoll-json.adb:33:23: missing body for "Get" declared at gnatcoll-json.ads:206 

    gnatcoll-json.adb:454:63: prefix of dereference must be an access type 

    gnatcoll-json.adb:641:33: invalid operand types for operator "/=" gnatcoll-json.adb:641:33: left operand has private type "UTF8_Unbounded_String" defined at gnatcoll-json.ads:47 

    gnatcoll-json.adb:641:33: right operand has an access type 

    gnatcoll-json.adb:642:19: no candidate interpretations match the actuals: 

    gnatcoll-json.adb:642:28: expected type "Counter" defined at gnatcoll-json.ads:239 

    gnatcoll-json.adb:642:28: found private type "Ada.Strings.Unbounded.Unbounded_String" 

    gnatcoll-json.adb:642:28: ==> in call to "Free" at gnatcoll-json.ads:289 

    gnatcoll-json.adb:642:28: ==> in call to "Free" at gnatcoll-json.ads:287 

    gnatcoll-json.adb:642:28: ==> in call to "Free" at gnatcoll-json.ads:285 

    gnatcoll-json.adb:642:28: ==> in call to "Free" at a-strunb.ads:88 

    gnatcoll-json.adb:714:24: expected private type "Ada.Strings.Unbounded.Unbounded_String" 

    gnatcoll-json.adb:714:24: found type access to "UTF8_String" defined at line 714 

    gnatcoll-json.adb:841:28: prefix of dereference must be an access type 

    gnatmake: "gnatcoll-json.adb" compilation error 

Я могу видеть, что эти отсутствующие органы в файле gnatcoll.ads, кажется, первая проблема. Конечно, верно, что, например, тело Prepend в этом файле отсутствует, но я думал, что тело должно быть в файле gnatcoll.adb, а не в файле gnatcoll.ads.

+0

Ваше описание ссылки gnatcoll.ad [С.Б.], но ваша компиляция из gnatcoll-json.ad [вВ] вы можете уточнить, если недостающие органы в gnatcoll -json.adb? также являются ли файлы gnatcoll.ad [sb] также в текущем каталоге? – NWS

ответ

0

GNATColl предназначен для строительства с использованием довольно стандартного процесса configure/make/make install. Вы можете узнать больше, посмотрев docs/building.rst в дистрибутиве; У меня нет Sphinx program, который используется для сборки устанавливаемой версии, но он довольно читабельен как есть. Также есть docs/json.rst, чтобы рассказать вам, как использовать поддержку JSON после установки GNATColl.

В корневом каталоге дистрибутива,

$ ./configure --prefix=/your/preferred/install/location # default is /usr/local 
$ make 
$ sudo make install # if /your/preferred/install/location isn't user-writable 
Смежные вопросы