Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сборка под платформу sh4 
:(
    Опции темы
den68
Дата 7.2.2013, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.2.2013

Репутация: нет
Всего: нет



Подскажите что нибудь, не собирается под sh4, тулчайн на i686, в принципе им что-то собирается, но то что хочется выдает примерно следующее:

Скрытый текст
Код

начало сборки пропущено
...
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc -I/usr/local/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh
4/target/usr/include -std=gnu99  -Wall -D_GNU_SOURCE -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -I/usr/local
/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh4/target/usr/include  -c -o src/wmr_util.o src/wmr_util.c
In file included from src/wmr_util.c:24:0:
/usr/include/pthread.h:649:6: warning: â__regparm__â attribute directive ignored [-Wattributes]
/usr/include/pthread.h:660:3: warning: â__regparm__â attribute directive ignored [-Wattributes]
/usr/include/pthread.h:683:6: warning: â__regparm__â attribute directive ignored [-Wattributes]
/usr/include/pthread.h:695:3: warning: â__regparm__â attribute directive ignored [-Wattributes]
/usr/include/pthread.h:704:6: warning: â__regparm__â attribute directive ignored [-Wattributes]
...
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc -I/usr/local/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh
4/target/usr/include -std=gnu99  -Wall -D_GNU_SOURCE -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -I/usr/local
/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh4/target/usr/include  -c -o src/rrdupdate/rrd_update.o sr
c/rrdupdate/rrd_update.c
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc -I/usr/local/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh
4/target/usr/include -std=gnu99  -Wall -D_GNU_SOURCE -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -I/usr/local
/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh4/target/usr/include  -c -o src/rrdupdate/rrd_misc.o src/
rrdupdate/rrd_misc.c
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc -I/usr/local/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh
4/target/usr/include -std=gnu99  -Wall -D_GNU_SOURCE -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -I/usr/local
/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh4/target/usr/include  -c -o src/rrdupdate/rrd_generic.o s
rc/rrdupdate/rrd_generic.c
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc -I/usr/local/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh
4/target/usr/include -std=gnu99  -Wall -D_GNU_SOURCE -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -I/usr/local
/lib/sh4/_include_ -I/var/INSTALL/toolchain/sh4/include -I/var/INSTALL/toolchain/sh4/target/usr/include  -c -o src/wmr_alarm.o src/wmr_alarm
.c
/var/INSTALL/toolchain/sh4/bin/sh4-linux-gcc src/wmr.o src/wmr_conf.o src/wmr_syslog.o src/wmr_util.o src/wmr_sensor.o src/wmr_updexec.o src
/snmp/oiddb.o src/snmp/snmp.o src/snmp/debug.o src/wmr_file.o  src/wmr_sql.o  src/wmr_rrdtool.o src/rrdupdate/rrd_update.o src/rrdupdate/rrd
_misc.o src/rrdupdate/rrd_generic.o src/wmr_alarm.o -o wmrd -L/usr/local/lib/sh4 -L/var/INSTALL/toolchain/sh4/lib -L/var/INSTALL/toolchain/s
h4/target/usr/lib -L/usr/local/lib -lusb -lhid -lsqlite3 -lpthread
src/wmr_conf.o: In function `gnu_dev_major':
wmr_conf.c:(.text+0x0): multiple definition of `gnu_dev_major'
src/wmr.o:wmr.c:(.text+0x0): first defined here
src/wmr_conf.o: In function `gnu_dev_minor':
wmr_conf.c:(.text+0x4a): multiple definition of `gnu_dev_minor'
src/wmr.o:wmr.c:(.text+0x4a): first defined here
src/wmr_conf.o: In function `gnu_dev_makedev':
...
часть ругани пропустил, она фактически однотипная
...
src/wmr.o:wmr.c:(.text+0x0): first defined here
src/wmr_alarm.o: In function `gnu_dev_minor':
wmr_alarm.c:(.text+0x4a): multiple definition of `gnu_dev_minor'
src/wmr.o:wmr.c:(.text+0x4a): first defined here
src/wmr_alarm.o: In function `gnu_dev_makedev':
wmr_alarm.c:(.text+0x8e): multiple definition of `gnu_dev_makedev'
src/wmr.o:wmr.c:(.text+0x8e): first defined here
src/wmr_alarm.o: In function `stat':
wmr_alarm.c:(.text+0x152): multiple definition of `stat'
src/wmr.o:wmr.c:(.text+0x152): first defined here
src/wmr_alarm.o: In function `lstat':
wmr_alarm.c:(.text+0x18c): multiple definition of `lstat'
src/wmr.o:wmr.c:(.text+0x18c): first defined here
src/wmr_alarm.o: In function `fstat':
wmr_alarm.c:(.text+0x1c4): multiple definition of `fstat'
src/wmr.o:wmr.c:(.text+0x1c4): first defined here
src/wmr_alarm.o: In function `fstatat':
wmr_alarm.c:(.text+0x1fc): multiple definition of `fstatat'
src/wmr.o:wmr.c:(.text+0x1fc): first defined here
src/wmr_alarm.o: In function `mknod':
wmr_alarm.c:(.text+0x250): multiple definition of `mknod'
src/wmr.o:wmr.c:(.text+0x250): first defined here
src/wmr_alarm.o: In function `mknodat':
wmr_alarm.c:(.text+0x294): multiple definition of `mknodat'
src/wmr.o:wmr.c:(.text+0x294): first defined here
src/wmr_alarm.o: In function `stat64':
wmr_alarm.c:(.text+0x2e0): multiple definition of `stat64'
src/wmr.o:wmr.c:(.text+0x2e0): first defined here
src/wmr_alarm.o: In function `lstat64':
wmr_alarm.c:(.text+0x318): multiple definition of `lstat64'
src/wmr.o:wmr.c:(.text+0x318): first defined here
src/wmr_alarm.o: In function `fstat64':
wmr_alarm.c:(.text+0x350): multiple definition of `fstat64'
src/wmr.o:wmr.c:(.text+0x350): first defined here
src/wmr_alarm.o: In function `fstatat64':
wmr_alarm.c:(.text+0x388): multiple definition of `fstatat64'
src/wmr.o:wmr.c:(.text+0x388): first defined here
collect2: ld returned 1 exit status
make: *** [single] Error 1
 


куски майк файла:

Код

#
COMPILE = sh4

VERSION = 0.4

MAKEFLAGS       = --no-print-directory
## MAKEFLAGS    += --version --print-data-base

ifeq ($(COMPILE),sh4)
##
## for sh4 (octagon,Openbox,SkyWay, e.t.c.) toolchain
##
DDD = compile for sh4 toolchain
TOOLCHAINPATH = /var/INSTALL/toolchain/sh4
TOOLCHAINSYS = ${COMPILE}
BINNAME = sh4-linux-
#
CC      = ${TOOLCHAINPATH}/bin/${BINNAME}gcc
CPP     = ${TOOLCHAINPATH}/bin/${BINNAME}cpp
ARCH=${TOOLCHAINPATH}/bin/${BINNAME}ar
CFLAGS  = -I/usr/local/lib/${TOOLCHAINSYS}/_include_ -I${TOOLCHAINPATH}/include -I${TOOLCHAINPATH}/target/usr/include
CFLAGS  += -std=gnu99  -Wall -D_GNU_SOURCE
#CFLAGS += -std=gnu99  -Wall -D_GNU_SOURCE ARCH=$(ARCH) CPP=$(CPP)
LIBS    = -L/usr/local/lib/${TOOLCHAINSYS} -L${TOOLCHAINPATH}/lib -L${TOOLCHAINPATH}/target/usr/lib
LDFLAGS = -lusb -lhid -lsqlite3 -lpthread
CPPFLAGS = -I/usr/local/lib/${TOOLCHAINSYS}/_include_ -I${TOOLCHAINPATH}/include -I${TOOLCHAINPATH}/target/usr/include
endif

SYSTYPE := $(shell uname -s)

ifeq ($(SYSTYPE), Linux)
  CFLAGS += -DLINUX
endif

ifeq ($(SYSTYPE), SunOS)
  CFLAGS += -DSOLARIS
  LIBS   += -lposix4
endif

ifeq ($(SYSTYPE), FreeBSD)
  CFLAGS += -DFREEBSD
endif

ifeq ($(SYSTYPE), AIX)
  CFLAGS += -DAIX
endif

.....

single:         $(OBJS) $(OBJSLIBUPD) $(OBJSLIBSNMP) $(OBJSLIBFILE) $(OBJSLIBSQL) $(OBJSLIBRRD) $(OBJSLIBALARM)
                @echo '#define DATA_VERSION "AAA - building: `date` '"' >src/wmr_build.h
                $(CC) $(OBJS) $(OBJSLIBUPD) $(OBJSLIBSNMP) $(OBJSLIBFILE) $(OBJSLIBSQL) $(OBJSLIBRRD) $(OBJSLIBALARM) -o wmrd $(LIBS) ${LDFL
                @rm -f $(OBJS) $(OBJSLIBUPD) $(OBJSLIBSNMP) $(OBJSLIBFILE) $(OBJSLIBSQL) $(OBJSLIBRRD) $(OBJSLIBALARM)
                @${TOOLCHAINPATH}/bin/strip wmrd



понимаю что конфликт с библиотеками, но не понимаю где и как из этого состояния выйти...
помогите советом...

P.S. под i686 Linux и i386 toolchain OpenWRT собирается нормально ...

PM MAIL   Вверх
leniviy
Дата 8.2.2013, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Как называется то, что вы хотите собрать?

Код

src/wmr_alarm.o: In function `mknod':
wmr_alarm.c:(.text+0x250): multiple definition of `mknod'
src/wmr.o:wmr.c:(.text+0x250): first defined here


"mknod" и остальное - это библиотечные функции. Обычно они не должны присутствовать в .o файлах, но здесь они есть.
Иногда такое делается, если стандартная функция с таким названием не доступна, но тогда её надо помечать как "static". Здесь же она не static.

Проанализируйте, с какими ключами собирается wmr.o из wmr.c, какие заголовочные файлы он включает, и чё там делает mknod.
PM MAIL   Вверх
den68
Дата 8.2.2013, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.2.2013

Репутация: нет
Всего: нет



Спасибо, нашел, в одном из инклудов маке файла было /usr/include - оно и довало этот эффект.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




[ Время генерации скрипта: 0.1019 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.