Page 1 of 1

Can't build from source -- want to do PS3/Cell modifications

Posted: 16 Feb 2007 22:00
by vidsurfr
I'm having trouble building from the source from SVN. I've followed all the instructions, but they seem to be out of date or don't work for Fedora Core 5.

I need to do this with Fedora Core 5 because that is what YDL for the PS3 is based on and what is required for the IBM Cell development environment.

I've been trying to debug the build process using a MacBook Pro with Parallels installed to run the Fedora Core so it's a fc5.i386 build. I'm using this set-up because it allows me to easily go back to a previous image of my virtual machine (i.e. I don't have to reinstall everything if things go bad).

I've been able to install 0.8.5 from rpm binary files and have it play back a DVD w/ menus etc... so the necessary libraries seem to be installed.

I then did an SVN checkout of 0.8.5 and tried to build. But the Makefile is out of date and MplayerHQ.hu doesn't support CVS anymore, so that failed.

I then did an SVN checkout of the trunk and tried to build. This worked until the ffMPEG compile and then complained about flags. I modified the Makefile (e.g. mp3lame was replaced with libmp3lame, faac with libfaac and a52 with liba52). This worked until the wxwidgets portion of the build. I've tried just about everything. Building wxwidgets by itself works and GTK 2 is installed. This is the problem section:

checking for GTK+ - version >= 2.0.0... no
*** Could not run GTK+ test program, checking why...

...

Also check that the libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-confg --libs' are in the LD_LIBRARY_PATH or equivalent
...

when I run the command

pkg-config gtk+-2.0 --libs

I get

-lgtk-x11-2.0 -lgdk-x11-2.0 ...

these are not on the system, but -libgtk-x11-2.0 is in /usr/lib

the path is in the ld.so.conf file and I've run ldconfig. and is also set as the LD_LIBRARY_PATH. Nothing seems to get me past this point.

update

Posted: 19 Feb 2007 22:47
by vidsurfr
I got past the wxwidgets problem by using the same ./configure that Make was generating, but doing so manually. Then I removed the .wxwidgets entree in the Distro.mak file so that make src would continue normally.

Then I did a ./configure --prefix=/usr --enable-wxwidgets as suggested in the README file for the SVN trunk.

When I ran make, it errored out at.

gcc -std=gnu99 -I/home/neil/workspace/vlc/./extras/contrib/include -Wall -Wextra -Wno-unused-parameter -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wold-style-definition -Wmissing-prototypes -Wvolatile-register-var -o .libs/vlc vlc-vlc.o -L/home/neil/workspace/vlc/./extras/contrib/lib src/.libs/libvlc.so -L/usr/lib -lhal -ldbus-1 -lrt -lpthread -ldl -L/home/neil/workspace/vlc/extras/contrib/lib
src/.libs/libvlc.so: undefined reference to `libiconv_open'
src/.libs/libvlc.so: undefined reference to `libiconv_close'
src/.libs/libvlc.so: undefined reference to `libiconv'
collect2: ld returned 1 exit status
make[2]: *** [vlc] Error 1
make[2]: Leaving directory `/home/neil/workspace/vlc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/neil/workspace/vlc'
make: *** [all] Error 2

the include file for libiconv (iconv.h) is in both the /usr/include and the ~/workspace/vlc/extras/contrib/include.

I also tried to build the libiconv and gettext according the instructions in the package which said that because of circular dependency you needed to build the libiconv twice: once before and once after building gettext.

and I tried this:

./configure --prefix=/usr --enable-wxwidgets --with-libiconv-prefix=~/workspace/vlc/extras/contrib/

I'm really at a lost about what is wrong, so any suggestions would be appreciated.

Re: update

Posted: 20 Feb 2007 16:34
by paulc0001
src/.libs/libvlc.so: undefined reference to `libiconv_open'
src/.libs/libvlc.so: undefined reference to `libiconv_close'
src/.libs/libvlc.so: undefined reference to `libiconv'
I got around this by editing vlc-trunk/Makefile (after configure, before compile), changing the line that looked like:

Code: Select all

vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(am__append_2)
to:

Code: Select all

vlc_LDADD = $(DATA_win32_rc) -liconv $(LIBVLC) $(am__append_2)
This is probably not the best way to do it, but at least it got me a working binary!

Paul.

Posted: 27 Feb 2007 13:58
by Jean-Baptiste Kempf
Could you try with vlc-0.8.6a ?

Posted: 02 Mar 2007 01:43
by BrianBin
I got the same situation recently. I just download the newest source code of VLC on my linux yesterday. I had updated all necessary lib for it.
But the problem when configuring wxwidget is still there.

Posted: 30 May 2007 21:09
by Squirrelywrath
I was running into the same undefined references for libiconv when compiling the latest 0.9-svn code on a Fedora Core 6 box. Adding -liconv to the vlc_LDFLAGS in the make file corrected the issue. Adding it to the vlc_LDADD as indicated in the previous post didn't fix the issue.

Posted: 31 May 2007 13:44
by survivant
I got the same problem using Ubuntu.

and I had another problem. When I checkout the source from trunk. The files in /inlt/ were missing. I needed to take the file from the 0.86b version.