[Helix-client-dev] several splay_mp3 profile/branch buildcombinations (why do some work, and some don't?)

[Helix-client-dev] several splay_mp3 profile/branch buildcombinations (why do some work, and some don't?)

Greg Wright gwright at real.com
Wed May 12 10:25:56 PDT 2004


Just a couple notes:

o The helix-player branch should only be used to build the
  GTK based player, not any of the other client targets.
o DLLs, even though they get built, can fail to load, resulting
  in your 0x80040011(missing componets) error, because of undefined
  symbols in them. This can happen if you choose a bad branch/profile
  combination. You can test this with a simple app under linux:

    #include "dlfcn.h"
    #include "stdio.h"

    int main(int argc, char *argv[])
    {
        int i;
        for (i = 1 ; i < argc ; ++i)
        {
             fprintf(stderr, "Loading %s..... ", argv[i]);
             if (!dlopen(argv[i], RTLD_LAZY) )
                 fprintf(stderr, "Failed! %s\n", dlerror());
             else
                 fprintf(stderr, "Groovy baby!\n");
        }
    }

Just compile that in your helix dir and test your dlls:

    cd helix-source-dir
    gcc dlltest.c
    a.out debug/*.so


o If you are working under linux the branches I would play with are
        helix (HEAD == always changing)
        hxclient_1_3_0_neptunex (pretty stable)
        hxclient_1_4_1_neptunex (frozen branch)

o The splay_mp3 target is really only tested with the *-local_mp3
  profile. If you want to build with the all-defines profiles
  you should switch to the 'splay' target (for a full featured player).

o If you find any dist-libs that give you problems it means that they
  might be out of date and we can update them for you. Especially on
  those *_neptunex branches.

--greg.


----- Original Message ----- 
From: "Wouter van Heyst" <wouter at vidicode.nl>
To: <helix-client-dev at lists.helixcommunity.org>
Sent: Wednesday, May 12, 2004 8:22 AM
Subject: [Helix-client-dev] several splay_mp3 profile/branch buildcombinations (why do some work, and some don't?)


> Hello,
>
> I've tried building the splay_mp3 target in various configurations, some
> work better than others. I've tried the two branches helix and
> helix-player, and profiles helix-client-all-defines,
> helix-client-all-defines-nodist, helix-client-all-defines-free,
> helix-client-local-mp3
>
> All of this with a system id of linux-2.2-libc6-gcc32-powerpc.
> The helix branch defaults to a debug build, and the helix-player branch
> to a release build. I've built with -c (so profiles shouldn't mix), and
> used different fresh code checkouts for the two branches.
>
> With both branches the helix-client-local-mp3 profile results in a splay
> + libs that can play a mp3 file (albeit with stuttering, but that's a
> different problem).
>
> Of the other combinations,
> helix-player, helix-client-all-defines-nodist
> helix-player, helix-client-all-defines-free
> helix, helix-client-all-defines-free
> helix, helix-client-all-defines
> all result in:
> opening file:///home/larstiq/muziek/001_eject.mp3 on player 0
> Report(3, -2147221487, "file:///home/larstiq/muziek/001_eject.mp3", 0, "(NULL)", "Can't convert error code 0x80040011 - please
find corresponding HXR code in common/include/hxresult.h")
>
> Which might make sense for the -free builds, but not for the others.
> I don't know why I get this error, looking at (helix-player,
> helix-client-all-defines-nodist) for example,
> mp3codecfltpt.a
> mp3fformat.so
> mp3lib.a
> mp3payld.a
> mp3render.so
>
> Are all present in release/. I've tried tracing code, but it's easy to
> get lost. (Ryan's pointers helped a lot tho, thanks!)
> Help with this issue is very very welcome.
>
>
> The helix-player, helix-client-all-defines combo has a different
> problem, something distlibby, perhaps a side effect of less than up to
> date distlibs for powerpc, I hope that gets resolved by Fredrik looking
> at powerpc and distlib in general.
>
> At first, the splay build fails because it can't find rdtclntlib.a (on
> the helix branch, this is not a problem)
>
> make[1]: *** No rule to make target `/home/larstiq/tmp/helix/neptune/protocol_dist/rtsp/rel/rdtclntlib.a', needed by
`rel/clntcore.so'.  Stop.
>
> After checking out distribution/linux-2.2-libc6-powerpc by hand
> (linux-2.2-libc6-gcc32-powerpc is empty, considering gcc abi
> incompatibilities, trying to link with them might not be the smartest
> idea, but hey, I'm desperate enough :)) and copying the libraries to
> where ribosome expects them, rebuilding, I get this error when running:
>
> Simpleplayer is looking for the client core at ./clntcore.so
> splayer: ./clntcore.so: undefined symbol: _ZN16RTSPBaseProtocol11handleDebugEPKci
>
> that symbol corresponds to RTSPBaseProtocol::handleDebug(char const*, int)
> The only reference to that according to nm release/* is clntcore.so
> itself.  Going through the build directory by hand again, I find the
> symbol in the intermediate library clntcore_libs.a
>
> rel/clntcore_libs.a:rdtclntlib.rnrtspclnt.o:         U RTSPBaseProtocol::handleDebug(IHXBuffer*, int)
> rel/clntcore_libs.a:rdtclntlib.rnrtspclnt.o:         U RTSPBaseProtocol::handleDebug(char const*, int)
>
> I'll just stick to the helix branch for now.
>
> Wouter van Heyst
> Vidicode Datacommunicatie BV
>
>
> _______________________________________________
> Helix-client-dev mailing list
> Helix-client-dev at lists.helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev




More information about the Helix-client-dev mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.