Проблема при создании порта

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
schmel
рядовой
Сообщения: 46
Зарегистрирован: 2010-02-28 22:28:09

Проблема при создании порта

Непрочитанное сообщение schmel » 2012-02-12 23:55:54

Есть исходники одной проги, которой нет в портах. Из сырцов устанавливается довольно тривиально:
./configure --enable-shared
./gmake opt
./gmake install

как мне эти три команды в Makefile отразить?

Код: Выделить всё

# New ports collection makefile for:    root
# Date created:         10 Feb 2012
# Whom:                 BLA BLA BLA <amdmi3@example.org>
#
# $FreeBSD$
#

PORTNAME=       h323plus
PORTVERSION=    12.02.09
CATEGORIES=     net
MASTER_SITES=   http://openmcu.ru/public/Freebsd_i386/port/
DISTNAME=       ${PORTNAME}-${PORTVERSION}

MAINTAINER=     amdmi3@example.org
COMMENT=        Empty comment

GNU_CONFIGURE=  yes
USE_GMAKE=      yes

CONFIGURE_ENV=  LDFLAGS="-L${LOCALBASE}/lib" CPPFLAGS="-I${LOCALBASE}/include"
CONFIGURE_ARGS=--enable-shared

WRKSRC=         ${WRKDIR}/${PORTNAME}

.include <bsd.port.mk>
Данная связка выдает такую ошибку:

Код: Выделить всё

Created dependencies.
gmake -C src optdepend
gmake[1]: Entering directory `/usr/ports/net/openh323/work/h323plus/src'
c++ -D_REENTRANT -fno-exceptions -Wall -DNDEBUG -DPTRACING -I/usr/local/include/openh323 -I/usr/local/share/ptlib/include -M h225_1.cxx >> /usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep
h225_1.cxx:12:18: error: h225.h: No such file or directory
gmake[1]: *** [/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep] Error 1
gmake[1]: *** Deleting file `/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep'
gmake[1]: Leaving directory `/usr/ports/net/openh323/work/h323plus/src'
gmake: *** [optdepend] Error 2
*** Error code 1

Stop in /usr/ports/net/openh323.
Кстати - это сильно модифицированный openh323, который есть в портах, но тамошний makefile не подойдет, пришлось самому писать...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблема при создании порта

Непрочитанное сообщение Alex Keda » 2012-02-13 19:57:15

USE_GMAKE чтоли ...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
schmel
рядовой
Сообщения: 46
Зарегистрирован: 2010-02-28 22:28:09

Re: Проблема при создании порта

Непрочитанное сообщение schmel » 2012-02-13 20:49:06

USE_GMAKE= yes
Да вроде прописывал. Кстати эта команда эквивалентна gmake opt, или просто gmake?
Если судить по ошибке

Код: Выделить всё

 error: h225.h: No such file or directory
Он почему-то не правильном месте ищет заголовочные файлы. Хотя вручную собирается нормально. И почуму-то создает obj в системных либах

Код: Выделить всё

/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep
Хотя, вручную все норм...

Аватара пользователя
schmel
рядовой
Сообщения: 46
Зарегистрирован: 2010-02-28 22:28:09

Re: Проблема при создании порта

Непрочитанное сообщение schmel » 2012-02-14 8:26:19

Уже перечитал handbook по портам. Пошел анализировать Makefile из

Код: Выделить всё

Entering directory `/usr/ports/net/openh323/work/h323plus/src'
и выяснил, что если указать buildtime="YES", то будет собираться в lib с исходниками, если не указывать, то в системных либах. Ну и добавив команду ALL_TARGET=opt - собралось =)
Еще один момент - допустим в папке works/h323plus есть еще вложеная папка с плагинами (plugins) - собирается также:

Код: Выделить всё

./configure
./gmake opt
./gmake install
Как можно прописать в Makefile порта, чтоб он сначала собирался в основной папке, а потом переходил в другую папку и собирал там?