Installing on Solaris (again)

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Installing on Solaris (again)

Paul Osmialowski
Hi everyone!
I'm back after my vacations and therefore I can continue my adventures
with Player/Stage :)
Few days ago I have installed Solaris 10 (with Companion CD that
contains GNU make, gcc-3.4.2, gtk2, glib2 and so on) so i decided to try
if Player 1.6.5 is able to compile and work on it. The first thing I did
was to compile opencv-0.9.7 which was successful. Then I have started to
compile Player.
Actually, there was only one compilation error, there's no sys/dir.h
header file on Solaris and actually it is not needed. I had to remark
inclusion of this header in replace/replace.h file. The configure script
should check if this header file is available!
If amcl driver is needed, gsl library should be installed since it is
not provided within Companion CD.
No audio related drivers will compile. The only way to use audio
features is to rewrite them using SDL (which is available on Companion CD).

I have also tried to compile Stage-2.0.0a. It was unsuccessful, and
compilation errors are similar to those on Cygwin (there's no strsep
function available and also serious link time problems occured which
made whole thing unusable).

When I tried to compile videoplayer-gtk2 (player client that shows image
from camera device) I realised, that -lsocket and -lnsl options must be
added in Makefile at the end of 'LIBS =' line. Also cc must be changed
to gcc in 'CC =' line. There's no nanosleep function available, and call
of this function can be remarked in main.c file (or usleep function can
be used instead).
I have released videoplayer-gtk2 because good old videoplayer won't
compile with latest versions of Cygwin (since old gdk-pixbuf for
gtk+-1.2.x won't compile on Cygwin anymore). Both versions are available
here: http://king.net.pl/playercontrib/videoplayer

Unfortunately, guileplayer won't compile, there's an ancient 1.3.4
version of guile on Solaris 10 Companion CD. I guess upgrade to 1.6.x
would help.

Greetings,
Paul


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users
Reply | Threaded
Open this post in threaded view
|

Re: Installing on Solaris (again)

Brian Gerkey

On Sep 6, 2005, at 3:00 AM, Paul Osmialowski wrote:
>
> Few days ago I have installed Solaris 10 (with Companion CD that  
> contains GNU make, gcc-3.4.2, gtk2, glib2 and so on) so i decided  
> to try if Player 1.6.5 is able to compile and work on it.
> Actually, there was only one compilation error, there's no sys/
> dir.h header file on Solaris and actually it is not needed. I had  
> to remark inclusion of this header in replace/replace.h file. The  
> configure script should check if this header file is available!

Thanks for the tip.  Fortunately, in the forthcoming Player 2.0, we  
no longer need the alphasort() function, and so the offending  
#includes have been removed from replace.h.

> No audio related drivers will compile. The only way to use audio  
> features is to rewrite them using SDL (which is available on  
> Companion CD).

That's to be expected; the current audio drivers rely on the Linux  
audio interface.

> I have also tried to compile Stage-2.0.0a. It was unsuccessful, and  
> compilation errors are similar to those on Cygwin (there's no  
> strsep function available and also serious link time problems  
> occured which made whole thing unusable).

Could you submit a bug report, with the compiler errors?  I'm sure  
Richard (in his copious free time) would like to fix them so that  
Stage can run on Solaris.

     brian.

--
Brian Gerkey
[hidden email]
http://gerkey.org





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users
Reply | Threaded
Open this post in threaded view
|

Re: Installing on Solaris (again)

Paul Osmialowski
Brian Gerkey wrote:

>
> On Sep 6, 2005, at 3:00 AM, Paul Osmialowski wrote:
>
>>
>> Few days ago I have installed Solaris 10 (with Companion CD that  
>> contains GNU make, gcc-3.4.2, gtk2, glib2 and so on) so i decided  to
>> try if Player 1.6.5 is able to compile and work on it.
>> Actually, there was only one compilation error, there's no sys/ dir.h
>> header file on Solaris and actually it is not needed. I had  to remark
>> inclusion of this header in replace/replace.h file. The  configure
>> script should check if this header file is available!
>
>
> Thanks for the tip.  Fortunately, in the forthcoming Player 2.0, we  no
> longer need the alphasort() function, and so the offending  #includes
> have been removed from replace.h.
>
>> No audio related drivers will compile. The only way to use audio  
>> features is to rewrite them using SDL (which is available on  
>> Companion CD).
>
>
> That's to be expected; the current audio drivers rely on the Linux  
> audio interface.
I was really surprised that Cygwin contains complete full-blown Linux
audio interface with all required header files. However I'm not
surprised that Solaris doesn't contain them.

>
>> I have also tried to compile Stage-2.0.0a. It was unsuccessful, and  
>> compilation errors are similar to those on Cygwin (there's no  strsep
>> function available and also serious link time problems  occured which
>> made whole thing unusable).

Well, finally I have fixed the problem! It works fine now.

>
> Could you submit a bug report, with the compiler errors?  I'm sure  
> Richard (in his copious free time) would like to fix them so that  Stage
> can run on Solaris.
>
The very first problem is in replace/replace.h file, where HAVE_POLLIN
seems to be not set and all those definitions conflicts with definitons
from <sys/poll.h> included somewhere else.
Next problem is in src/model.c, although limits.h is included,
_POSIX_PATH_MAX definition disapeared somehow (also, other warnings
shows that definitions from string.h has gone somewhere).
Similar problem is in src/rtk_fig.c, although math.h is included, M_PI
definiton disapeared somehow (and again, other warnings shows that
definitions from string.h has also gone somewhere).
Serious problem is in src/zoo_driver.cc since there's no strsep function
in C library for Solaris. Must be implemented from skrach.
Finally, linking problems. It looks like that:
gcc -std=c99 -Wall -I. -I../replace -I/usr/local/include
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include
-I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -g -O2 -o ptest ptest-ptest.o
-L/usr/local/lib -lplayerc -lm
Undefined                       first referenced
  symbol                             in file
recv                                /usr/local/lib/libplayerc.a(client.o)
send                                /usr/local/lib/libplayerc.a(client.o)
gethostbyname                       /usr/local/lib/libplayerc.a(client.o)
socket                              /usr/local/lib/libplayerc.a(client.o)
connect                             /usr/local/lib/libplayerc.a(client.o)
ld: fatal: Symbol referencing errors. No output written to ptest
collect2: ld returned 1 exit status
make[2]: *** [ptest] Error 1
make[2]: Leaving directory `/newchief/stage-2.0.0a/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/newchief/stage-2.0.0a'
make: *** [all] Error 2
It can be solved by changing /usr/lib/pkgconfig/libplayerc.pc 'Libs:' line:
Libs: -L${prefix}/lib -lplayerc -lm -lsocket -lnsl

During make install another problem showed up: cp command in Solaris
doesn't understand -v option. It is used in docsrc/Makefile and can be
deleted.

I must notice that when I tried to use sample-zoo.cfg I saw only
Segmentation Fault error.

That's all.

Greetings,
Paul


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users
Reply | Threaded
Open this post in threaded view
|

Re: Installing on Solaris (again)

Richard vaughan

Thanks, Paul, that's very helpful. I'd like to make sure those  
changes get in there sometime between now and 2.0.0. Could I trouble  
you for a patch to save me some time?

Richard/


On 6-Sep-05, at 1:44 PM, Paul Osmialowski wrote:

> Brian Gerkey wrote:
>
>> On Sep 6, 2005, at 3:00 AM, Paul Osmialowski wrote:
>>
>>>
>>> Few days ago I have installed Solaris 10 (with Companion CD that  
>>> contains GNU make, gcc-3.4.2, gtk2, glib2 and so on) so i  
>>> decided  to try if Player 1.6.5 is able to compile and work on it.
>>> Actually, there was only one compilation error, there's no sys/  
>>> dir.h header file on Solaris and actually it is not needed. I  
>>> had  to remark inclusion of this header in replace/replace.h  
>>> file. The  configure script should check if this header file is  
>>> available!
>>>
>> Thanks for the tip.  Fortunately, in the forthcoming Player 2.0,  
>> we  no longer need the alphasort() function, and so the offending  
>> #includes have been removed from replace.h.
>>
>>> No audio related drivers will compile. The only way to use audio  
>>> features is to rewrite them using SDL (which is available on  
>>> Companion CD).
>>>
>> That's to be expected; the current audio drivers rely on the  
>> Linux  audio interface.
>>
> I was really surprised that Cygwin contains complete full-blown  
> Linux audio interface with all required header files. However I'm  
> not surprised that Solaris doesn't contain them.
>
>
>>> I have also tried to compile Stage-2.0.0a. It was unsuccessful,  
>>> and  compilation errors are similar to those on Cygwin (there's  
>>> no  strsep function available and also serious link time  
>>> problems  occured which made whole thing unusable).
>>>
>
> Well, finally I have fixed the problem! It works fine now.
>
>
>> Could you submit a bug report, with the compiler errors?  I'm  
>> sure  Richard (in his copious free time) would like to fix them so  
>> that  Stage can run on Solaris.
>>
> The very first problem is in replace/replace.h file, where  
> HAVE_POLLIN seems to be not set and all those definitions conflicts  
> with definitons from <sys/poll.h> included somewhere else.
> Next problem is in src/model.c, although limits.h is included,  
> _POSIX_PATH_MAX definition disapeared somehow (also, other warnings  
> shows that definitions from string.h has gone somewhere).
> Similar problem is in src/rtk_fig.c, although math.h is included,  
> M_PI definiton disapeared somehow (and again, other warnings shows  
> that definitions from string.h has also gone somewhere).
> Serious problem is in src/zoo_driver.cc since there's no strsep  
> function in C library for Solaris. Must be implemented from skrach.
> Finally, linking problems. It looks like that:
> gcc -std=c99 -Wall -I. -I../replace -I/usr/local/include -I/usr/
> include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -
> I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -
> I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/
> glib-2.0/include -g -O2 -o ptest ptest-ptest.o -L/usr/local/lib -
> lplayerc -lm
> Undefined                       first referenced
>  symbol                             in file
> recv                                /usr/local/lib/libplayerc.a
> (client.o)
> send                                /usr/local/lib/libplayerc.a
> (client.o)
> gethostbyname                       /usr/local/lib/libplayerc.a
> (client.o)
> socket                              /usr/local/lib/libplayerc.a
> (client.o)
> connect                             /usr/local/lib/libplayerc.a
> (client.o)
> ld: fatal: Symbol referencing errors. No output written to ptest
> collect2: ld returned 1 exit status
> make[2]: *** [ptest] Error 1
> make[2]: Leaving directory `/newchief/stage-2.0.0a/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/newchief/stage-2.0.0a'
> make: *** [all] Error 2
> It can be solved by changing /usr/lib/pkgconfig/libplayerc.pc  
> 'Libs:' line:
> Libs: -L${prefix}/lib -lplayerc -lm -lsocket -lnsl
>
> During make install another problem showed up: cp command in  
> Solaris doesn't understand -v option. It is used in docsrc/Makefile  
> and can be deleted.
>
> I must notice that when I tried to use sample-zoo.cfg I saw only  
> Segmentation Fault error.
>
> That's all.
>
> Greetings,
> Paul
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle  
> Practices
> Agile & Plan-Driven Development * Managing Projects & Teams *  
> Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/ 
> bsce5sf
> _______________________________________________
> Playerstage-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/playerstage-users
>



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users
Reply | Threaded
Open this post in threaded view
|

Re: Installing on Solaris (again)

Brian Gerkey
In reply to this post by Paul Osmialowski

On Sep 6, 2005, at 1:44 PM, Paul Osmialowski wrote:

>
> Finally, linking problems. It looks like that:
> gcc -std=c99 -Wall -I. -I../replace -I/usr/local/include -I/usr/
> include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -
> I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -
> I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/
> glib-2.0/include -g -O2 -o ptest ptest-ptest.o -L/usr/local/lib -
> lplayerc -lm
> Undefined                       first referenced
>  symbol                             in file
> recv                                /usr/local/lib/libplayerc.a
> (client.o)
> send                                /usr/local/lib/libplayerc.a
> (client.o)
> gethostbyname                       /usr/local/lib/libplayerc.a
> (client.o)
> socket                              /usr/local/lib/libplayerc.a
> (client.o)
> connect                             /usr/local/lib/libplayerc.a
> (client.o)
>
> It can be solved by changing /usr/lib/pkgconfig/libplayerc.pc  
> 'Libs:' line:
> Libs: -L${prefix}/lib -lplayerc -lm -lsocket -lnsl

That's tricky.  Not all platforms need or have libsocket or libnsl,  
so we shouldn't hardcode them into libplayerc's pkg-config file.  
I've submitted a bug on this topic and will look into getting some  
kind of conditional logic setup.

     brian.

--
Brian Gerkey
[hidden email]
http://gerkey.org





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users
Reply | Threaded
Open this post in threaded view
|

Re: Installing on Solaris (again)

Paul Osmialowski
Brian Gerkey wrote:

>
> On Sep 6, 2005, at 1:44 PM, Paul Osmialowski wrote:
>
>>
>> Finally, linking problems. It looks like that:
>> gcc -std=c99 -Wall -I. -I../replace -I/usr/local/include -I/usr/
>> include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -
>> I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -
>> I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/
>> glib-2.0/include -g -O2 -o ptest ptest-ptest.o -L/usr/local/lib -
>> lplayerc -lm
>> Undefined                       first referenced
>>  symbol                             in file
>> recv                                /usr/local/lib/libplayerc.a
>> (client.o)
>> send                                /usr/local/lib/libplayerc.a
>> (client.o)
>> gethostbyname                       /usr/local/lib/libplayerc.a
>> (client.o)
>> socket                              /usr/local/lib/libplayerc.a
>> (client.o)
>> connect                             /usr/local/lib/libplayerc.a
>> (client.o)
>>
>> It can be solved by changing /usr/lib/pkgconfig/libplayerc.pc  'Libs:'
>> line:
>> Libs: -L${prefix}/lib -lplayerc -lm -lsocket -lnsl
>
>
> That's tricky.  Not all platforms need or have libsocket or libnsl,  so
> we shouldn't hardcode them into libplayerc's pkg-config file.   I've
> submitted a bug on this topic and will look into getting some  kind of
> conditional logic setup.

In my opinion, 'Libs:' line should also contain '-lplayerpacket -ljpeg'
('-lplayerpacket -L/bin -ljpeg-62' for Cygwin), since it's hard to use
libplayerc not using libplayerpacket functions, and some of these
functions are using libjpeg.

Paul


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Playerstage-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-users