Installing cexp-2.2.3 for RTEMS 4.12

Joel Sherrill joel at rtems.org
Wed Sep 27 23:24:30 UTC 2017


Moving this to devel@ so more people see it.

On Mon, Sep 25, 2017 at 8:32 PM, Akiv <akivjh at gmail.com> wrote:

> Hi All,
>
> I have built RTEMS 4.12 for the pc686 BSP. I am now trying to install cexp
> 2.2.3. After configuring, when I run the make I get the following error,
> which seems to stem from getline.c:
>
> bash-4.1$ ../cexp-CEXP_Release_2_2_3/configure
> --with-rtems-top=/home/rtems/pc_rtems/development/rtems/4.12
> --host=i386-rtems4.12 --enable-std-rtems-installdirs
> bash-4.1$ make -j 8
>
> make  all-recursive
> make[1]: Entering directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp'
> Making all in pc686
> make[2]: Entering directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686'
> make  all-recursive
> make[3]: Entering directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686'
> Making all in regexp
> make[4]: Entering directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686/regexp'
> make[4]: Nothing to be done for `all'.
> make[4]: Leaving directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686/regexp'
> Making all in libtecla
> make[4]: Entering directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686/libtecla'
> i386-rtems4.12-gcc -B/home/rtems/pc_rtems/develop
> ment/rtems/4.12/i386-rtems4.12/pc686/lib/ -specs bsp_specs -qrtems  -B
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/lib
> -mtune=pentiumpro -march=pentium  -I/home/rtems/pc_rtems/develo
> pment/rtems/4.12/i386-rtems4.12/pc686/lib/include
> -I/home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
> -DPACKAGE=\"libtecla\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_SELECT=1
> -I. -I../..//../cexp-CEXP_Release_2_2_3/libtecla
> -I../..//../cexp-CEXP_Release_2_2_3/libtecla/.. -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libtecla\"
> -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
> -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
> -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
> -DHAVE_SYS_SELECT_H=1 -DHAVE_SELECT=1    -MT libtecla_a-getline.o -MD -MP
> -MF .deps/libtecla_a-getline.Tpo -c -o libtecla_a-getline.o `test -f
> 'getline.c' || echo '../..//../cexp-CEXP_Release_2
> _2_3/libtecla/'`getline.c
> i386-rtems4.12-gcc -B/home/rtems/pc_rtems/develop
> ment/rtems/4.12/i386-rtems4.12/pc686/lib/ -specs bsp_specs -qrtems  -B
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/lib
> -mtune=pentiumpro -march=pentium  -I/home/rtems/pc_rtems/develo
> pment/rtems/4.12/i386-rtems4.12/pc686/lib/include
> -I/home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
> -DPACKAGE=\"libtecla\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_SELECT=1
> -I. -I../..//../cexp-CEXP_Release_2_2_3/libtecla
> -I../..//../cexp-CEXP_Release_2_2_3/libtecla/.. -D_POSIX_C_SOURCE=199506L
> -DPREFER_REENTRANT    -MT libtecla_r_a-getline.o -MD -MP -MF
> .deps/libtecla_r_a-getline.Tpo -c -o libtecla_r_a-getline.o `test -f
> 'getline.c' || echo '../..//../cexp-CEXP_Release_2
> _2_3/libtecla/'`getline.c
> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:60:2:
> error: #error "This file is deprecated; remove this line if you absolutely
> have to use it"
>  #error "This file is deprecated; remove this line if you absolutely have
> to use it"
>   ^~~~~
>

It looks like cexp hasn't been updated to rtems 4.12 and needs some hacks
addressed.


> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:62:8:
> error: redefinition of 'struct winsize'
>  struct winsize {
>         ^~~~~~~
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:49:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ttycom.h:52:8:
> note: originally defined here
>  struct winsize {
>         ^~~~~~~
>

I am guessing this wasn't defined by our sys/ttycom.h at some point but now
is. The rest look to be
similar type issues.

FWIW I posted RSB packages for libtecl in a ticket a while back. I was
trying to convert the
shell scripts used to build them into the better packaging. We would
appreciate help moving
all third party packages to the RSB to provide a more uniform user
experience.

But your first order of business is to get this to compile. :)


> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:74:0:
> warning: "IOCPARM_MASK" redefined
>  #define IOCPARM_MASK 0x1fff  /* parameter length, at most 13 bits */
>
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:45:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ioccom.h:47:0:
> note: this is the location of the previous definition
>  #define IOCPARM_MASK ((1 << IOCPARM_SHIFT) - 1) /* parameter length mask
> */
>
> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:76:0:
> warning: "_IOC" redefined
>  #define _IOC(inout,group,num,len) (inout | ((len & IOCPARM_MASK) << 16) |
> ((group) << 8) | (num))
>
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:45:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ioccom.h:59:0:
> note: this is the location of the previous definition
>  #define _IOC(inout,group,num,len)     \
>
> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:60:2:
> error: #error "This file is deprecated; remove this line if you absolutely
> have to use it"
>  #error "This file is deprecated; remove this line if you absolutely have
> to use it"
>   ^~~~~
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:62:8:
> error: redefinition of 'struct winsize'
>  struct winsize {
>         ^~~~~~~
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:49:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ttycom.h:52:8:
> note: originally defined here
>  struct winsize {
>         ^~~~~~~
> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:74:0:
> warning: "IOCPARM_MASK" redefined
>  #define IOCPARM_MASK 0x1fff  /* parameter length, at most 13 bits */
>
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:45:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ioccom.h:47:0:
> note: this is the location of the previous definition
>  #define IOCPARM_MASK ((1 << IOCPARM_SHIFT) - 1) /* parameter length mask
> */
>
> In file included from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:154:0:
> ../..//../cexp-CEXP_Release_2_2_3/libtecla/../rtems-hackdefs.h:76:0:
> warning: "_IOC" redefined
>  #define _IOC(inout,group,num,len) (inout | ((len & IOCPARM_MASK) << 16) |
> ((group) << 8) | (num))
>
> In file included from /home/rtems/pc_rtems/developme
> nt/rtems/4.12/i386-rtems4.12/include/sys/ioctl.h:45:0,
>                  from ../..//../cexp-CEXP_Release_2_
> 2_3/libtecla/getline.c:59:
> /home/rtems/pc_rtems/development/rtems/4.12/i386-rtems4.12/include/sys/ioccom.h:59:0:
> note: this is the location of the previous definition
>  #define _IOC(inout,group,num,len)     \
>
> make[4]: *** [libtecla_r_a-getline.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[4]: *** [libtecla_a-getline.o] Error 1
> make[4]: Leaving directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686/libtecla'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp/pc686'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/rtems/pc_rtems/developm
> ent/rtems/kernel/b-cexp'
> make: *** [all] Error 2
>
> Would someone be able to provide some insight?
>
> --
> Best Regards,
> Akiv Jhirad
>
> _______________________________________________
> bugs mailing list
> bugs at rtems.org
> http://lists.rtems.org/mailman/listinfo/bugs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170927/126f7ce2/attachment.html>


More information about the devel mailing list