2011-02-15 08:17:30     [2010R1- RC5] "Flex" library doesn't compile

2011-02-15 08:17:30     [2010R1- RC5] "Flex" library doesn't compile

Gilles Ganault (FRANCE)

Message: 98183   

Hello

I wanted to build a new image that includes the "at" applications to schedule one-time tasks. Apparently, "at" requires the Flex library, so here's what I did:

# export PATH=$PATH:/opt/uClinux-2010/bfin-linux-uclibc/bin:/opt/uClinux-2010/bfin-uclinux/bin

# cd /usr/src/uClinux-dist-2010R1-RC5/

# make menuconfig

Customize Application/Library Settings

Build flex

[*] at

[*] atd

[*] atrun

# make single

...

make[8]: Entering directory `/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35'

bfin-uclinux-gcc  -pipe -Wall -g -O2      -mcpu=bf533-0.3  -Wl,-elf2flt    -mcpu=bf533-0.3 -o flex  ccl.o dfa.o ecs.o scanflags.o gen.o main.o misc.o nfa.o parse.o scan.o skel.o sym.o tblcmp.o yylex.o options.o scanopt.o buf.o tables.o tables_shared.o filter.o regex.o  -lm

filter.o: In function `filter_apply_chain':

/usr/src/uClinux-dist-2010R1-RC5/lib/flex/flex-2.5.35/filter.c:151: undefined reference to `_fork'

collect2: ld returned 1 exit status

make[8]: *** [flex] Error 1

make[8]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35'

make[7]: *** [install-recursive] Error 1

make[7]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35'

make[6]: *** [install] Error 2

make[6]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35'

make[5]: *** [all] Error 2

make[5]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib/flex'

make[4]: *** [flex] Error 2

make[4]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/lib'

make[2]: *** [subdirs] Error 1

make[2]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make[1]: *** [single_] Error 2

make[1]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make: *** [single] Error 2

Has someone successfully compiled Flex + at?

Thank you.

QuoteReplyEditDelete

2011-02-15 13:54:42     Re: [2010R1- RC5] "Flex" library doesn't compile

Mike Frysinger (UNITED STATES)

Message: 98185   

`flex` is only used at development time.  "at" most likely only needs libflex.a.  so if you disabled the building of the `flex` binary, i'm sure "at" would compile fine.

QuoteReplyEditDelete

2011-02-15 15:10:35     Re: [2010R1- RC5] "Flex" library doesn't compile

Gilles Ganault (FRANCE)

Message: 98189   

Thanks. Here's the output when I exclude "Build Flex" while keeping the At programs:

make[5]: Entering directory `/usr/src/uClinux-dist-2010R1-RC5/user/at'

bfin-uclinux-gcc -pipe -Wall -g -O2      -mcpu=bf533-0.3 -O2 -o at at.o panic.o perm.o y.tab.o lex.yy.o -lutil -lfl  -lfl

/opt/uClinux-2010/bfin-uclinux/bfin-uclinux/bin/ld.real: cannot find -lfl

collect2: ld returned 1 exit status

make[5]: *** [at] Error 1

make[5]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user/at'

make[4]: *** [at] Error 2

make[4]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user'

make[2]: *** [subdirs] Error 1

make[2]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make[1]: *** [single_] Error 2

make[1]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make: *** [single] Error 2

QuoteReplyEditDelete

2011-02-16 05:05:30     Re: [2010R1- RC5] "Flex" library doesn't compile

Gilles Ganault (FRANCE)

Message: 98207   

After editing the empty LDFLAGS variable in ./user/at/Makefile to include -L/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35, and editing the "at" and "atd" targets to contain that variable, re-running "make single" ends with this error:

make[5]: Entering directory `/usr/src/uClinux-dist-2010R1-RC5/user/at'

bfin-uclinux-gcc -pipe -Wall -g -O2      -mcpu=bf533-0.3 -O2 -o atd atd.o daemon.o   -Wl,-elf2flt    -mcpu=bf533-0.3 -L/usr/src/uClinux-dist-2010R1-RC5/lib/flex/build-flex-2.5.35 -lutil -lfl

atd.o: In function `run_file':

/usr/src/uClinux-dist-2010R1-RC5/user/at/atd.c:204: undefined reference to `_fork'

/usr/src/uClinux-dist-2010R1-RC5/user/at/atd.c:309: undefined reference to `_fork'

atd.o: In function `run_loop':

/usr/src/uClinux-dist-2010R1-RC5/user/at/atd.c:534: undefined reference to `_getloadavg'

daemon.o: In function `daemon_setup':

/usr/src/uClinux-dist-2010R1-RC5/user/at/daemon.c:122: undefined reference to `_fork'

collect2: ld returned 1 exit status

make[5]: *** [atd] Error 1

make[5]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user/at'

make[4]: *** [at] Error 2

make[4]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5/user'

make[2]: *** [subdirs] Error 1

make[2]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make[1]: *** [single_] Error 2

make[1]: Leaving directory `/usr/src/uClinux-dist-2010R1-RC5'

make: *** [single] Error 2

Has someone successfully compiled the "at" tools with Blackfin uClinux, or at least the 2010R1-RC5 version of the source?

Thank you.

QuoteReplyEditDelete

2011-02-16 11:31:42     Re: [2010R1- RC5] "Flex" library doesn't compile

Mike Frysinger (UNITED STATES)

Message: 98208   

i guess "at" will need porting to nommu too.  this is not a util people have asked for in the past, so we havent noticed an issue.

do you actually need "at" functionality ?  or do you simply need cron services ?  busybox includes cron support ...

QuoteReplyEditDelete

2011-02-16 18:37:20     Re: [2010R1- RC5] "Flex" library doesn't compile

Gilles Ganault (FRANCE)

Message: 98209   

I need to schedule a one-time event, so cron could be a work-around to call a script that will perform its task and then remove itself from crontab. Good enough.

BTW, am I correct in understanding that the Blackfin team downloaded the uClinux source at some point (and it could be that changes made by the Blackfin team aren't being merged back into the standard uClinux source), but only application under ./user/ that actually work on Blackfin CPU's are those that ADI and some users deamed important?

IOW, there's no telling until we try to compile and run them?

Thank you.

QuoteReplyEditDelete

2011-02-17 13:52:57     Re: [2010R1- RC5] "Flex" library doesn't compile

michael allen (UNITED STATES)

Message: 98230   

ive fixed flex to build only the library.  i also fixed some of the build issues with at, but the fork() in atd needs quite a bit of work to fix cleanly -- there are a lot of code paths which can call exit().  i changed it to vfork() as in most cases, this should "just work".

no, that isnt really how our fork of uclinux.org is working.  the picture is a lot murkier than that in many ways.  best to just point out uclinux-dist is a dead distribution.

QuoteReplyEditDelete

2011-02-18 03:41:45     Re: [2010R1- RC5] "Flex" library doesn't compile

Gilles Ganault (FRANCE)

Message: 98248   

Thanks Michael for the clarification. The uClinux site does seem dead, although the latest dist is from October 2010.

Cron + script that removes itself is a good work-around.

QuoteReplyEditDelete

  • Created
Was this helpful?

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.