Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
444 Discussions

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

BPlei1
Beginner
1,112 Views

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

0 Kudos
4 Replies
EBERLAZARE_I_Intel
961 Views

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?

0 Kudos
BPlei1
Beginner
961 Views

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

 

0 Kudos
EBERLAZARE_I_Intel
961 Views

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.

 

 

0 Kudos
EBERLAZARE_I_Intel
961 Views

Hi Bert,

 

We do not have the tutorial or guide on including the GSL into our SoC EDS, I recommend that you check StackOverflow for workaround, there seems some similar issue/error that you are facing below (you may find more):

 

https://stackoverflow.com/questions/22791205/gsl-compile-error-with-mingw

0 Kudos
Reply