From: SourceForge.net <no...@so...> - 2006-02-08 00:40:55
|
Bugs item #1190590, was opened at 2005-04-26 14:59 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1190590&group_id=9655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: build system problem Group: current cvs version Status: Open Resolution: None Priority: 5 Submitted By: roland (roland748) Assigned to: Nobody/Anonymous (nobody) Summary: build errors of xine-lib on Solaris Initial Comment: About a month ago I reported problems building xine on Solaris (request id 1171750, category xine). Now I tried again the latest cvs version of xine-lib and xine-ui on Solaris 2.8 with gcc 3.4.2 from sunfreeware and sun as and ld. (gcc -v Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++ Thread model: posix gcc version 3.4.2 ) The first problem was new in video_out_opengl.c //#################################################### ... several warnings video_out_opengl.c: In function `getdladdr': video_out_opengl.c:712: error: initializer element is not constant ... several warnings => void * dlopen(const char *pathname, int mode); #elif defined (__sun) || defined (__sgi) static void *handle = dlopen (NULL, RTLD_LAZY); return dlsym (handle, funcName); #else /* all other Un*xes */ I don't know the reason for a constant initializer but in this case you can do to solve the compiler error: #elif defined (__sun) || defined (__sgi) /* static void *handle = dlopen (NULL, RTLD_LAZY); */ static void *handle = 0; if (handle == 0) handle = dlopen (NULL, RTLD_LAZY); return dlsym (handle, funcName); #else /* all other Un*xes */ //################################################### Then xine-lib was build but still with some missing symbols. Trying to compile xine-ui I got the following link errors: Undefined first referenced symbol in file xml_parser_get_property ../../src/xitk/oxine/.libs/liboxine.a(oxine.o) xml_parser_build_tree mediamark.o getline ../../src/xitk/oxine/.libs/liboxine.a(mediamarks.o) xml_parser_free_tree mediamark.o xml_parser_init mediamark.o strsep config_wrapper.o strndup ../../src/xitk/oxine/.libs/liboxine.a(mediamarks.o) I don't want to repeat but it's a problem with -z allextract ../../src/xine-utils/.libs/libxineutils.a -z defaultextract For the standard sun ld it should be something like -Wl,-z -Wl,allextract ... see request id 1171750. It would be great if these problems could be solved. I don't know how the developer of xine handle the probelms on solaris? Are there still developers working on xine for sparc solaris? (The last year fetching xine from cvs and compiling it was really nice and worked fine without much trouble.) ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-02-07 16:40 Message: Logged In: NO Hello, I'm compiling the latest xine-libs and xine-ui (1.1.1 and 0.99.4 respectively) on Solaris 10 using STUDIO 11. I only get the srtsep, strndup and getline undefined symbols when linking xine. I tried your fixes, but it still keeps spitting out the same undefined symbols. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2005-07-15 10:11 Message: Logged In: NO I get the same errors on Solaris when trying to build xine-ui- 0.99.3. The xml_parser stuff can be eliminated by adding libxineutils.a to the gcc command line. The problem with strsep seems to be that the custom code for xine_strsep() in xineutils.h is gone in v1.96. I'm going to try rebuilding xine-lib with the older xine_strsep() code. ---------------------------------------------------------------------- Comment By: roland (roland748) Date: 2005-06-07 15:27 Message: Logged In: YES user_id=1246979 Hmm, I didn't just comment dlopen see above ... #elif defined (__sun) || defined (__sgi) /* static void *handle = dlopen (NULL, RTLD_LAZY); */ static void *handle = 0; if (handle == 0) handle = dlopen (NULL, RTLD_LAZY); return dlsym (handle, funcName); => I used dlopen and static void *handle = 0; is in your patch static void *handle = NULL; So we've done the same as far as I see. dlopen is used on solaris for loading shared libs so it's really needed but I think we're the same opinion here. ;) I compiled xine and mplayer and it's libs on my own on solaris8 and can use everything after reboot on solaris9, too. I prefer xine because on my ultra5 mplayer is too slow for having fun with watching dvds. Yes, I spent much time in compiling everything (several hours at night). At the moment I don't have much spare time for compiling and programming at home ... ---------------------------------------------------------------------- Comment By: Niki W. Waibel (nikiwaibel) Date: 2005-05-18 16:33 Message: Logged In: YES user_id=1951 see bug #1204322 for a patch. i think it is not a good idea to just comment dlopen. dlopen might not be necessary on solaris, but maybe on sgi... (the gcc "not constant" complain is very easy to fix). if i fix that, xine-lib compiles without any other troubles. not 100% sure about missing symbols yet, because i could not get gxine running on solaris yet (see bug #1204625). === i am using gcc-3.4.3 and binutils-2.15.94.0.2 on solaris (8/9/x86/sparc) and on linux (x86/x86_64). both self compiled on both platforms (i dont like to use sun as/ld on solaris and gnu as/ld on linux; caused a lot of trouble for me in the past). also all libs xine-lib is using (and that's many!) have been compiled by myself. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1190590&group_id=9655 |