I was testing I2C test case for BBB. When I hit compile I have got following linking error. Any clue what may be error ?
arm-rtems4.12-gcc -B../../../../../beagleboneblack/lib/ -specs bsp_specs -qrtems -mcpu=cortex-a8 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -Wl,--gc-sections -mcpu=cortex-a8 -o i2c0.exe init.o ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `_Thread_Get_executing': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../cpukit/../../../beagleboneblack/lib/include/rtems/score/percpu.h:704: multiple definition of `__getreent' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../beagleboneblack/lib/include/rtems/score/percpu.h:704: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Linker_set__Sysinit__RTEMS_tasks_Initialize_user_tasks_body' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `Configuration' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_minimum_stack_size' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `Configuration_POSIX_API' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `Configuration_RTEMS_API' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Thread_Control_add_on_count' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Thread_Control_add_ons' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Thread_Control_size' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Linker_set__Sysinit__User_extensions_Handler_initialization' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_IO_Number_of_drivers' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_IO_Driver_address_table' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here /root/development/rtems/4.12/lib/gcc/arm-rtems4.12/6.1.1/../../../../arm-rtems4.12/bin/ld: Warning: size of symbol `_IO_Driver_address_table' changed from 24 in init.o to 384 in ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o) ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `Initialization_tasks' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_malloc_dirty_helper' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_malloc_extend_handler' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `RTEMS_Malloc_Heap' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `_Scheduler_Table' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_filesystem_root_configuration' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_filesystem_table' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_telnetd_maximum_ptys' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o): In function `Init': /root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/cpukit/libmisc/../../../../../../../../NEW/c/src/../../cpukit/libmisc/dummy/default-configuration.c:23: multiple definition of `rtems_libio_number_iops' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here ../../../../../beagleboneblack/lib/librtemscpu.a(default-configuration.o):(.rtemsroset._Sysinit.content.0.0x00040180+0x0): multiple definition of `_Linker_set__Sysinit_rtems_filesystem_initialize' init.o:/root/development/rtems/b-NEW/arm-rtems4.12/c/beagleboneblack/testsuites/samples/i2c0/../../../../../../../../../NEW/c/src/../../testsuites/samples/i2c0/init.c:34: first defined here collect2: error: ld returned 1 exit status Here is my test case #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <fcntl.h> #include <unistd.h> #include <rtems/printer.h> #include <rtems/test.h> #include <bsp.h> /* for device driver prototypes */ #include <stdio.h> #include <stdlib.h> #include <bsp/i2c.h> #include <dev/i2c/i2c.h> /* forward declarations to avoid warnings */ rtems_task Init(rtems_task_argument argument); const char rtems_test_name[] = "GSOC 2016 I2C TESTING"; rtems_printer rtems_test_printer; rtems_task Init( rtems_task_argument ignored ) { rtems_print_printer_printf(&rtems_test_printer); rtems_test_begin(); int fd,r; r = bbb_register_i2c_0(); fd = open(BBB_I2C_0_BUS_PATH,O_RDWR); printf("value of fd is %d \n",fd); close(fd); rtems_test_end(); exit( 0 ); } /* NOTICE: the clock driver is explicitly disabled */ #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION #define CONFIGURE_INIT #include <rtems/confdefs.h> Thanks, Punit Vara
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel