LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Boost.Signals (https://www.linuxquestions.org/questions/slackware-14/boost-signals-586810/)

adriv 09-23-2007 04:14 PM

Boost.Signals
 
Can anyone shed some light on this:
I'm trying to install Pingus, all the requirements are installed, except boost.signals...
From the INSTALL-unix:
Code:

g++          - http://gcc.gnu.org/
 SDL          - http://libsdl.org/
 SDL_mixer
 SDL_image
 boost        - http://www.boost.org
 boost-signals - http://www.boost.org
 libpng        - http://libpng.org/
 scons        - http://scons.org/

Got 'em all, except boost-signals.
On boost.org is a tutorial, but I haven't got the faintest idea how to use that.

osor 09-23-2007 09:36 PM

Boost.Signals is just part of boost, which you can download here. To check to see if you already have boost-signals, look for a header file named “boost/signals.hpp” in your standard include path. If the file exists, you most likely have Boost.Signals already.

adriv 09-24-2007 05:50 AM

Thanks for the reply!
Odd that they mention it if it's a part of boost... :rolleyes:
So I looked in KPackage and yes it's there.
Nevertheless, trying to compile Pingus gives me this error:

Code:

bash-3.1$  scons configure
scons: Reading SConscript files ...
Checking for C++ library boost_signals... no
Checking for C++ library png... yes
Checking for sdl-config...(cached) /usr/bin/sdl-config
Checking for C++ library SDL_image... yes
Checking for C++ library SDL_mixer... yes
Reports:
  * Linux USB mouse support: ok
  * Wiimote support: disabled
  * XInput support: disabled

Fatal Errors:
  * library 'boost_signals' not found

bash-3.1$

:scratch:

adriv 09-24-2007 09:03 AM

I removed boost (got the .tgz from Slacky-eu) and compiled it with src2pkg in the hope that this would change things for the good...
It compiled without errors, but installing boost gives me this:
Code:

bash-3.1# installpkg /tmp/boost-1.34.1-i486-1.tgz
Installing package boost-1.34.1-i486-1...
PACKAGE DESCRIPTION:
boost: boost
boost:
boost: No description was given for this package.
boost:
boost: Packaged by: src2pkg
/sbin/ldconfig: /usr/lib/libboost_wserialization-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wserialization-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wserialization-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_signals-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_prg_exec_monitor-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wserialization-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_iostreams-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_program_options-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wave-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_filesystem-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_unit_test_framework-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_unit_test_framework-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_signals-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_regex-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_iostreams-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_python-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_serialization-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_graph-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_prg_exec_monitor-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_signals-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_date_time-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wave-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_prg_exec_monitor-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_filesystem-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_serialization-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_graph-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_graph-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_regex-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_filesystem-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_prg_exec_monitor-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_unit_test_framework-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_date_time-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_regex-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_program_options-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_program_options-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_iostreams-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_python-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wave-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_serialization-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_graph-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_python-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_regex-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_serialization-gcc41-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_filesystem-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_thread-gcc41-mt-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_python-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_unit_test_framework-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_wave-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_date_time-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_signals-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_iostreams-gcc41-mt-d-1_34_1.so.1.34.1 is not a                                  symbolic link

/sbin/ldconfig: /usr/lib/libboost_thread-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_date_time-gcc41-mt-1_34_1.so.1.34.1 is not a symbolic link

/sbin/ldconfig: /usr/lib/libboost_program_options-gcc41-d-1_34_1.so.1.34.1 is not a symbolic link

Executing install script for boost-1.34.1-i486-1...

bash-3.1#

Apparently there have to be made symlinks, but where to?
Google gives me no results...

osor 09-24-2007 11:47 AM

Quote:

Originally Posted by adriv (Post 2901871)
So I looked in KPackage and yes it's there.

Do you mean that file (i.e., “/usr/include/boost/signal.hpp”) is there?
Quote:

Originally Posted by adriv (Post 2901871)
Code:

Fatal Errors:
  * library 'boost_signals' not found


If the header is already there, it most likely means that the linker could not find the file (which is consistent with your next post). To get more information, see config.log.
Quote:

Originally Posted by adriv (Post 2902060)
Apparently there have to be made symlinks, but where to?
Google gives me no results...

On my machine, it goes something like this:
Code:

lrwxrwxrwx 1 root root      21 2007-07-25 01:30 /usr/lib/libboost_signals.a -> libboost_signals-mt.a
lrwxrwxrwx 1 root root      21 2007-07-25 01:30 /usr/lib/libboost_signals-gcc-mt.a -> libboost_signals-mt.a
lrwxrwxrwx 1 root root      22 2007-07-25 01:30 /usr/lib/libboost_signals-gcc-mt.so -> libboost_signals-mt.so
-rw-r--r-- 1 root root  153400 2007-07-25 01:30 /usr/lib/libboost_signals-mt.a
lrwxrwxrwx 1 root root      29 2007-07-25 01:30 /usr/lib/libboost_signals-mt.so -> libboost_signals-mt.so.1.34.1
-rwxr-xr-x 1 root root  71072 2007-07-25 01:30 /usr/lib/libboost_signals-mt.so.1.34.1
lrwxrwxrwx 1 root root      22 2007-07-25 01:30 /usr/lib/libboost_signals.so -> libboost_signals-mt.so

This may not be the default if you build and install from source. By default, libraries are named as described here. Many distributions, however, use symlinks so that one may link using this:
Code:

$ g++ -o foo -lboost_signals foo.cpp
rather than this:
Code:

$ g++ -o foo -lboost_signals-gcc-mt foo.cpp
Note that the latter is better suited to the boost build system (bjam), but the former is easier to use with standard portable makefiles (and pretty much any other make system such as autotools or SCons).

So most likely, the pingus build system (which uses SCons), expected to be able to use the first method (-lboost_signals) rather than the second ((-lboost_signals-gcc-mt). It may be more clear if you look at the contents of config.log.

x94qvi 09-24-2007 11:52 AM

Hi there,

Not sure if this helps, but I did successfully install pingus this past weekend. I am using a stock Slackware 12 (generic SMP kernal). Here's what I did:

1) Install the boost slackware package from www.linuxpackages.net (specific filename is boost-1.33.1-i486-1asz.tgz)
I don't usually like to use packages from linuxpackages.net, but in this case for this particular package, it did the trick without any extra aggravation on my part. I did this after installing the source, but finding it was placed in the wrong location(s)

2) Install physfs-1.1.1.tar.gz (from http://icculus.org/physfs/)
to do so:
cmake .
ccmake .
make
[as root] make install

3) Install scons-0.97.0d20070918.tar.gz (from http://sourceforge.net/project/showf...group_id=30337)

To install:
[as root] python setup.py install --prefix=/usr

4) Install SDL_mixer & SDL_image. You should make sure they are configured with --prefix=/usr

5) Install pingus-0.7.0.tar.bz2 (from http://pingus.seul.org/)

To compile & make:
scons

According to the docs, you don't have to install it, so that's where I left it.

Strangely enough, I see a different list of requirements on the INSTALL.unix file than you posted. Here's on mine:

Quote:

SDL - http://libsdl.org/
SDL_mixer
SDL_image
boost - http://www.boost.org
libpng - http://libpng.org/
scons - http://scons.org/
(According to another post I read, they might have left out physfs by mistake, which turned out to be true). So... Is it possible that you have an older version of pingus that you are trying to install? If so, you may want to dl the latest version.

Not sure if this will work for you, but it did for me, and I've been playing Pingus ever since. Hope this helps.

Rob

osor 09-24-2007 12:48 PM

Quote:

Originally Posted by x94qvi (Post 2902203)
So... Is it possible that you have an older version of pingus that you are trying to install? If so, you may want to dl the latest version.

It seems like your version is older than the latest version. The older versions work because the lack of linked-to boost libraries (i.e., they use only headers).

The contents of this file indicate that the said package (aside from being one minor version old) doesn’t contain any of the (linked-to) libraries except Boost.Thread. This is fine for the majority of boost applications (since the vast majority of boost is implemented entirely in headers with templates, defines, and inline functions), but won’t cut it if you want to use some of the more advanced aspects of the library.

drauk 09-24-2007 01:08 PM

Hi
i just download the game and i get the same problem:

Code:

Fatal Errors:
  * library 'boost_signals' not found

so i check the file config.log and the problem is linking with boost_signal library

Code:

/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/bin/ld: cannot f
ind -lboost_signals
collect2: ld returned 1 exit status

so i go to check the lib files and this fixed my problem:
Code:

ln -s /usr/lib/libboost_signals-gcc41.so /usr/lib/libboost_signals.so
(i downloaded boost and scons package from slacky)

Alien Bob 09-24-2007 01:17 PM

You can try my boost package. Get it at http://www.slackware.com/~alien/slac...oost/pkg/12.0/

It does have the libraries you are missing.

Eric

adriv 09-24-2007 03:47 PM

Thank you all for the help!
Code:

ln -s /usr/lib/libboost_signals-gcc41.so /usr/lib/libboost_signals.so
Did the trick.
Think I'll try Alien Bob's package (it 'll probably be better than the one I compiled), but for the moment it works.

@ x94qvi: osor was right, that is a previous version. I was gonna try that if the symlink hadn't worked and Alien Bob's package also wasn't gonna fix it.
So thanks anyway. :)
It's also true that the INSTALL.Unix didn't mention the dependency physfs (it's marked as a bug), but installing physfs didn't solve it.
The symlink did. ;)

jaguarrh 09-27-2007 02:55 AM

thanks to everyone who has contributed to this thread. i recently installed pingus following the instructions herewithin, and had great fun doing it :)

just one question though, i went through "tutorial island" and was getting excited about getting into the levels... young at heart ;) but there doesn't seem to be any?

am i missing something or does the game so far just consist of the tutorial levels and the level designer tool? i don't feel like building levels, i just wanna kill some time.

cheers

adriv 09-27-2007 04:07 PM

I'm not much of a gamer myself (installed it for he kids), but it seems that after Tutorial Island it stops.
You can create new levels (which doesn't seem too hard to do).
And that kills time too. ;)

x94qvi 09-29-2007 10:01 AM

Jaguarrh:

In the game overview (http://pingus.seul.org/welcome.html) they mention that there are 22 playable levels. They neglected to mention that the 22 levels are actually part of the trainer (i.e. Tutorial Island), and there's no official non-tutorial levels. :P

However, in the FAQ they mention that there's 120 work-in-progress and "playable" levels, which came with the installation. The FAQ (http://pingus.seul.org/faq.html#faqid2247516) has details as to where they are located, and a caveat that not all of the levels have been tested thoroughly.

Cheers,
Rob

jaguarrh 09-30-2007 12:36 AM

thanks for that Rob

cheers

Shingoshi 01-28-2008 01:12 AM

[quote=adriv;2902060]I removed boost (got the .tgz from Slacky-eu) and compiled it with src2pkg in the hope that this would change things for the good...

I too am trying to compile boost with src2pkg. But at the end of the compile, I get this:
...on 4300th target...
common.copy /usr/include/boost-1_34_1/boost/mpl/apply_wrap.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/arg.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/arg_fwd.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/arithmetic.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/as_sequence.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/assert.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/at.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/at_fwd.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/back.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/back_fwd.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/back_inserter.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/base.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/begin.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/begin_end.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/begin_end_fwd.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bind.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bind_fwd.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bitand.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bitor.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bitwise.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bitxor.hpp
common.copy /usr/include/boost-1_34_1/boost/mpl/bool.hpp
...updated 4321 targets...
FATAL! Running '' has failed with error: 1
Try using INSTALL_LINE 'make -i install' Exiting...
src2pkg FAILURE in make_install
Press any key to continue...


Would someone please share what is the proper install line for this package. I frequently get this error, and would like it to go away permanently! It's amazing though just how many things I've been able to compile without error using src2pkg. Pure genius! I mean the package.

Shingoshi


All times are GMT -5. The time now is 07:48 PM.