Archive: scons build problem on RH


scons build problem on RH
Hi there,

I'm having a minor problem building NSIS on a RH 7.3 system.

I'm running Python 1.5.2
I'm running of scons v0.96.90.D001 (also tried an older version)
I've tried with nsis 7.0 and 8.0

I'm getting the following error when trying to install under all combinations:

scons: Reading SConscript files ...
File "SConstruct", line 183

defenv['INSTVER'] += ' /DVER_MAJOR=$VER_MAJOR'

^

SyntaxError: invalid syntax


I've also tried with

scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all

As per the installation guide - that does not change anything.

Any ideas?

Another question: the installation guide says the above will only build makensis - and that I can drop it (when i manage to build it) into a downloaded precompiled package such as the nightly build.

Where do I find the nightly build?

Thanks

/Martin

Hmmm.... NSIS 7.0 and 8.0, you are far ahead of all of us ...
(Could not resist)
But seriously,

Did you try a Scons -c to clean an old scons? My guess is you used scons "old" upgraded to newer Scons but did not clean.

Success


Originally posted by onad
Hmmm.... NSIS 7.0 and 8.0, you are far ahead of all of us ...
(Could not resist)
Rofl :) My bad. Make that 2.x instead ;)

Originally posted by onad
Did you try a Scons -c to clean an old scons? My guess is you used scons "old" upgraded to newer Scons but did not clean.

Success [/B]
Afraid that does not help. Still getting same error. :(

/Martin

As to the syntax error, try running scons like this: scons VERSION=2.08

Nightly builds are here:

http://nsis.sourceforge.net/nightly/nsis.zip
http://nsis.sourceforge.net/nightly/build.log

They are not being generated atm, because kichik's P100 was having problems with the disk-intensive build process. kichik, was there any docs on how your nightly builds were setup?


Originally posted by pabs
As to the syntax error, try running scons like this: scons VERSION=2.08
Afraid that does not help either. Still getting same error.

Does this indicate an error that has something to do with scons or python? Would it help updating to a newer version of python perhaps?

Regards

/Martin

I use Python v2.4.1 on Suse v9.3 and FreeBSD v4.11. No time to test compiling there though. On Win32 it works out with v2.4.1. A python update would never hurt either, just try it if you can.


Originally posted by onad
I use Python v2.4.1 on Suse v9.3 and FreeBSD v4.11. No time to test compiling there though. On Win32 it works out with v2.4.1. A python update would never hurt either, just try it if you can.
I have previously tried getting older versions running on freebsd (before nsis started using scons) without any luck. I guess getting nsis running is out of my league.

I am starting to get a bit frustrated and is even considering purchasing a windows server to avoid having to mess with this more.

Would it be against the rules of this forum to ask if anyone know of any commercial services and/or people that would be willing to take care of installing nsis for money?

Regards

/Martin

These comming days I WILL compile on FreeBSD, Linux was no problem, could even compile on OSX with the old Makefile anyhow :-). As soon as I have FreeBSD results I'll post it.

I understand your fustration, but you need only to succeed once to have a stable FreeBSD build process, and that is exactly what I'm also aming at.

Experiment and hold on, so far I succeded quite well, you can to if we help eachother.


The old Python version might have a problem with the line splitting of the line above. Try merging the two lines above the line where the syntax error occurs and remove the backslash.

BTW, you can always use WINE to run the Windows version.

kichik, was there any docs on how your nightly builds were setup?
It just builds it using WINE and uploads to SourceForge.

I tried merging the line and that did not produce any results.

Then installed Python 2.4.1 (#1, Aug 11 2005, 19:16:33) -- scons still uses same results. I got the feeling that scons might use the old version of python though, but I am unable to find any information regarding how to force it to use 2.4 instead. Any ideas?

Regards

/Martin


I've just installed Python 1.5.2 and found the problem. In your original post it's not that clear because you forgot to use [ code ]. The spaces before the error pointer weren't displayed. The error pointer points to the '+=' operator which is not supported in Python 1.5.2. I've fixed that and found more compatibility problems. Lots of them. There were so many and they were getting increasingly annoying. I think it was a weird NameError that got me to stop trying. I've decided I don't want to support Python 1.5.2. Python 1.6 seems to have all that the script needs, so I've added a check for it.

To get around your problem of SCons running on 1.5.2, find the SCons executable, which should be a shell script, and edit it. It should contain some reference to the Python executable. On Windows, it looks for Python on the PATH. Giving it a fully qualified path forces it to use the right version.


Originally posted by kichik
I've just installed Python 1.5.2 and found the problem. (...) I've fixed that and found more compatibility problems. Lots of them. There were so many and they were getting increasingly annoying. (...) I've decided I don't want to support Python 1.5.2. Python 1.6 seems to have all that the script needs, so I've added a check for it.
I'm sorry I ruined your evening ;)

Originally posted by kichik
To get around your problem of SCons running on 1.5.2, find the SCons executable, which should be a shell script, and edit it.
Yes. First line of the file. Surely did the trick - managed to get it building. I got a few new errors popping up...


Install file: "build/release/Docs/html/Chapter5.html" as ".instdist/Docs/Chapter5.html"
Install file: "build/release/Docs/html/Contents.html" as ".instdist/Docs/Contents.html"
Install file: "build/release/Docs/html/IndexPage.html" as ".instdist/Docs/IndexPage.html"
Install file: "Include/StrFunc.txt" as ".instdist/Docs/StrFunc/StrFunc.txt"
Install file: "Docs/src/style.css" as ".instdist/Docs/style.css"
scons: done building targets.

scons: *** Dependency cycle: Examples/FileFunc.ini -> Examples/FileFunc.ini -> .instdist/Examples/FileFunc.ini -> .instdist/Examples -> .instdist -> . -> install
File "/usr/lib/scons/SCons/Taskmaster.py", line 332, in _find_next_ready_node
I'll have a look at those in the morning and see if I can figure out whats wrong there :)

Regards

/Martin

Actually it would be more correct if I write this error as this is the one occuring when trying to build using:

scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all install


build/release/makensis/zlib/trees.o -lpthread -lstdc++
build/release/makensis/strlist.o: In function `DefineList::add(char const *, char const *)':
build/release/makensis/strlist.o(.text+0x4cd): undefined reference to `void quit<define>(void)'
collect2: ld returned 1 exit status
scons: *** [build/release/makensis/makensis] Error 1
scons: building terminated because of errors.
/me wonders what he did wrong this time ;)

Regards

/Martin

Try using a clean source package. The errors encountered before might have corrupted SCons state files.


Hello,

1) Did big cleanup of old versions etc.
2) Got last version from cvs
3) tried again and got same error as above.

I'm trying to build this on a RH 7.3, decided that it might be a problem with that:

Installed scons-0.96.1-1 on a RH enterprise with python:

Python 2.2.3 (#1, Aug 8 2003, 08:44:02) [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-13)] on linux2
Got latest version of NSIS via CVS, tried:

[root@commander NSIS]# scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all install
scons: Reading SConscript files ...
scons: *** Path does not exist for option PREFIX:
File "SConstruct", line 85, in ?
Then I set the path and got:

[root@commander NSIS]# scons PREFIX="/root/NSIS/" SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all install
scons: Reading SConscript files ...
scons: *** Path does not exist for option CPPPATH:
File "SConstruct", line 85, in ?
Seems like problems follows me no matter what machine I'm at ;)

Regards

/Martin

That error is caused by the old SCons version. You must use at least 0.96.90.

Please use [ quote ][ size=1 ] [/ size ][/ quote ] instead of [ code ] for outputs with long lines, or manually break the lines.


Sorry about installing the wrong version of scons on that 2nd machine. Installing the latest version of scons did the trick.


scons: done building targets.


And it seems to be working. Seems like it was either red hat 7.3 or the version of python that was causing all of those problems.

Thanks for all the help!

Regards

/Martin