Unable To execute SCons script in jenkins

126 views
Skip to first unread message

Uma

unread,
Oct 12, 2016, 11:34:06 AM10/12/16
to Jenkins Users
I am trying to build git project using icons script. 

Project Name = Sample
Jenkins Home =  Users/Uma/.jenkins

Workspace root = ${ITEM_ROOTDIR}/workspace/


Project Structure in Git : 
                                       — SConstruct 
                                       — Demo
                                           —  Files.cpp
                                           —  Files.hpp


Console Output:

  > git config core.sparsecheckout # timeout=10
 > git checkout -f 79d8e3a80aa4b114f72ad383f985028838f26ab0
 > git rev-list 79d8e3a80aa4b114f72ad383f985028838f26ab0 # timeout=10
No emails were triggered.
[workspace] $ scons -f /Users/Uma/.jenkins/jobs/Sample/workspace
FATAL: command execution failed
java.io.IOException: Cannot run program "scons" (in directory "/Users/Uma/.jenkins/jobs/Sample/workspace"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at hudson.Proc$LocalProc.<init>(Proc.java:243)
	at hudson.Proc$LocalProc.<init>(Proc.java:212)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:815)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)


I can run “ scons under "/Users/Uma/.jenkins/jobs/Sample/workspace” with success.
What went wrong?

Thanks in advance.

Victor Martinez

unread,
Oct 12, 2016, 12:15:59 PM10/12/16
to Jenkins Users
Hi,
Apparently scons is not part of your env variable path.

Run 'which scons' and 'echo $PATH' then you will figure out what env varianles were loaded when running that job.

Cheers

Umamaheswari G

unread,
Oct 12, 2016, 12:29:50 PM10/12/16
to jenkins...@googlegroups.com
Hi,
Thanks for the reply 
Where can I set env variable for scons path?

I have tried setting  Jenkins -> Manage Jetkins -> configure System -> Global Properties -> Environment Variable :
  Name = PATH 
  Value = /usr/local/bin/scons

It does not seems to be work.

regards


--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/Ofs-TV4s10Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5f3616e9-f013-41f7-a237-95421034ef24%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rachel

unread,
Oct 12, 2016, 3:14:20 PM10/12/16
to Jenkins Users
Hi Uma,

I've used those steps for creating new environment variables in Jenkins, but not for overwriting PATH, althouth you might use:

Value = $PATH:/adding/new/path/

in order not to lose previous value of PATH. Anyway, if scons is located in /usr/local/bin (as you indicated), Jenkins would have to find it, because that path is usually into PATH variable.

From your output, I guess you're using SCons Plugin. Although it's not necessary in this case, try to configure "SCons Executable Path" in "Global Configuration" (https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=42470444) with /usr/local/bin (without /scons).

If problem persists, maybe it's a bug of SCons Plugin. Try to execute SCons through:
  • Add build step > Execute shell
Tell us if you get it.

Best regards,
Rachel



El miércoles, 12 de octubre de 2016, 18:29:50 (UTC+2), Uma escribió:
Hi,
Thanks for the reply 
Where can I set env variable for scons path?

I have tried setting  Jenkins -> Manage Jetkins -> configure System -> Global Properties -> Environment Variable :
  Name = PATH 
  Value = /usr/local/bin/scons

It does not seems to be work.

regards
On Wed, Oct 12, 2016 at 6:15 PM, Victor Martinez <victormar...@gmail.com> wrote:
Hi,
Apparently scons is not part of your env variable path.

Run 'which scons' and 'echo $PATH' then you will figure out what env varianles were loaded when running that job.

Cheers

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/Ofs-TV4s10Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-use...@googlegroups.com.

Umamaheswari G

unread,
Oct 13, 2016, 4:58:47 AM10/13/16
to jenkins...@googlegroups.com
Hi,

I have tried removing the build step in  my project->configure->Build. 

Now the console output is 

Started by user Administrator
Building in workspace /Users/Shared/Jenkins/Home/workspace/TestProject
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/guma-005/JenkinsDemo.git # timeout=10
Fetching upstream changes from https://github.com/guma-005/JenkinsDemo.git
 > git --version # timeout=10
 > git fetch --tags --progress https://github.com/guma-005/JenkinsDemo.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 79d8e3a80aa4b114f72ad383f985028838f26ab0 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 79d8e3a80aa4b114f72ad383f985028838f26ab0
 > git rev-list 79d8e3a80aa4b114f72ad383f985028838f26ab0 # timeout=10
Finished: SUCCESS

(Sorry I created another job with same code and everything)

Project Structure in Git : 
                                       — SConstruct 
                                       — Demo
                                           —  Files.cpp
                                           —  Files.hpp

 List of variables
 Name
 Value
 






 Home directory/Users/Shared/Jenkins/HomeHelp for feature: Home directory
 Workspace Root DirectoryHelp for feature: Workspace Root Directory
 Build Record Root DirectoryHelp for feature: Build Record Root Directory


It seems it not even running Scons script in my workspace. If so why it return SUCCESS?
Thanks in advance.


To unsubscribe from this group and all its topics, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/f9bacef9-916d-4dcc-81fc-d66ebf6031b6%40googlegroups.com.

Rachel

unread,
Oct 13, 2016, 4:22:16 PM10/13/16
to Jenkins Users
Hi,

Yes, that's the reason. If you remove the build step about SCons, you'll have to add a new step:

  • Add build step > Execute shell
and write the SCons command:

scons -f /Users/Uma/.jenkins/jobs/Sample/workspace

or in a smart way:

scons -f $WORKSPACE

I think you don't need to re-define an environment variable.

I hope be useful.

Best regards,
Rachel

Umamaheswari G

unread,
Oct 14, 2016, 8:38:41 AM10/14/16
to jenkins...@googlegroups.com
Hi Rachel, 
    Thanks for the help. It does work.  Following is the console output. 


[workspace] $ scons -f "scons -f /Users/Uma/.jenkins/jobs/Sample/workspace"
scons: Reading SConscript files ...

scons: warning: Ignoring missing SConscript 'scons -f /Users/Uma/.jenkins/Sample/New/workspace'
File "/usr/local/bin/scons", line 199, in <module>
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
Finished: SUCCESS

I intentionally made some mistakes in my code.  What I was expecting is some error message while building with icons.

But What I was expecting is 

scons: Reading SConscript files ...

scons: done reading SConscript files.

scons: Building targets ...

g++ -o Demo/Bed.o -c -Wall -ansi -pedantic -O2 -lX11 -std=c++11 -DSETTINGS_DEVELOPMENT -DUSER_UMA -I/opt/local/include -Iusr/include/boost/system -I/usr/include/boost -I/usr/include/boost/test -I/usr/include/boost/timer -I/opt/local/include/mariadb/mysql -I/opt/local/include/freetype2 -Irapidxml -Ilru_cache Demo/Bed.cpp

clang: warning: -lX11: 'linker' input unused

Demo/Bed.cpp:23:6: error: C++ requires a type specifier for all declarations

Bed::getBedSize(){

     ^

1 error generated.

scons: *** [Demo/Bed.o] Error 1

scons: building terminated because of errors.


I guess it is not executing the scons command in my workspace in which I have my SConstruct file.


Thanks

Uma


To unsubscribe from this group and all its topics, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/e377974a-6013-4684-89a4-db92fee6378c%40googlegroups.com.

Rachel

unread,
Oct 15, 2016, 9:36:01 AM10/15/16
to Jenkins Users
Hi Uma,

Congrats! Jenkins executed scons command! But you might choose only an option between these ones:
  • Not to use Scons Plugin configuring command through Add build step > Execute shell and writing the same command you executes without Jenkins.
Best regards,
Rachel

Umamaheswari G

unread,
Oct 16, 2016, 7:55:05 AM10/16/16
to jenkins...@googlegroups.com
Hi Rachel,

Thanks a lot. It finally works with Executing shell script option.

Regards
Uma

To unsubscribe from this group and all its topics, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/c62b1723-2d74-4cf2-b290-e1f311d63c21%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages