FS#38302 - [erlang] Library file missing from erlang 'wx' in R16B03

Attached to Project: Community Packages
Opened by Paul DIckson (TwoNotes) - Saturday, 28 December 2013, 22:29 GMT
Last edited by Alexander F. Rødseth (xyproto) - Friday, 03 January 2014, 19:56 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Alexander F. Rødseth (xyproto)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Any attempt to start the Erlang GUI library 'wx' fails with:
Could not find 'wxe_driver.so' in: /usr/lib/erlang/lib/wx-1.1.1/priv

Additional info:
* package version
community/erlang version R16B03 on both x86 and x86_64

Steps to reproduce:
erl then wx:demo().

This is identical to  bug 32566  from 2012, except that it happens in a different Erlang release.
The wx-1.1.1 directory is there, but there is no 'priv' directory below it, which is where the
.so should be.

With this file missing, the entire 'wx'part of Erlang (the basis for GUIs written in Erlang) is non-functional.
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Friday, 03 January 2014, 19:56 GMT
Reason for closing:  Fixed
Comment by Alexander F. Rødseth (xyproto) - Sunday, 29 December 2013, 21:29 GMT
Hi, thanks for reporting. I am able to reproduce this. Will look into the build process to see if they introduced a new flag for this.

Comment by Alexander F. Rødseth (xyproto) - Sunday, 29 December 2013, 22:16 GMT
Changed the package() function to also include the stray .so files. Testing the changes now.
Comment by Alexander F. Rødseth (xyproto) - Sunday, 29 December 2013, 22:59 GMT
I'm having trouble finding the right make dependencies for the erlang build process to produce the wxe_driver.so file.

Including 'wxgtk' and 'wxgtk2.9' in the makedepends array is not enough.

Once the right dependencies are added, the current PKGBUILD in svn might work.

Alternatively, this could be reported upstream to the erlang developers, with a link to the bug report being included here. If anyone feels like doing this, it would be helpful.

I'll continue looking at this, but the long build process makes for slow troubleshooting.
Comment by Paul DIckson (TwoNotes) - Tuesday, 31 December 2013, 04:20 GMT
Erlang uses a mailing list for bugs. I have sent a message to that list describing the problem and asking for guidance on locating the dependencies for wx.
The message and any followups will be in the message archive:

http://erlang.org/pipermail/erlang-bugs/2013-December/003967.html
Comment by Alexander F. Rødseth (xyproto) - Thursday, 02 January 2014, 11:37 GMT
Thank you for reporting the issue.
Comment by Paul DIckson (TwoNotes) - Thursday, 02 January 2014, 15:50 GMT
One reply on the mailing list said this:

"I could not reproduce this bug with a fresh install of 64bit arch linux
(starting from archlinux-2013.12.01-dual.iso). wxe_driver.so and
erl_gl.so were built and wx:demo() works (gl part was not tested
properly since arch linux was run in a virtual machine)."

Since your *could* reproduce it, maybe you should compare environments.
I am using an up-to-date 64-bit Arch.
Comment by Alexander F. Rødseth (xyproto) - Thursday, 02 January 2014, 16:42 GMT
Do you happen to know if he was building the package with "makepkg" or in a chroot with extra-x86_64-build (or extra-i686-build) from the devtools package?

When building with makepkg it seemed to work here, but not in a chroot. I'll test again.
Comment by Paul DIckson (TwoNotes) - Thursday, 02 January 2014, 16:49 GMT
I have asked. When I saw the problem, I had only used 'pacman -S' to install it. I am under the impression that pacman does not 'build' anything, but downloads prebuilt binaries. My suspicion is that this problem manifests on the machine where those packages are built for the Arch repository. If I just download the erlang sources and run 'make', it builds everything. But then I am doing that on a desktop machine that already has a lot of graphics software installed.
Comment by Alexander F. Rødseth (xyproto) - Thursday, 02 January 2014, 16:50 GMT
Found this when building:

configure: WARNING: No GLU headers found, wx will NOT be usable

This is new. I'll add "glu" as a make dependency and try again.
Comment by Paul DIckson (TwoNotes) - Thursday, 02 January 2014, 19:49 GMT
Further info from erlang-bugs when I asked exactly how they had done it:

"Built by makepkg. "pacman -S erlang" gave something without
wxe_driver.so and erl_gl.so

One thing I remembered about wxe_driver.so is that linking it might take
a lot of memory. If the build environment is somehow memory constrained
the linking phase might not work."

So using pacman failed for him too, in the same way. My system does have
'glu' already on it, probably from installing xfce. So that may be it.
Comment by Alexander F. Rødseth (xyproto) - Friday, 03 January 2014, 19:56 GMT
Adding glu fixed the issue. The updated package will be uploaded to [community] shortly. Thanks for helping out.

Loading...