I can't compiled http server in sample APP

Hi,

I use FX30 with WP76xx then I want to compiled sample app “httpServer”.
But I got error like below

+ CCFLAGS=-DDEBUG
+ ./autogen.sh
Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 .) at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
Compilation failed in require at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
Compilation failed in require at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
BEGIN failed--compilation aborted at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
ninja: build stopped: subcommand failed.
Makefile:4: recipe for target 'wp76xx' failed
make: *** [wp76xx] Error 1

How can I fix it ?

you can see here:

Hi @jyijyi ,

I use your sample code and modify target to WP76xx.
But I got the same error.

+ CCFLAGS=-DDEBUG
+ ./autogen.sh
Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 .) at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
Compilation failed in require at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
Compilation failed in require at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
BEGIN failed--compilation aborted at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
ninja: build stopped: subcommand failed.
Makefile:37: recipe for target 'target' failed
make: *** [target] Error 1
(lsh:FX30-cat1) test@test-virtual-machine:~/workspace/leaf-data/current/fx30-cat1-legato/apps/sample/httpServer/Target_Legato_Debug$ 

Should I check perl ?

can it compile helloworld app??
As you can compile something before, you can port the application to there:

Yes I can compile helloworld app.

I also port the sample in the same environment.

I just put your sample into the folder then I compiled it.

then which line makes the error?

As said before, you can port the app to your helloworld app which can be compiled.

then which line makes the error?

As said before, you can port the app to your helloworld app which can be compiled.

Hi @jyijyi ,

I don’t know what you mean.

I unzip your sample and put it into the app/sample as my app before, the I compiled your sample but I got error, the log is like below:

+ ./autogen.sh
Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/site_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/vendor_perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1/ /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 /opt/swi/SWI9X07Y_02.18.06.00/sysroots/x86_64-pokysdk-linux/usr/lib/perl/5.22.1 .) at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/Channels.pm line 70.
Compilation failed in require at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
BEGIN failed--compilation aborted at /home/test/.leaf/wp76-toolchain_SWI9X07Y_02.18.06.00-linux64/sysroots/x86_64-pokysdk-linux/usr/share/autoconf/Autom4te/ChannelDefs.pm line 19.
Compilation failed in require at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
BEGIN failed--compilation aborted at /home/test/workspace/leaf-data/FX30-cat1/wp76-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/autoreconf line 39.
ninja: build stopped: subcommand failed.
Makefile:37: recipe for target 'target' failed
make: *** [target] Error 1

So I have no idea to fix it.

I think the point is

+ ./autogen.sh
Can't locate strict.pm in @INC (you may need to install the strict module

me neither, no idea on this as i don’t see such problem. (other user is working fine with this httpserver sample)
But you have a working helloworld, you can port the code of httpserver to it line by line and see which line makes this error

Hi @jyijyi ,

I think it is error in lighthttpd.

You can also try WP76 R13 package:

BTW, there is a workaround here:

Hi @jyijyi ,

I can compile both the original sample and yours after I set the symbolic link to /swi/opt , so I think root cause is that the lighthttpd set toolchain path is wrong.

Hi @jyijyi ,

I have another question about update httpserver app.

I got error like below:

Unpacking package: 100% ++++++++++++++++++++++++++++++++++++++++++++++++++
Applying update:   0%                                                   
FAILED

***Error: Internal error during update. See log for details.
Update failed

How can I check log?

Checked logread

Aug 15 05:59:53 fx30 user.info Legato:  INFO | avcDaemon[907]/avcDaemon T=main | avcAppUpdate.c AppInstallHandler() 853 | Application, 'httpServer,' has been installed.
Aug 15 05:59:53 fx30 user.info Legato:  INFO | updateDaemon[871]/updateDaemon T=main | supCtrl.c supCtrl_StartApp() 61 | Starting app 'httpServer'.
Aug 15 05:59:53 fx30 user.info Legato:  INFO | supervisor[857]/supervisor T=main | app.c app_Create() 2735 | Creating app 'httpServer'
Aug 15 05:59:53 fx30 user.info Legato:  INFO | supervisor[857]/supervisor T=main | proc.c GetFaultAction() 323 | No fault action specified for process 'lighttpd'. Assuming 'ignore'.
Aug 15 05:59:53 fx30 user.warn Legato: -WRN- | supervisor[857]/supervisor T=main | proc.c GetWatchdogAction() 359 | lighttpd watchdogAction '' in proc section
Aug 15 05:59:53 fx30 user.warn Legato: -WRN- | supervisor[857]/supervisor T=main | proc.c GetWatchdogAction() 359 | lighttpd watchdogAction '' in proc section
Aug 15 05:59:53 fx30 user.info Legato:  INFO | supervisor[857]/supervisor T=main | app.c app_Start() 2926 | Starting app 'httpServer'
Aug 15 05:59:53 fx30 user.info Legato:  INFO | avcDaemon[907]/avcDaemon T=main | avcAppUpdate.c AppInstallHandler() 900 | Local install, create new object9 instance.
Aug 15 05:59:53 fx30 user.info Legato:  INFO | avcDaemon[907]/avcDaemon T=main | avcAppUpdate.c GetObject9InstanceForApp() 650 | No instance mapping found, creating new.

how about logread ???

Hi @jyijyi ,

How can I find the lighttpd ?

it is in legato\3rdParty\lighttpd

Hi @jyijyi ,

I found the error log

Aug 15 05:59:53 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c CreateFileLink() 1513 | '/legato/systems/current/apps/qmiAirVantage' is a directory.
Aug 15 05:59:53 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c CreateFileLink() 1624 | Failed to create link at '/legato/systems/current/apps/qmiAirVantage' in app 'httpServer'.
Aug 15 05:59:53 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c app_Start() 2954 | Failed to set Smack rules or set up app area.
Aug 15 05:59:53 fx30 user.info Legato:  INFO | updateDaemon[871]/updateDaemon T=main | app.c app_InstallIndividual() 788 | App httpServer <e342add57a9f935bc9daa20cbb4d8256> installed
Aug 15 05:59:53 fx30 user.info Legato:  INFO | updateDaemon[871]/updateDaemon T=main | updateDaemon.c ApplyAppUpdate() 914 | App 'httpServer<e342add57a9f935bc9daa20cbb4d8256>' installed properly.

Why it needs to create it

Failed to create link at '/legato/systems/current/apps/qmiAirVantage'

It says it is installed properly
maybe you can try on WP76 R13 FW

Hi @jyijyi ,

FX30 only supply R16 and R10 in source.

My SDK and FW is in R10 version.

I checked app status and I got the app is running, but I also got error log

root@fx30:~# app start httpServer
There was an error.  Application 'httpServer' could not be started.
Check the system log for error messages.

the detail log like below

Aug 15 06:20:01 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c CreateFileLink() 1513 | '/legato/systems/current/apps/qmiAirVantage' is a directory.
Aug 15 06:20:01 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c CreateFileLink() 1624 | Failed to create link at '/legato/systems/current/apps/qmiAirVantage' in app 'httpServer'.
Aug 15 06:20:01 fx30 user.err Legato: =ERR= | supervisor[857]/supervisor T=main | app.c app_Start() 2954 | Failed to set Smack rules or set up app area.

Is that possible that the folder is created then return error ?

then you can try R16…

BTW, here says it works on R17: