Portable Linux binaries? (64-bit only is OK)

The current IBus stuff requires those inotify functions from GLIBC2_4.
I’m guessing the bingcc method of building has a lower available version.

If you still want IBus without GLIBC_2.4 you can probably just comment
out the inotify related lines given in the error message. It should
work, but only if IBus is started before the SDL program (which it most
likely is anyway).On 09/04/15 22:08, Sik the hedgehog wrote:

OK building with bingcc failed… in a rather specific way (in the
linker stage):

LTLINK build/libSDL2.la
build/.libs/SDL_ibus.o: In function SDL_IBus_Quit': /home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:509: undefined reference toinotify_rm_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
build/.libs/SDL_ibus.o: In function SDL_IBus_Init': /home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:476: undefined reference toinotify_add_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
/home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:467:
undefined reference to inotify_init at GLIBC_NOT_AVAILABLE_BEFORE_2.4' /usr/bin/ld: build/.libs/libSDL2-2.0.so.0.4.0: No symbol version section for versioned symbolinotify_rm_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make: *** [build/libSDL2.la] Error 1

It looks like all the problems are related to iBus? Also, remember how
I said that 2.0.3 didn’t have IME support on Linux, and that one of
the reasons for providing my own SDL2 was so it included that support?
Now I’m wondering if it was the IME support what was breaking it all
along. (this would also make sense given how before we had ruled out
glibc being the issue with Arch)


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

You can reconfigure bingcc to use a newer glibc with the setup-bingcc
script: the inotify stuff seems to need a newer version, so try posting a
newer glibc version. Given that Steam needs glibc 2.15, you’re usually safe
with anything <= that.

? DavidOn Apr 9, 2015 2:25 PM, “Alex Baines” wrote:

The current IBus stuff requires those inotify functions from GLIBC2_4.
I’m guessing the bingcc method of building has a lower available version.

If you still want IBus without GLIBC_2.4 you can probably just comment
out the inotify related lines given in the error message. It should
work, but only if IBus is started before the SDL program (which it most
likely is anyway).

On 09/04/15 22:08, Sik the hedgehog wrote:

OK building with bingcc failed… in a rather specific way (in the
linker stage):

LTLINK build/libSDL2.la
build/.libs/SDL_ibus.o: In function SDL_IBus_Quit': /home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:509: undefined reference toinotify_rm_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
build/.libs/SDL_ibus.o: In function SDL_IBus_Init': /home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:476: undefined reference toinotify_add_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
/home/sik/Descargas/SDL-2.0.4-9174/src/core/linux/SDL_ibus.c:467:
undefined reference to inotify_init at GLIBC_NOT_AVAILABLE_BEFORE_2.4' /usr/bin/ld: build/.libs/libSDL2-2.0.so.0.4.0: No symbol version section for versioned symbolinotify_rm_watch at GLIBC_NOT_AVAILABLE_BEFORE_2.4’
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make: *** [build/libSDL2.la] Error 1

It looks like all the problems are related to iBus? Also, remember how
I said that 2.0.3 didn’t have IME support on Linux, and that one of
the reasons for providing my own SDL2 was so it included that support?
Now I’m wondering if it was the IME support what was breaking it all
along. (this would also make sense given how before we had ruled out
glibc being the issue with Arch)


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

OK so here’s the deal:

2.0.4-9174: doesn’t build
2.0.3 (vanilla): builds and works on the problematic system just fine

So yeah it seems like the problem may be iBus. I’ll now go run
setup-bingcc and see if that lets me keep iBus while still working.

2015-04-09 18:40 GMT-03:00, Sik the hedgehog <@Sik_the_hedgehog>:

So yeah it seems like the problem may be iBus. I’ll now go run
setup-bingcc and see if that lets me keep iBus while still working.

Doesn’t work! >_< And it does seem to be specifically an iBus issue:
“arguments to dbus_connection_open_private() were incorrect”

Looks like the problem is whatever that inotify thing does… I’ll try
later removing it and see if that works.

OK the conclusions so far are:

  1. Having iBus support (needed for IME on Linux) breaks SDL2 on Arch,
    throwing out an error related to dBus initialization.

  2. Removing those lines that bingcc was complaining about (and
    replacing them with fail values) doesn’t help make it go away at all,
    so the problem must be something that the iBus code is doing in
    general rather than a glibc issue. In fact I’m not even sure bingcc is
    really needed here.

  3. Either the Arch builds don’t include the IME support or they are
    modified to somehow do something else.

Does anybody have any idea what could this be? Is there enough
information to get this on Bugzilla? (right after the final bugfixing
list has been made… yay)

There was an entry on bugzilla about a dbus error message that was
recently fixed related to passing NULL to dbus_connection_open_private:
https://bugzilla.libsdl.org/show_bug.cgi?id=2862

If that is the same error message you were getting, then check to see if
your build of SDL has the fix committed or not.

If it’s a different error message then that sounds like something that
should be fixed before 2.0.4. It would be helpful to see the exact
message so I can look into it.On 10/04/15 01:57, Sik the hedgehog wrote:

OK the conclusions so far are:

  1. Having iBus support (needed for IME on Linux) breaks SDL2 on Arch,
    throwing out an error related to dBus initialization.

  2. Removing those lines that bingcc was complaining about (and
    replacing them with fail values) doesn’t help make it go away at all,
    so the problem must be something that the iBus code is doing in
    general rather than a glibc issue. In fact I’m not even sure bingcc is
    really needed here.

  3. Either the Arch builds don’t include the IME support or they are
    modified to somehow do something else.

Does anybody have any idea what could this be? Is there enough
information to get this on Bugzilla? (right after the final bugfixing
list has been made… yay)


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

2015-04-10 8:32 GMT-03:00, Alex Baines :

There was an entry on bugzilla about a dbus error message that was
recently fixed related to passing NULL to dbus_connection_open_private:
https://bugzilla.libsdl.org/show_bug.cgi?id=2862

If that is the same error message you were getting, then check to see if
your build of SDL has the fix committed or not.

If it’s a different error message then that sounds like something that
should be fixed before 2.0.4. It would be helpful to see the exact
message so I can look into it.

THAT WAS IT \o\ /o/ \o/ offers cake to everybody

Now it works even when not using bingcc (I’ll probably keep using
bingcc later anyway to be safer). Nice :stuck_out_tongue: I wonder why the person who
reported it just got the message while my game would outright stop,
though. Oh well, doesn’t matter now :stuck_out_tongue:

OK it seems that after more testing nobody so far has problems after
that change (except somebody with joystick problems but that isn’t
SDL2 since the test programs work just fine) so I guess the case is
closed. Thanks for all the help!

If anybody else is having problems distributing recent SDL2 binaries
to some people using Linux (especially not Ubuntu-based distros), take
a look into that patch.

Doesn’t work! >_< And it does seem to be specifically an iBus issue:
“arguments to dbus_connection_open_private() were incorrect”

This specific error goes away in this revision (applied a few days ago)…

 https://hg.libsdl.org/SDL/rev/0288195afd8c

…but doesn’t necessarily fix the problem you’re having, I think.

–ryan.

THAT WAS IT \o\ /o/ \o/ offers cake to everybody

(…or maybe it does fix it. :slight_smile: )

–ryan.

Yes, my dbus message went away using a pull from a few days ago. I had
a user report the dbus thing led to an application crash on their
Fedora system. I’m waiting to hear back if this fixes it for them.

Thanks,
EricOn 4/13/15, Ryan C. Gordon wrote:

THAT WAS IT \o\ /o/ \o/ offers cake to everybody

(…or maybe it does fix it. :slight_smile: )

–ryan.


Beginning iPhone Games Development
http://playcontrol.net/iphonegamebook/