Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#248 Doesn't compile with Erlang R16B

v1.0_(example)
open
nobody
1
2013-03-29
2013-02-28
No

Hi,

I'm maintaining Erlang and Wings in Arch Linux. I'm on 64-bit Arch Linux.

However, Wings 3D didn't compile and run correctly until after using this branch:
https://github.com/dgud/wings/tree/dgud/r15b-driver-compat

This has worked very well so far.

However, now Erlang has upgraded to R16B, and I get these errors when compiling Wings:

wingsfont.erl:14: parameterized modules are no longer supported
wings
font.erl:23: variable 'Key' is unbound
wingsfont.erl:24: variable 'Desc' is unbound
wings
font.erl:29: variable 'Width' is unbound
wingsfont.erl:32: variable 'Height' is unbound
wings
font.erl:53: variable 'GlyphTab' is unbound
wingsfont.erl:56: variable 'Height' is unbound
wings
font.erl:56: variable 'Width' is unbound
wings__font.erl:62: variable 'Bitmaps' is unbound
make[2]: *** [../ebin/wings__font.beam] Error 1

Thanks for developing Wings3D.

Best regards,
Alexander Rødseth

Discussion

  • Fetch the latest master branch (from my github account),
    I have just recently build it on windows 64 and it works.

     
  • Great, thanks. That solved that issue.

    However, now I get this:

    (cd icons; make)
    make[1]: Entering directory `/home/alexander/archpackages/community/wings3d/trunk/src/wings-master/icons'
    make[1]: *** No rule to make target `../ebin/wings_icon_classic.bundle', needed by `opt'.  Stop.
    make[1]: Leaving directory `/home/alexander/archpackages/community/wings3d/trunk/src/wings-master/icons'
    make: *** [all] Error 2
    
     
  • Hmm that works on windows, mac and linux for me,
    I really don't know how I can help you.

    What does make --version say?

     
  • make --version says:

    GNU Make 3.82
    Built for x86_64-unknown-linux-gnu
    Copyright (C) 2010  Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    

    I build Wings in the same way as before, except using the "master" branch instead of "r15b-driver-compat":

    https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/wings3d

     
  • Ths is the problematic part of the icons/Makefile:

    TARGET_FILES = $(ICONSETS:%=$(EBIN)/wings_icon_%.bundle)
    
    [...]
    
    opt debug: $(TARGET_FILES)
    
    $(EBIN)/wings_icon_%.bundle: %/*.bmp %/*.tga collect_bmp.beam about_wings.bmp
        erl $(ERL_FLAGS) -noinput -run collect_bmp start . $(ESRC)/$* $@ -s erlang halt;
    

    For some reason, make is unable to recognize the "$(EBIN)/wings_icon_%.bundle" target based on the similarly named target in TARGET_FILES.

     
    Last edit: Alexander Rødseth 2013-03-03
  • I've narrowed the problem down to that it has to do with

    %/*.bmp %/*.tga
    

    but I don't know what to replace that string with.

     
    Last edit: Alexander Rødseth 2013-03-03
  • Can refetch the latest master from github and try again

     
  • I encountered a similar problem. Program's compilation runs without errors but when the application start get the following:

    baranovskiykonstantin@Lenovo-G550:~/src/wings$ ./run.sh
    Erlang R16B (erts-5.10.1) [source] [async-threads:10] [kernel-poll:false]

    Eshell V5.10.1 (abort with ^G)
    1> Driver failed: Driver compiled with incorrect version of erl_driver.h
    sh: 1: exec: sdl_driver: not found

    =ERROR REPORT==== 29-Mar-2013::17:38:33 ===
    Error in process <0.34.0> with exit value: {badarg,[{erlang,port_control,[esdl_port,21,<<4 bytes>>],[]},{sdl,init,1,[{file,"sdl.erl"},{line,86}]},{wings_init,init,0,[{file,"wings_init.erl"},{line,28}]},{wings,init,1,[{file,"wings.erl"},{line,104}]}]}

    Fatal internal error - log written to /home/baranovskiykonstantin/wings_crash.dump

    run.sh contain:
    #!/bin/sh
    exec erl -pa $ESDL_PATH/ebin -pa /home/baranovskiykonstantin/wings/ebin -run wings_start start_halt ${1+"$@"}

    All needed packages installed.
    Sources for wings get from here: https://github.com/bjorng/wings

    System: Ubuntu 13.04
    baranovskiykonstantin@Lenovo-G550:~/src/wings$ uname -a
    Linux Lenovo-G550 3.8.0-030800-generic #201302181935 SMP Tue Feb 19 00:46:09 UTC 2013 i686 i686 i686 GNU/Linux

    Please help me.

     
    Last edit: Baranovskiy Konstantin 2013-03-29
  • Recompile esdl with the new erlang, you will need the master branch.