Forum Discussion

BPlei1's avatar
BPlei1
Icon for New Contributor rankNew Contributor
6 years ago

Did anyone already include the Gnu Scientific Library (GSL) into the SoC EDS (19.1) environment?

Hi all, I read the INSTALL information of the latest GSL (2.6), but yet unable to cross compile the package for the ARM cortex A9...

Any help is greatly appreciated !

regards, Bert

4 Replies

  • Hi,

    Unfortunately, we do not have the documents regarding GSL support.

    It may be helpful if you could share what exactly what exactly you meant by unable, e.g what was the error logs/report? Can you share them here?

    May I ask, if you have you done any arm gcc cross compile before?

    • BPlei1's avatar
      BPlei1
      Icon for New Contributor rankNew Contributor

      Hi, thanks for the reply.

      To answer your last question first: No, I did not do any cross compilation before in this respect. I've a hardware background (vhdl/xlinx/microsemi) and this is my first attempt to support a colleague which needs GSL in de SoC EDS environment with Cyclone V under Linux.

      My goal is to be able to include the GSL-2.6 library within the SoC EDS (DS5). So I opened a SoC EDS command shell, retrieved the GSL 2.6, and unpacked the GSL package. Next step was:

      $ ./configure --host=arm-linux-gnueabihf --prefix=/home/<myname>/gsl --target=arm-linux-gnueabihf (I hope this is correct, I'm not sure about the options here, should I add any other flags ???)

      $ make clean (between each attempt)

      $ make => resulted in errors (see below):

      Hope that you can give me a hint or info how to have the correct options for ./configure ..... (and should the following make use the default GCC compiler on the laptop where I build it, or should it be the arm-linux-gcc used to make the ARM binary)?

      $ uname

      CYGWIN_NT-10.0

      Kind regards

      Bert

      $ make

      C:/intelFPGA/19.1/embedded/host_tools/gnu/make/H-x86_64-mingw32/bin/make all-recursive

      make[1]: Entering directory `C:/Users/pleysier/downloads/gsl-2.6'

      Making all in gsl

      make[2]: Entering directory `C:/Users/pleysier/downloads/gsl-2.6/gsl'

      rm -f gsl*.h

      HEADERLIST="../gsl*.h ../*/gsl*.h"; \

      for h in $HEADERLIST; do \

      BASENAME=`basename $h`; \

      test -r $BASENAME || ln -s $h $BASENAME; \

      done

      make[2]: Leaving directory `C:/Users/pleysier/downloads/gsl-2.6/gsl'

      Making all in utils

      make[2]: Entering directory `C:/Users/pleysier/downloads/gsl-2.6/utils'

      C:/intelFPGA/19.1/embedded/host_tools/cygwin/bin/sh.exe ../libtool --tag=CC --mode=compile arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT placeholder.lo -MD -MP -MF .deps/placeholder.Tpo -c -o placeholder.lo placeholder.c

      libtool: compile: arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT placeholder.lo -MD -MP -MF .deps/placeholder.Tpo -c placeholder.c -fPIC -DPIC -o .libs/placeholder.o

      libtool: compile: arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT placeholder.lo -MD -MP -MF .deps/placeholder.Tpo -c placeholder.c -o placeholder.o >/dev/null 2>&1

      mv -f .deps/placeholder.Tpo .deps/placeholder.Plo

      C:/intelFPGA/19.1/embedded/host_tools/cygwin/bin/sh.exe ../libtool --tag=CC --mode=link arm-linux-gnueabihf-gcc -g -O2 -o libutils.la placeholder.lo -lm

      libtool: link: arm-linux-gnueabihf-ar cru .libs/libutils.a .libs/placeholder.o

      libtool: link: arm-linux-gnueabihf-ranlib .libs/libutils.a

      libtool: link: ( cd ".libs" && rm -f "libutils.la" && ln -s "../libutils.la" "libutils.la" )

      make[2]: Leaving directory `C:/Users/pleysier/downloads/gsl-2.6/utils'

      Making all in sys

      make[2]: Entering directory `C:/Users/pleysier/downloads/gsl-2.6/sys'

      C:/intelFPGA/19.1/embedded/host_tools/cygwin/bin/sh.exe ../libtool --tag=CC --mode=compile arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT minmax.lo -MD -MP -MF .deps/minmax.Tpo -c -o minmax.lo minmax.c

      libtool: compile: arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT minmax.lo -MD -MP -MF .deps/minmax.Tpo -c minmax.c -fPIC -DPIC -o .libs/minmax.o

      In file included from minmax.c:26:0:

      ../gsl/gsl_minmax.h:1:1: error: expected identifier or '(' before '!' token

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:1: error: stray '\377' in program

      ../gsl/gsl_minmax.h:1:1: error: stray '\376' in program

      ../gsl/gsl_minmax.h:1:14: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:16: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:18: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:20: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:22: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:24: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:26: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:28: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:30: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:32: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:34: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:36: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:38: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:40: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      ../gsl/gsl_minmax.h:1:42: warning: null character(s) ignored [enabled by default]

      !<symlink>ÿ_.

      ^

      make[2]: *** [minmax.lo] Error 1

      make[2]: Leaving directory `C:/Users/pleysier/downloads/gsl-2.6/sys'

      make[1]: *** [all-recursive] Error 1

      make[1]: Leaving directory `C:/Users/pleysier/downloads/gsl-2.6'

      make: *** [all] Error 2

  • Hi Bert,

    I will need some time to dig in some of the errors and get some clues to help with this issue as this is an uncommon issue.