URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 88264
[ Назад ]

Исходное сообщение
"Не могу поставить mpd5"

Отправлено opeth2009 , 27-Фев-10 11:31 
Warning: Object directory not changed from original /usr/ports/net/mpd5/work/mpd-5.5/src
cc -O2 -fno-strict-aliasing -pipe -DNO_IDEA  -DPROTO_NAME_LIST -DUSE_WRAP -DUSE_OPIE -DUSE_PAM -DUSE_SYSTEM -DPATH_CONF_DIR=\"/usr/local/etc/mpd5\" -DSYSLOG_FACILITY=LOG_DAEMON -DMPD_VERSION='"5.5 (root@mo.foodline.ru 11:28 27-Feb-2010)"' -g -Wall  -Wcast-align  -Wchar-subscripts  -Wformat  -Winline  -Wmissing-declarations  -Wmissing-prototypes  -Wnested-externs  -Wpointer-arith  -Wwrite-strings  -pthread  -I/usr/local/include -DPHYSTYPE_MODEM -DPHYSTYPE_UDP -DPHYSTYPE_TCP -DPHYSTYPE_NG_SOCKET -DPHYSTYPE_PPTP -DRANDOMIZE_CID -DPHYSTYPE_PPPOE -DPHYSTYPE_L2TP -DCCP_DEFLATE -DUSE_NG_DEFLATE -DCCP_MPPC -DUSE_NG_MPPC -DCCP_PRED1 -DUSE_NG_PRED1 -DECP_DES -DUSE_NG_BPF -DUSE_NG_CAR -DUSE_NG_IPACCT -DUSE_NG_NAT -DUSE_NG_NETFLOW -DUSE_NG_TCPMSS -DUSE_NG_VJC -DUSE_IPFW -DUSE_FETCH  -c modem.c
In file included from iface.h:28,
                 from radius.h:16,
                 from auth.h:18,
                 from bund.h:22,
                 from ppp.h:164,
                 from modem.c:10:
nat.h:30: error: array type has incomplete element type
nat.h:32: error: array type has incomplete element type
nat.h:34: error: array type has incomplete element type
*** Error code 1

Stop in /usr/ports/net/mpd5/work/mpd-5.5/src.
*** Error code 1

Stop in /usr/ports/net/mpd5/work/mpd-5.5.
*** Error code 1

Stop in /usr/ports/net/mpd5.
*** Error code 1

Stop in /usr/ports/net/mpd5.


Проблема такая
Был у меня поставлен mpd4
Потом я его снес make deinstall; make clean
Потом захотел поставить mpd5
И получил проблему


Помогите пожалуйста куда глядеть?


Содержание

Сообщения в этом обсуждении
"Не могу поставить mpd5"
Отправлено sshutdownow , 27-Фев-10 12:08 
>[оверквотинг удален]
>
>
>Проблема такая
>Был у меня поставлен mpd4
>Потом я его снес make deinstall; make clean
>Потом захотел поставить mpd5
>И получил проблему
>
>
>Помогите пожалуйста куда глядеть?

версия FreeBSD?


"Не могу поставить mpd5"
Отправлено AsmodeuS , 28-Фев-10 16:32 
>версия FreeBSD?

такая же ситуация
7.1-RELEASE-p5



"Не могу поставить mpd5"
Отправлено _sirius_ , 28-Фев-10 19:02 
pkg_add -r mpd5



"Не могу поставить mpd5"
Отправлено Дмитрий , 01-Мрт-10 10:17 
Аналогичная ошибка.

>pkg_add -r mpd5

Не помогло. Выводит следующее:
# pkg_add -r mpd5
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-re...: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-re...' by URL
Exit 1

Версия FreeBSD - FreeBSD 7.0-RELEASE


"Не могу поставить mpd5"
Отправлено Artym , 01-Мрт-10 13:36 
Точно такая же проблема, буква в букву, порт не собирается, ругается на структуру (struct) в nat.h
версия FreeBSD 6.2.

"Не могу поставить mpd5"
Отправлено Dmitry , 01-Мрт-10 14:16 
>Точно такая же проблема, буква в букву, порт не собирается, ругается на
>структуру (struct) в nat.h
>версия FreeBSD 6.2.

В CVS исправили. На системах, собранных позже 7 марта 2008 должно работать без патчей.

Обновляйте вовремя систему, хотя бы до STABLE.


"Не могу поставить mpd5"
Отправлено Lazy caT , 21-Май-10 23:41 
Мне кажется не самый лучший вариант но работает.

cd /usr/ports/net/mpd5 && make extract
и в work/mpd-5.5/src/makefile закоментировать USE_NG_NAT (48 строка)

USE_NG_MPPC= yes
#USE_NG_NAT= yes
USE_NG_NETFLOW= yes

у меня MPD NAT не использует.


"Не могу поставить mpd5"
Отправлено novich , 11-Дек-10 19:23 
Столкнулся с той же проблемой :(

Попробовал разобраться глубже.
Определения структур в файле work/mpd-5.5/src/nat.h ссылаются на типы которые в системе не определены. Определения структур должны быть видимо объявлены в #include <netgraph/ng_nat.h> но их там нет.

Сравнил ng_nat.h в FreeBSD7 и FreeBSD8 - действительно файлы отличаются, на 8-ке много чего добавлено.

В итоге обошёл проблему так:
поправил /usr/include/netgraph/ng_nat.h, вставил следующий текст

это закоменировал:
/*enum {                                                                        
        NGM_NAT_SET_IPADDR = 1,                                                
        NGM_NAT_SET_MODE,                                                      
        NGM_NAT_SET_TARGET,                                                    
};                                                                              
*/    

это добавил:
#define NG_NAT_DESC_LENGTH      64                                              
                                                                                
struct ng_nat_redirect_port {                                                  
    struct in_addr  local_addr;                                                
    struct in_addr  alias_addr;                                                
    struct in_addr  remote_addr;                                                
    uint16_t        local_port;                                                
    uint16_t        alias_port;                                                
    uint16_t        remote_port;                                                
    uint8_t         proto;                                                      
    char            description[NG_NAT_DESC_LENGTH];                            
    };                                                                          
                                                                                
struct ng_nat_redirect_addr {                                                  
    struct in_addr  local_addr;                                                
    struct in_addr  alias_addr;                                                
    char            description[NG_NAT_DESC_LENGTH];                            
    };                                                                          
                                                                                
struct ng_nat_redirect_proto {                                                  
    struct in_addr  local_addr;                                                
    struct in_addr  alias_addr;                                                
    struct in_addr  remote_addr;                                                
    uint8_t         proto;                                                      
    char            description[NG_NAT_DESC_LENGTH];                            
    };                                                                        

enum {                                                                          
        NGM_NAT_SET_IPADDR = 1,                                                
        NGM_NAT_SET_MODE,                                                      
        NGM_NAT_SET_TARGET,                                                    
        NGM_NAT_REDIRECT_PORT,                                                  
        NGM_NAT_REDIRECT_ADDR,                                                  
        NGM_NAT_REDIRECT_PROTO,                                                
        NGM_NAT_REDIRECT_DYNAMIC,                                              
        NGM_NAT_REDIRECT_DELETE,                                                
        NGM_NAT_ADD_SERVER,                                                    
        NGM_NAT_LIST_REDIRECTS,                                                
        NGM_NAT_PROXY_RULE,                                                    
};                                                                            


В результате mpd5 собрался без проблем.