FreeBSD compilation

Started by dwilde1, May 14, 2004, 02:15:53 PM

Previous topic - Next topic

dwilde1

on FreeBSD 4.8-STABLE/ 4.9-STABLE w/ gcc 2.95



Here's what I did:



1) use gmake, as in 'gmake bsd'

2) edit makefile_bsd to remove '-pedantic'



The warning was 'ANSI C does not support long long'



However, even though GCC claims to have extensions to support long long,

I seem to get the same 10 signifgicant figures even with the warnings. So, I put -pedantic back in, JIC there's something else that would trip me.

Lutz

#1
The problem is with header files on some freeBSD and Linux installations, newLISP does not use 'long long' in any place, only uses 32bit integers and 64bit floats, the warning is triggered by some of the include files. I have seen the same 'long long'-warnings on a debian Linux system. On my ISP FreeBSD 4.4 and gcc 2.95 things are fine using: gmake bsd or using:



make -f makefile_bsd



gmake on BSD is only necessary to handle some part in 'Makefile' for RPM generation (the ifndef statements).



for compiling/linking the only thing 'Makefile' does is calling the appropiate makefile_xxx, so you can use those directly trying make or gmake.



Lutz

dwilde1

#2
Thanks, Lutz! I think I'll go play a bit... :D[/quote]

dwilde1

#3
Okay, got TCL 8.4.5 installed and pointed wish to the right place in newlisp-tk, changed #! to /usr/local/bin/wish



I now get this error:



/usr/bin/newlisp-tk: line 145: syntax error near unexpected token `Ide(i'

/usr/bin/newlisp-tk: line 145: `set Ide(imageDir)           "/usr/share/newlisp/newlisp-tk/images"'



It successfully interpreted the first script line, 'set IDEversion... ', but died on the second.

Lutz

#4
The first executable line in newlisp-tk.tcl is:



set IDEversion "newLISP-tk v.1.14"



The second is:



set Ide(imageDir) "/usr/share/newlisp/newlisp-tk/images"



It seems like it is not running Tcl/Tk and interpretes the first line as a legal shell statement. The second line is not legal in shell script but in Tcl/Tk and it trips over it. Check your first line again, which should be: #!/usr/local/bin/wish



You could also try:



/usr/local/bin/wish newlisp-tk.tcl



to make sure your machine really is tunning tcl/tk and wich is in /usr/loacl/bin/wish



Lutz

dwilde1

#5
Actually, it's a little crazier than that. On FreeBSd, now, wish is identified by version. WHen I ran /usr/local/bin/wish newlisp-tk, I go back an error message stating that I needed to choose which wish!
QuoteIn FreeBSD, wish is named with a version number.  This is because

different versions of wish are not compatible with each other and

they can not all be called "wish"!  You may need multiple versions

installed because a given port may depend on a specific version.



On your system, wish is installed under at least the following names:



wish8.2

wish8.3

wishstep8.0


So, I changed the sh-bang to



    #!/usr/local/bin/wish8.3



and it works. [/quote]

Lutz

#6
glad you got it to work



Lutz

jmf

#7
On NetBSD I added "-lncurses" to makefile_bsd. Thanks, Lutz.

Lutz

#8
I will add this as an option in the makefile_bsd. I am glad it also compiles on NetBSD, which version are you using?



Lutz