Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CEF 1750r1638 doesn't work with minko on Arch Linux 64 #197

Open
josefnpat opened this issue Feb 4, 2015 · 11 comments
Open

CEF 1750r1638 doesn't work with minko on Arch Linux 64 #197

josefnpat opened this issue Feb 4, 2015 · 11 comments
Labels

Comments

@josefnpat
Copy link
Contributor

I was asked to open a new ticket here!

I downloaded cef_binary_3.1750.1638_linux64.7z, and extracted the contents of Release/* into plugin/html-overlay/lib/linux64/ as directed, now I am getting a different issue.

~/minko/plugin/html-overlay/lib/linux64♠ pwd
/home/seppi/minko/plugin/html-overlay/lib/linux64
~/minko/plugin/html-overlay/lib/linux64♠ ls -lah
total 481M
drwxr-xr-x 4 seppi seppi  12K Feb  2 22:32 .
drwxr-xr-x 8 seppi seppi 4.0K Feb  2 22:32 ..
drwxr-xr-x 8 seppi seppi 4.0K Feb  2 22:30 cef_binary_3.1750.1638_linux64
-rw-r----- 1 seppi seppi 380M Feb  2 22:28 cef_binary_3.1750.1638_linux64.7z
-rwxr-xr-x 1 seppi seppi  24K Mar 13  2014 chrome-sandbox
-rwxr-xr-x 1 seppi seppi 101M Mar 13  2014 libcef.so
-rwxr-xr-x 1 seppi seppi 1.3M Mar 13  2014 libffmpegsumo.so
-rw-r--r-- 1 seppi seppi  252 Feb  1 20:43 README.txt
drwxr-xr-x 2 seppi seppi 4.0K Feb  2 22:32 Release



$ make config=release config=linux64_release verbose=1

[snip]

test -e /home/seppi/minko/framework/asset && cp -R /home/seppi/minko/framework/asset "bin/linux64/release" || :
test -e asset && cp -R asset "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/lua/asset && cp -R /home/seppi/minko/plugin/lua/asset "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/asset && cp -R /home/seppi/minko/plugin/html-overlay/asset "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/resource/locales && cp -R /home/seppi/minko/plugin/html-overlay/lib/resource/locales "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/resource/cef.pak && cp -R /home/seppi/minko/plugin/html-overlay/lib/resource/cef.pak "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/resource/devtools_resources.pak && cp -R /home/seppi/minko/plugin/html-overlay/lib/resource/devtools_resources.pak "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/linux64/libcef.so && cp -R /home/seppi/minko/plugin/html-overlay/lib/linux64/libcef.so "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/linux64/libffmpegsumo.so && cp -R /home/seppi/minko/plugin/html-overlay/lib/linux64/libffmpegsumo.so "bin/linux64/release" || :
test -e /home/seppi/minko/plugin/html-overlay/lib/linux64/chrome-sandbox && cp -R /home/seppi/minko/plugin/html-overlay/lib/linux64/chrome-sandbox "bin/linux64/release" || :
Linking minko-example-html-overlay
/home/seppi/minko/tool/lin/script/g++.sh g++ -o bin/linux64/release/minko-example-html-overlay obj/linux64/release/Main.o     -s -m64 -L/usr/lib64 -L../../framework/bin/linux64/release -L../../plugin/html-overlay/lib/linux64 -Wl,--no-as-needed -Wl,-rpath,. ../../framework/bin/linux64/release/libminko-framework.a ../../plugin/html-overlay/bin/linux64/release/libminko-plugin-html-overlay.a ../../plugin/sdl/bin/linux64/release/libminko-plugin-sdl.a ../../plugin/lua/bin/linux64/release/libminko-plugin-lua.a -lGL -lm -lSDL2 -lcef
+ g++ -o bin/linux64/release/minko-example-html-overlay obj/linux64/release/Main.o -s -m64 -L/usr/lib64 -L../../framework/bin/linux64/release -L../../plugin/html-overlay/lib/linux64 -Wl,--no-as-needed -Wl,-rpath,. -Wl,--start-group ../../framework/bin/linux64/release/libminko-framework.a ../../plugin/html-overlay/bin/linux64/release/libminko-plugin-html-overlay.a ../../plugin/sdl/bin/linux64/release/libminko-plugin-sdl.a ../../plugin/lua/bin/linux64/release/libminko-plugin-lua.a -lGL -lm -lSDL2 -lcef -Wl,--end-group
/usr/bin/ld: warning: libgcrypt.so.11, needed by ../../plugin/html-overlay/lib/linux64/libcef.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libudev.so.0, needed by ../../plugin/html-overlay/lib/linux64/libcef.so, not found (try using -rpath or -rpath-link)
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_unref'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_enumerate_scan_devices'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_new'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_list_entry_get_name'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_enumerate_get_list_entry'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `gcry_control@GCRYPT_1.2'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_list_entry_get_next'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_new_from_syspath'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_receive_device'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_get_property_value'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_unref'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_enable_receiving'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_filter_add_match_subsystem_devtype'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_get_fd'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_get_devnode'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_get_subsystem'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_enumerate_unref'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_enumerate_new'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_get_parent_with_subsystem_devtype'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_monitor_new_from_netlink'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_unref'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_device_get_sysattr_value'
../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `udev_enumerate_add_match_subsystem'
collect2: error: ld returned 1 exit status
Makefile:185: recipe for target 'bin/linux64/release/minko-example-html-overlay' failed
make[1]: *** [bin/linux64/release/minko-example-html-overlay] Error 1
Makefile:668: recipe for target 'minko-example-html-overlay' failed
make: *** [minko-example-html-overlay] Error 2
@JMLX42
Copy link
Member

JMLX42 commented Feb 4, 2015

I think the problem is here:

/usr/bin/ld: warning: libgcrypt.so.11, needed by ../../plugin/html-overlay/lib/linux64/libcef.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libudev.so.0, needed by ../../plugin/html-overlay/lib/linux64/libcef.so, not found (try using -rpath or -rpath-link)

Did you install the corresponding libraries?

@JMLX42 JMLX42 added the question label Feb 4, 2015
@josefnpat
Copy link
Contributor Author

Yes, I have them!

~/minko♠ pacman -Ss libgcrypt | grep installed
core/libgcrypt 1.6.2-1 [installed]
core/libgpg-error 1.17-1 [installed]
multilib/lib32-libgcrypt 1.6.2-1 [installed]
multilib/lib32-libgpg-error 1.17-1 [installed]
~/minko♠ ls /usr/lib/libudev.so*
/usr/lib/libudev.so  /usr/lib/libudev.so.1  /usr/lib/libudev.so.1.6.2
~/minko♠ pwd
/home/seppi/minko
~/minko♠ ls -lah plugin/html-overlay/lib/linux64/
total 481M
drwxr-xr-x 4 seppi seppi  12K Feb  2 22:32 .
drwxr-xr-x 8 seppi seppi 4.0K Feb  2 22:32 ..
drwxr-xr-x 8 seppi seppi 4.0K Feb  2 22:30 cef_binary_3.1750.1638_linux64
-rw-r----- 1 seppi seppi 380M Feb  2 22:28 cef_binary_3.1750.1638_linux64.7z
-rwxr-xr-x 1 seppi seppi  24K Mar 13  2014 chrome-sandbox
-rwxr-xr-x 1 seppi seppi 101M Mar 13  2014 libcef.so
-rwxr-xr-x 1 seppi seppi 1.3M Mar 13  2014 libffmpegsumo.so
-rw-r--r-- 1 seppi seppi  252 Feb  1 20:43 README.txt
drwxr-xr-x 2 seppi seppi 4.0K Feb  2 22:32 Release

@JMLX42
Copy link
Member

JMLX42 commented Feb 4, 2015

cef.so is looking for libgcrypt.so.11, but you have libgcrypt.so.16
cef.so is looking for libudev.so.0, but you have libudev.so.1

@josefnpat
Copy link
Contributor Author

Any suggestions here? Should I use a newer version of CEF, or should I softlink libgcrypt.so.16 -> libgcrypt.so.11 and libudev.so.0 -> libudev.so.1.

What's the correct procedure here? Or perhaps there's a way to skip this plugin?

@yosico
Copy link

yosico commented Feb 14, 2015

linking libcef to newer libs does not work :(

../../plugin/html-overlay/lib/linux64/libcef.so: undefined reference to `gcry_control@GCRYPT_1.2'

Linux node0 3.18.4-1-ARCH #1 SMP PREEMPT Tue Jan 27 20:45:02 CET 2015 x86_64 GNU/Linux

/usr/lib/libgcrypt.so.20.0.2
/usr/lib/libudev.so.1.6.2

@yosico
Copy link

yosico commented Feb 14, 2015

Solution - install older version of libgcrypt from AUR:
https://aur.archlinux.org/packages/libgcrypt11

yos ~ $ aurget -Ss libgcrypt11
aur/libgcrypt11 1.5.4-3 
    gcrypt11 library (shared objects)

yos ~ $ ls -1 /usr/lib/libgcrypt.so.11*
/usr/lib/libgcrypt.so.11
/usr/lib/libgcrypt.so.11.8.3

@josefnpat
Copy link
Contributor Author

@yosico I will try this asap!

Keep in mind this is a workaround, as opposed to a solution. It would probably make more sense to update minko to be version independent.

@JMLX42
Copy link
Member

JMLX42 commented Feb 15, 2015

Those libraries are linked by CEF so there is nothing to do in Minko.

If you think CEF should link version-independent version of those libraries, you should post the issue on the CEF repo: https://code.google.com/p/chromiumembedded/issues/list

I don't think they'll do it though since it's not viable. Different versions might have different behaviors or even worse: different headers. CEF itself changed a lot of things in the past few months only... To enforce this, CEF itselfs declares and matches a specific macro to make sure you don't link another version of CEF than the one that's supposed to be used.

@digithree
Copy link

@yosico Were you able to build the CEF example using "./build.sh Release"? I'm getting the same problems as you too. Did you start an issue at CEF? I can't see any related to this. I'll start one if you haven't. I guess they need to upgrade to using newer versions of libudev.

Alternatively, have you figured this out another way?

@digithree
Copy link

I solved this particular problem for myself. After finding the advice on @promethe42 's post in this thread (http://minko.io/forums/topic/how-to-create-an-ui/) I went into the premake5.lua script and commented out the html, http and webgl plugins, as well as the examples and tutorials that rely on them. This allowed me to build without the problematic CEF library.

I did submit an issue on the CEF tracker, which was rejected as they've fixed the libudev version linking in newer versions of the CEF library (see here: https://code.google.com/p/chromium/issues/detail?id=415212). Still, I wasn't able to get it to build using cmake for yet another issue! (see here for discussion: http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=12618)

Anyway, I only need to build on Linux and don't need any of the web stuff so the solution of modifying premake5.lua is the best.

@JMLX42
Copy link
Member

JMLX42 commented Mar 5, 2015

We were not able to upgrade to newer versions of CEF because offscreen rendering was broken.
It is now fixed - and with hardware acceleration it seems - but there has been some API changes so there is a bit of work to update the Minko plugin. It also fix some fonts rendering issues.

We will do this for the beta 3 release.

citruslee pushed a commit to CitrusForks/minko that referenced this issue Jan 11, 2023
Resolve "Set the layout type size to 64 bit"

Closes aerys#197

See merge request aerys/smartshape-engine!193
citruslee pushed a commit to CitrusForks/minko that referenced this issue Jan 11, 2023
Resolve "Set the layout type size to 64 bit"

Closes aerys#197

See merge request aerys/smartshape-engine!194
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants