Compilation of NS on different Linux distros
I'm trying to compile Nightshade on openSUSE 11.3 x86_64. I've installed boost devel libraries with required dependencies:
bgbackup:~/bin # rpm -qa | grep boost
libboost_
libboost_
libboost_
libboost_
boost-license1_
libboost_
libboost_
libboost_
libboost_
libboost_
libboost_
boost-devel-
libboost_
libboost_
libboost_
libboost_
libboost_
boost-devel-
Now ./configure:
(many many lines)
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for fabs in -lm... yes
checking for shm_open in -lrt... yes
checking for boostlib >= 1.35.0... configure: We could not detect the boost libraries (version 1.35 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/
configure: error: *** Boost C++ library version 1.35.0 or greater required.
So I looked into 'configure' and found:
--with-
use Boost library from a standard location (ARG=yes), from the specified location (ARG=<path>), or disable it (ARG=no) [ARG=yes]
--with-
Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.
I tried different combinations:
./configure --with-boost=yes --with-
./configure --with-boost=yes --with-
./configure --with-boost=yes --with-
./configure --with-
./configure --with-
./configure --with-
No luck :( Same problem I have on another openSUSE 11.3 box (32-bit installation). Some time ago I compiled NS on openSUSE 11.2 without or with only small problems. What can I do now?
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Trystan
- Solved:
- Last query:
- Last reply:
Related bugs
Related FAQ:
None Link to a FAQ
This question was reopened
- by Tomasz Lewicki
- by Tomasz Lewicki
- by Tomasz Lewicki
Revision history for this message
|
#1 |
Where did the boost libraries get installed? In many distros they go to /usr/local/lib. Ensure that the boost libraries are in your system's library path, otherwise configure can't find them. Something like 'env LIBRARY_
-Trystan
On Jul 19, 2010, at 3:47 AM, Tomasz Lewicki wrote:
> New question #118210 on Nightshade:
> https:/
>
> I'm trying to compile Nightshade on openSUSE 11.3 x86_64. I've installed boost devel libraries with required dependencies:
>
> bgbackup:~/bin # rpm -qa | grep boost
> libboost_
> libboost_
> libboost_
> libboost_
> boost-license1_
> libboost_
> libboost_
> libboost_
> libboost_
> libboost_
> libboost_
> boost-devel-
> libboost_
> libboost_
> libboost_
> libboost_
> libboost_
> boost-devel-
>
> Now ./configure:
>
> (many many lines)
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking for fabs in -lm... yes
> checking for shm_open in -lrt... yes
> checking for boostlib >= 1.35.0... configure: We could not detect the boost libraries (version 1.35 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/
> configure: error: *** Boost C++ library version 1.35.0 or greater required.
>
> So I looked into 'configure' and found:
>
> --with-boost[=ARG]
> use Boost library from a standard location (ARG=yes), from the specified location (ARG=<path>), or disable it (ARG=no) [ARG=yes]
> --with-
> Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.
>
> I tried different combinations:
>
> ./configure --with-boost=yes --with-
> ./configure --with-boost=yes --with-
> ./configure --with-boost=yes --with-
> ./configure --with-
> ./configure --with-
> ./configure --with-
>
> No luck :( Same problem I have on another openSUSE 11.3 box (32-bit installation). Some time ago I compiled NS on openSUSE 11.2 without or with only small problems. What can I do now?
>
> --
> You received this question notification because you are a member of
> Nightshade, which is an answer contact for Nightshade.
Revision history for this message
|
#2 |
Thanks for answer, Trystan.
In openSUSE 11.3 these libraries go directly to /usr/lib and header files go to /usr/include/boost:
stalker@
/home/stalker/
/usr/include/boost
(many many files in /usr/include/boost and subdirectories...)
/usr/lib/
/usr/lib/
/usr/lib/
(many files in /usr/lib/libboost)
Is it possible to compile NS without Boost? What is this library for?
Revision history for this message
|
#3 |
Look in your config.log and see what the actual error is from the boost test, just to confirm it is actually a boost issue.
Revision history for this message
|
#4 |
It is not possible to compile without boost. It is a library that extends the C++ language to do things the language has poor native facilities for. It was not used in earlier versions of nightshade but becomes important as the application becomes more sophisticated.
Another thing you can try is running 'aclocal -I m4' prior to ./configure.
-Trystan
On Jul 19, 2010, at 12:20 PM, Tomasz Lewicki wrote:
> Question #118210 on Nightshade changed:
> https:/
>
> Status: Answered => Open
>
> Tomasz Lewicki is still having a problem:
> Thanks for answer, Trystan.
>
> In openSUSE 11.3 these libraries go directly to /usr/lib and header
> files go to /usr/include/boost:
>
> stalker@
> /home/stalker/
> /usr/include/boost
> (many many files in /usr/include/boost and subdirectories...)
> /usr/lib/
> /usr/lib/
> /usr/lib/
> (many files in /usr/lib/libboost)
>
> Is it possible to compile NS without Boost? What is this library for?
>
> --
> You received this question notification because you are a member of
> Nightshade, which is an answer contact for Nightshade.
Revision history for this message
|
#5 |
Rob: this is my config.log -> http://
Revision history for this message
|
#6 |
I'm seeing a few
'./configure: line xxxxx: g++: command not found' lines in there.
Do you have g++ installed (the gnu C++ compiler front end)? On some
distros it does not come with gcc by default. If so, is it in your path?
Other checks are passing because they use gcc instead of g++.
-Trystan
On 07/19/2010 01:20 PM, Tomasz Lewicki wrote:
> Question #118210 on Nightshade changed:
> https:/
>
> Status: Answered => Open
>
> Tomasz Lewicki is still having a problem:
> Rob: this is my config.log -> http://
>
>
Revision history for this message
|
#7 |
@Trystan:
I found such error in config.log:
conftest.c:10:28: fatal error: ac_nonexistent.h: No such file or directory
stalker@
If 'aclocal' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf aclocal
(cnf is openSUSE's specific alias for `command-not-found` - helper application for confused terminal's users).
stalker@
/home/stalker/
/usr/share/aclocal
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
I installed m4 and autoconf packages ('aclocal' is in the second one package) - now 'aclocal -I m4' gone without problems. But './configure' still shows boost error. I was looking for next errors in config.log and - surprise! - g++ compiler wasn't found :/ I installed it... and libboost wasn't a problem anymore ;) But there was next one: SDL libraries. So I installed SDL-devel and many dependencies (mostly -devel packages). Next stop: lack of libpng-devel. Ok, here we go... Stop! libSDL-pango-devel and few colleagues. Next error, please! Aaaah, nothing next... What a pity :P
Now 'make' - looks good. 'sudo make install' - gone with the wind.
Ok, now I can finally play with NS. I type 'nightshade' in command line and... What is that?!
nightshade: error while loading shared libraries: libnscontrol.so.0: cannot open shared object file: No such file or directory
Heeelp! :)
Revision history for this message
|
#8 |
fomalhaut:~ # locate libnscontrol.so.0
/home/stalker/
/home/stalker/
/usr/local/
/usr/local/
fomalhaut:~ # ls -al /usr/local/
-rw-r--r-- 1 root root 4711748 Jul 19 22:45 /usr/local/
-rwxr-xr-x 1 root root 971 Jul 19 22:45 /usr/local/
lrwxrwxrwx 1 root root 21 Jul 19 22:45 /usr/local/
lrwxrwxrwx 1 root root 21 Jul 19 22:45 /usr/local/
-rwxr-xr-x 1 root root 2629291 Jul 19 22:45 /usr/local/
So libnscontrol.so.0 exists in /usr/local/lib...
Revision history for this message
|
#9 |
Ok, the libnscontrol problem could be a couple things.
First try just running 'ldconfig'. It must be run as root or su. Then retry running nightshade.
If you still have the problem then it's likely that libnscontrol isn't in the ld path. Locate the lib and add the path to the ld search path. The file that controls these paths is typically something like /etc/ld.so.conf (the exact file is distro dependent). After adding the path, run ldconfig.
-Trystan
On Jul 19, 2010, at 1:49 PM, Tomasz Lewicki wrote:
> Question #118210 on Nightshade changed:
> https:/
>
> Status: Answered => Open
>
> Tomasz Lewicki is still having a problem:
> @Trystan:
>
> I found such error in config.log:
>
> conftest.c:10:28: fatal error: ac_nonexistent.h: No such file or
> directory
>
> stalker@
> If 'aclocal' is not a typo you can use command-not-found to lookup the package that contains it, like this:
> cnf aclocal
>
> (cnf is openSUSE's specific alias for `command-not-found` - helper
> application for confused terminal's users).
>
> stalker@
> /home/stalker/
> /usr/share/aclocal
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
> /usr/share/
>
> I installed m4 and autoconf packages ('aclocal' is in the second one
> package) - now 'aclocal -I m4' gone without problems. But './configure'
> still shows boost error. I was looking for next errors in config.log and
> - surprise! - g++ compiler wasn't found :/ I installed it... and
> libboost wasn't a problem anymore ;) But there was next one: SDL
> libraries. So I installed SDL-devel and many dependencies (mostly -devel
> packages). Next stop: lack of libpng-devel. Ok, here we go... Stop!
> libSDL-pango-devel and few colleagues. Next error, please! Aaaah,
> nothing next... What a pity :P
>
> Now 'make' - looks good. 'sudo make install' - gone with the wind.
>
> Ok, now I can finally play with NS. I type 'nightshade' in command line
> and... What is that?!
>
> nightshade: error while loading shared libraries: libnscontrol.so.0:
> cannot open shared object file: No such file or directory
>
> Heeelp! :)
>
> --
> You received this question notification because you are a member of
> Nightshade, which is an answer contact for Nightshade.
Revision history for this message
|
#10 |
@Trystan: bingo! That means: perfect!
'ldconfig' was right answer - thank you very much for help. And Rob too, for pointing me to config.log ;)
Revision history for this message
|
#11 |
Thanks Trystan, that solved my question.
Revision history for this message
|
#12 |
Today I'm trying to compile newest version of NS (10.11.1) on openSUSE 11.3 x86_64 and stopped on such error during 'make':
/usr/lib64/
bgbackup:/ # zypper se tdl
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+----
i | libltdl3 | Libtool Runtime Library | package
| libltdl3 | Libtool Runtime Library | srcpackage
i | libltdl3-32bit | Libtool Runtime Library | package
| libltdl3-debuginfo | Debug information for package libltdl3 | package
| libltdl3-
| libltdl3-
i | libltdl7 | Libtool Runtime Library | package
i | libltdl7-32bit | Libtool Runtime Library | package
bgbackup:/ # locate ltdl
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib64/
/usr/lib64/
/usr/lib64/
/usr/lib64/
So libldtl3 and libltdl7 are installed. No -devel packages are available. What should I check now?
Revision history for this message
|
#13 |
Make sure that ldconfig is configured to look for libraries in /usr/lib64. The configuration files are somewhere under /etc/ but it varies per distribution and I'm not familiar with Suse (look for something like /etc/ldconfig.
Revision history for this message
|
#14 |
bgbackup:/ # locate ltdl
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib64/
/usr/lib64/
/usr/lib64/
/usr/lib64/
bgbackup:/ # cat /etc/ld.so.conf
/usr/X11R6/
/usr/X11R6/lib64
/usr/lib64/Xaw3d
/usr/X11R6/
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/x86_
/usr/local/lib
/opt/kde3/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/opt/kde3/lib64
include /etc/ld.
bgbackup:/ # ldconfig
stalker@
/usr/lib64/
collect2: ld returned 1 exit status
Revision history for this message
|
#15 |
Problem solved. I had to install 'libtool' package and all went smoothly.
Revision history for this message
|
#16 |
I have problem with newest version of Nightshade (11.2.1) on openSUSE 11.3 x86_64. When running 'configure' command I get this error:
configure: error: *** FastDB library not found. Install libfastdb.a to /usr/local/lib or create a symbolic link. ***
I tried to find FastDB package for my distro but no luck. I'm using search engine for openSUSE and Pbone engine (http://
Can you help me please?
Revision history for this message
|
#17 |
It's not unusual for FastDB to not be pre-built for a distribution. It isn't pre-built for current versions of Ubuntu or Redhat either. So, you'll need to build it from source. You can find it here; http://
Revision history for this message
|
#18 |
Thanks Trystan, that solved my question.
Revision history for this message
|
#19 |
What if building FastDB on Fedora 15 gives a list of
"database.
kind of errors?
I downloaded the package from http://
I don't understand how to solve this: any tip??
Revision history for this message
|
#20 |
The -fpermissive flag needs to be passed to newer versions of gcc/g++ to compile the FastDB project. You can add this by editing the makefile. It's just a command line parameter for gcc.
Revision history for this message
|
#21 |
Oh, then "-fpermissive" in the fastdb makefile? But where? After a precise command or anywhere?
Meanwhile, I found a more recent version of fastdb, the 3.69 (I was using 3.68), that doesn't give the previous error (the "-fpermissive" one), but, after the "make" command in Nightshade installation produces "usr/local/
Revision history for this message
|
#22 |
FastDB installs its config.h file to the system; it should not. Simply renaming /usr/local/
Revision history for this message
|
#23 |
Sure indeed!
Thank you a lot!
:D
Revision history for this message
|
#24 |
Very similar issue, and must be missing something obvious.
Attempting to compile Nightshade 11.12 on Ubuntu 11.10 (also attempted on 12.04- same issue).
During ./configure receiving the error: ***FastDB library not found Install fastdb.a to usr/local/lib
I have downloaded fastdb 3.71 from sourceforge and did
make
make install
make clean
usr/local/lib shows these files:
libfastdb_r.a
libfastdb_r.so
libfastdb_r.so.2
I ran sudo mv config.h config.h.back in usr/local/
I have g++ 4:4.6.1-2ubuntu5
What should I do next?
Revision history for this message
|
#25 |
Kyle,
just copy fastdb.a to /usr/local/lib and try ./configure again. I remember I had similar problem both on openSUSE and Ubuntu.
Revision history for this message
|
#26 |
Yeah, but I can't find fastdb.a anywhere. I've tried "locate fastdb.a" with no results.
Revision history for this message
|
#27 |
It should be in 'fastdb' directory after its compilation. I can send it to you - I compiled it on Ubuntu 12.04 64 bit. Drop me an e-mail on stalker AT poczta.onet.pl
Revision history for this message
|
#28 |
I think I recall that libfastdb_r.a is the same library. Why is has a _r appended on some systems I don't know. Try making a synlink to it. e.g.
ln -s /usr/local/
Then do a 'sudo ldconfig' before you run ./configure again.
Revision history for this message
|
#29 |
Sorry symlink is backwards :P Should be, ln -s /usr/local/
Revision history for this message
|
#30 |
Trystan,
Previously, I had tried changing the name of libfastdb_r.a to libfastdb.a to no avail. the _r.a appears to be an archive, but archie manager does not recognize it as such. I did try the symbolic link which did create the libfastdb.a file in /lcoal/lib. I ran sudo ldconfig prior to ./configure. Nothing happend.
when I ran ./config, I received the same error of no libfastdb.a file
Tomasz said that he will try sending me the file via email. Might work?
Revision history for this message
|
#31 |
Kyle,
I sent you a file. Please check it, I hope it helps.
Revision history for this message
|
#32 |
sudo mv libfastdb.a /usr/local/
navagate to nightshade folder...
sudo ldconfig
./config
no glory.
Same error.
Revision history for this message
|
#33 |
Good morning.
Just so you know, some weeks ago I installed Ubuntu PP 12.04 on my laptop and when I tried to install Nightshade I had the same problem (missing libfast.a).
I didn't have the time to spend to understand the problem then, so now I'm pretty happy to read your informations.
I hope we can solve this!
Revision history for this message
|
#34 |
The Nightshade ./configure script looks specifically for the cli_create function in /usr/local/
My system has 3.67 which builds with Nightshade successfully.
Revision history for this message
|
#35 |
I had to repair my laptop and thus erased hard drive. Now I'm trying to compile Nightshade on Kubuntu 12.10 and again have problems with FastDB. I tried different versions as Trystan suggested in previous answer (3.67, 3.70, 3.72) but error is always the same: "FastDB library not found. Install libfastdb.a to /usr/local/lib or create a symbolic link." Of course I have done all 'ldconfig' commands But:
stalker@bajkonur:~$ ls -l /usr/local/lib/
razem 1424
-rw-r--r-- 1 root root 77976 gru 8 10:10 libcli.a
-rwxr-xr-x 1 root root 795 gru 8 10:10 libcli.la
lrwxrwxrwx 1 root root 15 gru 8 10:10 libcli.so -> libcli.so.2.0.0
lrwxrwxrwx 1 root root 15 gru 8 10:10 libcli.so.2 -> libcli.so.2.0.0
-rwxr-xr-x 1 root root 63024 gru 8 10:10 libcli.so.2.0.0
-rw-r--r-- 1 root root 759134 gru 8 10:10 libfastdb.a
-rwxr-xr-x 1 root root 816 gru 8 10:10 libfastdb.la
lrwxrwxrwx 1 root root 18 gru 8 10:10 libfastdb.so -> libfastdb.so.2.0.0
lrwxrwxrwx 1 root root 18 gru 8 10:10 libfastdb.so.2 -> libfastdb.so.2.0.0
-rwxr-xr-x 1 root root 527560 gru 8 10:10 libfastdb.so.2.0.0
drwxrwsr-x 4 root staff 4096 paź 17 18:02 python2.7
drwxrwsr-x 3 root staff 4096 paź 17 17:59 python3.2
drwxr-xr-x 3 root root 4096 gru 6 23:14 site_ruby
This is my config.log: http://
Revision history for this message
|
#36 |
The only possibility I see is that the version of fastdb you have in /usr/local/lib is not actually 3.67 or earlier. I see that you tried 3.67 but I would simply try again and verify that the version you currently have is actually overwritten when you install 3.67. You may need to forcibly uninstall the newer version first. All the configure script checks for is the function cli_create() in libfastdb.a, which was removed post 3.67.
Revision history for this message
|
#37 |
Thanks, Trystan.
I uninstalled current version but had problems with compiling new/old one (3.67). It's very strange because day ago I was playing with different versions without any problems. So I have done dirty hack: I took copy of working Nightshade installation from my other laptop (Ubuntu 12.04). After including few NS libraries from /usr/local/lib and doing 'ldconfig' I have working copy of Nightshade on my Kubuntu 12.10 repaired laptop.
Revision history for this message
|
#38 |
Thanks Trystan, that solved my question.