Installation BSDFviewer Ubuntu14.04 64bit


#1

Dear experts, (particularly Andy),

···

------------------

First of all: I do not have any experience using all that java stuff.
Honestly I do hope, that you won't tell me to get used to it :wink:
And I hope you can reproduce my problems to a certain extend.

Thank you for any hint, or a description of the installation procedure.

------- Problem statement -----
I'm running into dozens of error messages using the install.sh bash in the
BSDFViewer Download from
http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tar
.
See these messages at the end of that email.

Anyway, the BSDFViewer starts up. But it doesn't work properly (I can click
on the incoming patch which gets yellow, but there is no output displayed -
in terminal following error message is displayed as soon as I load any xml.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
Can't load library: /usr/local/lib/BSDFViewer/libBSDF.jnilib
or if any reload of another testBSDF is started:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
Could not initialize class libBSDF

I'm well aware of the *mailing list* discussion on that topic. Back then,
Andy's question to Serge about his JAVA installation did not yield to any
conclusion as Serge's problem disappeared:
http://radiance-online.org/pipermail/radiance-general/2015-February/010783.html
.

------ Platform description ------------
platform: ubuntu 14.04 64bit on VMware(R)Player 7.0.0; Windows 7 host
Java -version gives:
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
------------------------------------
------------------------------------

Please apologize for my poor debugging capabilities:

1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not
the place my radiane libs are located /usr/local/radiance/lib or whatever
is the users choice.

2. line 28 in install.sh asks for libBSDF.so, which is no located in that
place. instead: ./lib/libBSDF.so

3. the libBSDF.jnilib is not existing at all - so there is something
broken.

4. An error message about something called: ELFClass32 I tried to solve by
apt-getting different java platforms - as different forums told me.

THANK You,
br Robert

------------------------------------------------------------------------
------------------ERRORS after sudo install.sh--------------
------------------------------------------------------------------------
vm:/usr/local/radiance/BSDFViewer1.3_ubuntu_64$ sudo bash install.sh
rm -f *.o librtrad.a libmgf.a
cc -DBSD -O -c -o cone.o cone.c
cc -DBSD -O -c -o face.o face.c
cc -DBSD -O -c -o free_os.o free_os.c
cc -DBSD -O -c -o instance.o instance.c
cc -DBSD -O -c -o readobj.o readobj.c
readobj.c: In function ‘readobj’:
readobj.c:53:9: warning: ignoring return value of ‘fgets’, declared with
attribute warn_unused_result [-Wunused-result]
    fgets(buf, sizeof(buf), infp);
         ^
cc -DBSD -O -c -o readoct.o readoct.c
cc -DBSD -O -c -o otypes.o otypes.c
cc -DBSD -O -c -o objset.o objset.c
cc -DBSD -O -c -o octree.o octree.c
cc -DBSD -O -c -o readfargs.o readfargs.c
cc -DBSD -O -c -o modobject.o modobject.c
cc -DBSD -O -DDEFPATH=\":/usr/local/lib/ray\" -c getlibpath.c
cc -DBSD -O -c -o addobjnotify.o addobjnotify.c
cc -DBSD -O -c -o zeroes.o zeroes.c
cc -DBSD -O -c -o mesh.o mesh.c
cc -DBSD -O -c -o readmesh.o readmesh.c
cc -DBSD -O -c -o tmesh.o tmesh.c
cc -DBSD -O -c -o sceneio.o sceneio.c
cc -DBSD -O -c -o color.o color.c
cc -DBSD -O -c -o header.o header.c
cc -DBSD -O -c -o image.o image.c
cc -DBSD -O -c -o lamps.o lamps.c
cc -DBSD -O -c -o resolu.o resolu.c
cc -DBSD -O -c -o rexpr.o rexpr.c
cc -DBSD -O -c -o spec_rgb.o spec_rgb.c
cc -DBSD -O -c -o colrops.o colrops.c
cc -DBSD -O -c -o font.o font.c
cc -DBSD -O -c -o tonemap.o tonemap.c
In file included from tonemap.c:17:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
tonemap.c:654:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -DPCOND=\"pcond\" -c tmapcolrs.c
In file included from tmapcolrs.c:21:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmapluv.o tmapluv.c
In file included from tmapluv.c:19:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmaptiff.o tmaptiff.c
In file included from tmaptiff.c:15:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmap16bit.o tmap16bit.c
In file included from tmap16bit.c:14:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o bmpfile.o bmpfile.c
cc -DBSD -O -c -o falsecolor.o falsecolor.c
In file included from falsecolor.c:16:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o ezxml.o ezxml.c
cc -DBSD -O -c -o ccolor.o ccolor.c
cc -DBSD -O -c -o ccyrgb.o ccyrgb.c
cc -DBSD -O -c -o bsdf.o bsdf.c
bsdf.c: In function ‘SDloadFile’:
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
  if (strcmp(ezxml_name(fl), "WindowElement")) {
  ^
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
cc -DBSD -O -c -o bsdf_m.o bsdf_m.c
cc -DBSD -O -c -o bsdf_t.o bsdf_t.c
cc -DBSD -O -c -o loadbsdf.o loadbsdf.c
cc -DBSD -O -c -o disk2square.o disk2square.c
cc -DBSD -O -c -o hilbert.o hilbert.c
cc -DBSD -O -c -o fgetline.o fgetline.c
cc -DBSD -O -c -o fropen.o fropen.c
cc -DBSD -O -c -o linregr.o linregr.c
cc -DBSD -O -c -o xf.o xf.c
cc -DBSD -O -c -o mat4.o mat4.c
cc -DBSD -O -c -o invmat4.o invmat4.c
cc -DBSD -O -c -o fvect.o fvect.c
cc -DBSD -O -c -o urand.o urand.c
cc -DBSD -O -c -o urind.o urind.c
cc -DBSD -O -c -o calexpr.o calexpr.c
cc -DBSD -O -c -o caldefn.o caldefn.c
cc -DBSD -O -c -o calfunc.o calfunc.c
cc -DBSD -O -c -o calprnt.o calprnt.c
cc -DBSD -O -c -o biggerlib.o biggerlib.c
cc -DBSD -O -c -o multisamp.o multisamp.c
cc -DBSD -O -c -o unix_process.o unix_process.c
cc -DBSD -O -c -o process.o process.c
cc -DBSD -O -c -o gethomedir.o gethomedir.c
cc -DBSD -O -c -o getpath.o getpath.c
cc -DBSD -O -c -o error.o error.c
cc -DBSD -O -c -o savestr.o savestr.c
cc -DBSD -O -c -o savqstr.o savqstr.c
cc -DBSD -O -c -o badarg.o badarg.c
cc -DBSD -O -c -o fgetword.o fgetword.c
cc -DBSD -O -c -o words.o words.c
cc -DBSD -O -c -o expandarg.o expandarg.c
cc -DBSD -O -c -o wordfile.o wordfile.c
cc -DBSD -O -c -o fgetval.o fgetval.c
cc -DBSD -O -c -o clip.o clip.c
cc -DBSD -O -c -o plocate.o plocate.c
cc -DBSD -O -c -o eputs.o eputs.c
cc -DBSD -O -c -o wputs.o wputs.c
cc -DBSD -O -c -o quit.o quit.c
cc -DBSD -O -c -o lookup.o lookup.c
cc -DBSD -O -c -o bmalloc.o bmalloc.c
cc -DBSD -O -c -o loadvars.o loadvars.c
cc -DBSD -O -c -o tcos.o tcos.c
cc -DBSD -O -c -o fputword.o fputword.c
cc -DBSD -O -c -o chanvalue.o chanvalue.c
cc -DBSD -O -c -o dircode.o dircode.c
cc -DBSD -O -c -o paths.o paths.c
cc -DBSD -O -c -o byteswap.o byteswap.c
cc -DBSD -O -c -o ealloc.o ealloc.c
cc -DBSD -O -c -o fdate.o fdate.c
cc -DBSD -O -c -o portio.o portio.c
cc -DBSD -O -c -o myhostname.o myhostname.c
cc -DBSD -O -c -o erf.o erf.c
cc -DBSD -O -c -o strcmp.o strcmp.c
strcmp.c: In function ‘strcmp’:
strcmp.c:13:17: warning: argument ‘s1’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                 ^
strcmp.c:13:22: warning: argument ‘s2’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                      ^
rm -f librtrad.a
ar rc librtrad.a cone.o face.o free_os.o instance.o readobj.o readoct.o
otypes.o objset.o octree.o readfargs.o modobject.o getlibpath.o
addobjnotify.o zeroes.o mesh.o readmesh.o tmesh.o sceneio.o color.o
header.o image.o lamps.o resolu.o rexpr.o spec_rgb.o colrops.o font.o
tonemap.o tmapcolrs.o tmapluv.o tmaptiff.o tmap16bit.o bmpfile.o
falsecolor.o ezxml.o ccolor.o ccyrgb.o bsdf.o bsdf_m.o bsdf_t.o loadbsdf.o
disk2square.o hilbert.o fgetline.o fropen.o linregr.o xf.o mat4.o invmat4.o
fvect.o urand.o urind.o calexpr.o caldefn.o calfunc.o calprnt.o biggerlib.o
multisamp.o unix_process.o process.o gethomedir.o getpath.o error.o
savestr.o savqstr.o badarg.o fgetword.o words.o expandarg.o wordfile.o
fgetval.o clip.o plocate.o eputs.o wputs.o quit.o lookup.o bmalloc.o
loadvars.o tcos.o fputword.o chanvalue.o dircode.o paths.o byteswap.o
ealloc.o fdate.o portio.o myhostname.o erf.o strcmp.o
ranlib librtrad.a
cc -DBSD -O -c -o mgf_parser.o mgf_parser.c
cc -DBSD -O -c -o mgf_object.o mgf_object.c
cc -DBSD -O -c -o mgf_xf.o mgf_xf.c
cc -DBSD -O -c -o mgf_context.o mgf_context.c
rm -f libmgf.a
ar rc libmgf.a mgf_parser.o mgf_object.o mgf_xf.o mgf_context.o
ranlib libmgf.a
/usr/bin/ld: badarg.o: Die Umlagerung von
badarg.o: error adding symbols: Ungültiger Wert -- unvalid data
collect2: error: ld returned 1 exit status
install.sh: Zeile 19: javac: Befehl nicht gefunden --- command not found
install.sh: Zeile 21: javah: Befehl nicht gefunden --- command not found
In file included from libBSDF.cpp:13:0:
libBSDF.h:2:17: fatal error: jni.h: Datei oder Verzeichnis nicht gefunden
-- not found
#include <jni.h>
                 ^
compilation terminated.
g++: error: libBSDF.o: Datei oder Verzeichnis nicht gefunden -- not found
g++: error: libBSDF.so: Datei oder Verzeichnis nicht gefunden --- not found
g++: fatal error: no input files
compilation terminated.
cp: der Aufruf von stat für »BSDFViewer/libBSDF.so“ ist nicht möglich:
Datei oder Verzeichnis nicht gefunden -- not found


#2

Hi Robert,
Sorry for the delayed response. I think your problem is that you don't have
the java development environment installed, just the runtime environment.
You need javac and javah (part of the development environment) to create
the interface to the radiance library.

try:

sudo apt-get install default-jdk
and starting again from scratch.

As for your debugging notes, thanks. Though some of the confusion comes
from me lazily including the whole radiance library directory and just
using the bits that I need.

1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not

the place my radiane libs are located /usr/local/radiance/lib or whatever
is the users choice.

Well LIBDIR isn't actually used (again - me lazy). install.sh simply uses
rmakefile to compile all the objects for libBSDF.so

2. line 28 in install.sh asks for libBSDF.so, which is no located in that
place. instead: ./lib/libBSDF.so

libBSDF is compiled by install.sh in the BSDFViewer directory, this is the
one that it attempts to use. (you'll note that install.sh uses cd to change
to that directory - me lazy)

3. the libBSDF.jnilib is not existing at all - so there is something
broken.

This is created by install.sh in the BSDFViewer directory - this fails to
compile because you don't have javac - part of the development environment.

4. An error message about something called: ELFClass32 I tried to solve by
apt-getting different java platforms - as different forums told me.

I think this is because there are compiled versions of everything included
in the zip. Your system is using these (which were compiled 32-bit)
because they are failing to complie on your system. I should have scrubbed
these out before zipping the directory. This should be fixed when you
install development environment.

Andy

···

On Mon, Feb 1, 2016 at 10:24 AM, Robert Weitlaner <r.weitlaner@gmail.com> wrote:

Dear experts, (particularly Andy),
------------------

First of all: I do not have any experience using all that java stuff.
Honestly I do hope, that you won't tell me to get used to it :wink:
And I hope you can reproduce my problems to a certain extend.

Thank you for any hint, or a description of the installation procedure.

------- Problem statement -----
I'm running into dozens of error messages using the install.sh bash in
the BSDFViewer Download from
http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tar
.
See these messages at the end of that email.

Anyway, the BSDFViewer starts up. But it doesn't work properly (I can
click on the incoming patch which gets yellow, but there is no output
displayed - in terminal following error message is displayed as soon as I
load any xml.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
Can't load library: /usr/local/lib/BSDFViewer/libBSDF.jnilib
or if any reload of another testBSDF is started:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
Could not initialize class libBSDF

I'm well aware of the *mailing list* discussion on that topic. Back then,
Andy's question to Serge about his JAVA installation did not yield to any
conclusion as Serge's problem disappeared:
http://radiance-online.org/pipermail/radiance-general/2015-February/010783.html
.

------ Platform description ------------
platform: ubuntu 14.04 64bit on VMware(R)Player 7.0.0; Windows 7 host
Java -version gives:
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
------------------------------------
------------------------------------

Please apologize for my poor debugging capabilities:

1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not
the place my radiane libs are located /usr/local/radiance/lib or whatever
is the users choice.

2. line 28 in install.sh asks for libBSDF.so, which is no located in that
place. instead: ./lib/libBSDF.so

3. the libBSDF.jnilib is not existing at all - so there is something
broken.

4. An error message about something called: ELFClass32 I tried to solve by
apt-getting different java platforms - as different forums told me.

THANK You,
br Robert

------------------------------------------------------------------------
------------------ERRORS after sudo install.sh--------------
------------------------------------------------------------------------
vm:/usr/local/radiance/BSDFViewer1.3_ubuntu_64$ sudo bash install.sh
rm -f *.o librtrad.a libmgf.a
cc -DBSD -O -c -o cone.o cone.c
cc -DBSD -O -c -o face.o face.c
cc -DBSD -O -c -o free_os.o free_os.c
cc -DBSD -O -c -o instance.o instance.c
cc -DBSD -O -c -o readobj.o readobj.c
readobj.c: In function ‘readobj’:
readobj.c:53:9: warning: ignoring return value of ‘fgets’, declared with
attribute warn_unused_result [-Wunused-result]
    fgets(buf, sizeof(buf), infp);
         ^
cc -DBSD -O -c -o readoct.o readoct.c
cc -DBSD -O -c -o otypes.o otypes.c
cc -DBSD -O -c -o objset.o objset.c
cc -DBSD -O -c -o octree.o octree.c
cc -DBSD -O -c -o readfargs.o readfargs.c
cc -DBSD -O -c -o modobject.o modobject.c
cc -DBSD -O -DDEFPATH=\":/usr/local/lib/ray\" -c getlibpath.c
cc -DBSD -O -c -o addobjnotify.o addobjnotify.c
cc -DBSD -O -c -o zeroes.o zeroes.c
cc -DBSD -O -c -o mesh.o mesh.c
cc -DBSD -O -c -o readmesh.o readmesh.c
cc -DBSD -O -c -o tmesh.o tmesh.c
cc -DBSD -O -c -o sceneio.o sceneio.c
cc -DBSD -O -c -o color.o color.c
cc -DBSD -O -c -o header.o header.c
cc -DBSD -O -c -o image.o image.c
cc -DBSD -O -c -o lamps.o lamps.c
cc -DBSD -O -c -o resolu.o resolu.c
cc -DBSD -O -c -o rexpr.o rexpr.c
cc -DBSD -O -c -o spec_rgb.o spec_rgb.c
cc -DBSD -O -c -o colrops.o colrops.c
cc -DBSD -O -c -o font.o font.c
cc -DBSD -O -c -o tonemap.o tonemap.c
In file included from tonemap.c:17:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
tonemap.c:654:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -DPCOND=\"pcond\" -c tmapcolrs.c
In file included from tmapcolrs.c:21:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmapluv.o tmapluv.c
In file included from tmapluv.c:19:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmaptiff.o tmaptiff.c
In file included from tmaptiff.c:15:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmap16bit.o tmap16bit.c
In file included from tmap16bit.c:14:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o bmpfile.o bmpfile.c
cc -DBSD -O -c -o falsecolor.o falsecolor.c
In file included from falsecolor.c:16:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o ezxml.o ezxml.c
cc -DBSD -O -c -o ccolor.o ccolor.c
cc -DBSD -O -c -o ccyrgb.o ccyrgb.c
cc -DBSD -O -c -o bsdf.o bsdf.c
bsdf.c: In function ‘SDloadFile’:
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
  if (strcmp(ezxml_name(fl), "WindowElement")) {
  ^
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
cc -DBSD -O -c -o bsdf_m.o bsdf_m.c
cc -DBSD -O -c -o bsdf_t.o bsdf_t.c
cc -DBSD -O -c -o loadbsdf.o loadbsdf.c
cc -DBSD -O -c -o disk2square.o disk2square.c
cc -DBSD -O -c -o hilbert.o hilbert.c
cc -DBSD -O -c -o fgetline.o fgetline.c
cc -DBSD -O -c -o fropen.o fropen.c
cc -DBSD -O -c -o linregr.o linregr.c
cc -DBSD -O -c -o xf.o xf.c
cc -DBSD -O -c -o mat4.o mat4.c
cc -DBSD -O -c -o invmat4.o invmat4.c
cc -DBSD -O -c -o fvect.o fvect.c
cc -DBSD -O -c -o urand.o urand.c
cc -DBSD -O -c -o urind.o urind.c
cc -DBSD -O -c -o calexpr.o calexpr.c
cc -DBSD -O -c -o caldefn.o caldefn.c
cc -DBSD -O -c -o calfunc.o calfunc.c
cc -DBSD -O -c -o calprnt.o calprnt.c
cc -DBSD -O -c -o biggerlib.o biggerlib.c
cc -DBSD -O -c -o multisamp.o multisamp.c
cc -DBSD -O -c -o unix_process.o unix_process.c
cc -DBSD -O -c -o process.o process.c
cc -DBSD -O -c -o gethomedir.o gethomedir.c
cc -DBSD -O -c -o getpath.o getpath.c
cc -DBSD -O -c -o error.o error.c
cc -DBSD -O -c -o savestr.o savestr.c
cc -DBSD -O -c -o savqstr.o savqstr.c
cc -DBSD -O -c -o badarg.o badarg.c
cc -DBSD -O -c -o fgetword.o fgetword.c
cc -DBSD -O -c -o words.o words.c
cc -DBSD -O -c -o expandarg.o expandarg.c
cc -DBSD -O -c -o wordfile.o wordfile.c
cc -DBSD -O -c -o fgetval.o fgetval.c
cc -DBSD -O -c -o clip.o clip.c
cc -DBSD -O -c -o plocate.o plocate.c
cc -DBSD -O -c -o eputs.o eputs.c
cc -DBSD -O -c -o wputs.o wputs.c
cc -DBSD -O -c -o quit.o quit.c
cc -DBSD -O -c -o lookup.o lookup.c
cc -DBSD -O -c -o bmalloc.o bmalloc.c
cc -DBSD -O -c -o loadvars.o loadvars.c
cc -DBSD -O -c -o tcos.o tcos.c
cc -DBSD -O -c -o fputword.o fputword.c
cc -DBSD -O -c -o chanvalue.o chanvalue.c
cc -DBSD -O -c -o dircode.o dircode.c
cc -DBSD -O -c -o paths.o paths.c
cc -DBSD -O -c -o byteswap.o byteswap.c
cc -DBSD -O -c -o ealloc.o ealloc.c
cc -DBSD -O -c -o fdate.o fdate.c
cc -DBSD -O -c -o portio.o portio.c
cc -DBSD -O -c -o myhostname.o myhostname.c
cc -DBSD -O -c -o erf.o erf.c
cc -DBSD -O -c -o strcmp.o strcmp.c
strcmp.c: In function ‘strcmp’:
strcmp.c:13:17: warning: argument ‘s1’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                 ^
strcmp.c:13:22: warning: argument ‘s2’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                      ^
rm -f librtrad.a
ar rc librtrad.a cone.o face.o free_os.o instance.o readobj.o readoct.o
otypes.o objset.o octree.o readfargs.o modobject.o getlibpath.o
addobjnotify.o zeroes.o mesh.o readmesh.o tmesh.o sceneio.o color.o
header.o image.o lamps.o resolu.o rexpr.o spec_rgb.o colrops.o font.o
tonemap.o tmapcolrs.o tmapluv.o tmaptiff.o tmap16bit.o bmpfile.o
falsecolor.o ezxml.o ccolor.o ccyrgb.o bsdf.o bsdf_m.o bsdf_t.o loadbsdf.o
disk2square.o hilbert.o fgetline.o fropen.o linregr.o xf.o mat4.o invmat4.o
fvect.o urand.o urind.o calexpr.o caldefn.o calfunc.o calprnt.o biggerlib.o
multisamp.o unix_process.o process.o gethomedir.o getpath.o error.o
savestr.o savqstr.o badarg.o fgetword.o words.o expandarg.o wordfile.o
fgetval.o clip.o plocate.o eputs.o wputs.o quit.o lookup.o bmalloc.o
loadvars.o tcos.o fputword.o chanvalue.o dircode.o paths.o byteswap.o
ealloc.o fdate.o portio.o myhostname.o erf.o strcmp.o
ranlib librtrad.a
cc -DBSD -O -c -o mgf_parser.o mgf_parser.c
cc -DBSD -O -c -o mgf_object.o mgf_object.c
cc -DBSD -O -c -o mgf_xf.o mgf_xf.c
cc -DBSD -O -c -o mgf_context.o mgf_context.c
rm -f libmgf.a
ar rc libmgf.a mgf_parser.o mgf_object.o mgf_xf.o mgf_context.o
ranlib libmgf.a
/usr/bin/ld: badarg.o: Die Umlagerung von
badarg.o: error adding symbols: Ungültiger Wert -- unvalid data
collect2: error: ld returned 1 exit status
install.sh: Zeile 19: javac: Befehl nicht gefunden --- command not found
install.sh: Zeile 21: javah: Befehl nicht gefunden --- command not found
In file included from libBSDF.cpp:13:0:
libBSDF.h:2:17: fatal error: jni.h: Datei oder Verzeichnis nicht gefunden
-- not found
#include <jni.h>
                 ^
compilation terminated.
g++: error: libBSDF.o: Datei oder Verzeichnis nicht gefunden -- not found
g++: error: libBSDF.so: Datei oder Verzeichnis nicht gefunden --- not found
g++: fatal error: no input files
compilation terminated.
cp: der Aufruf von stat für »BSDFViewer/libBSDF.so“ ist nicht möglich:
Datei oder Verzeichnis nicht gefunden -- not found

_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general


#3

Andy,

  I'm having similar trouble getting BSDFviewer to run on my Suse 13.2 Linux box.

  I tried both the 32 an 64 bit versions. 64 bit needed some adjustment (-fPIC etc) for install.sh to finish without errors.

  Running ./BSDViewer_v1.3� launches the interface. Changing Logscale to linear scale, equidistant to orthographic and selecting an incident patch all appears to work.

  As soon as I click� "Load a BSDF XML file" the interface becomes unresponsive.

  My java command for the 64 bit version currently is: "java -Djava.library.path="/usr/local/lib/BSDFViewer" -cp "/usr/local/lib/BSDFViewer.jar:/usr/local/lib/core.jar" BSDFViewer"

  The 32 version out of the box: "java� -Djava.library.path="." -cp "./lib/BSDFViewer.jar:./lib/core.jar" BSDFViewer"

  Occasionally the application crashes, telling:

  [xcb] Unknown sequence number while processing queue

  [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called

  [xcb] Aborting, sorry about that.

  java: xcb_io.c:259: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.

  ./BSDFViewer_v1.3: line 6: 14480 Aborted���������������� java -Djava.library.path="$APPDIR" -cp "$APPDIR/lib/BSDFViewer.jar:$APPDIR/lib/core.jar" BSDFViewer

  Any ideas?

  Cheers,

  Wouter
···

On 02/04/2016 12:04 AM, Andy McNeil wrote:

Hi Robert,
Sorry for the delayed response. I think your problem is that you don’t have the java development environment installed, just the runtime environment. You need javac and javah (part of the development environment) to create the interface to the radiance library.

try: �

sudo apt-get install default-jdk

and starting again from scratch.

      As for your debugging notes, thanks. Though some of the confusion comes from me lazily including the whole radiance library directory and just using the bits that I need.
        1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not the place my radiane libs are located /usr/local/radiance/lib or whatever is the users choice.
        Well LIBDIR isn't actually used (again - me lazy). �install.sh simply uses rmakefile to compile all the objects for libBSDF.so

        2. line 28 in install.sh asks for libBSDF.so, which is no located in that place. instead: ./lib/libBSDF.so
        libBSDF is compiled by install.sh in the BSDFViewer directory, this is the one that it attempts to use. (you'll note that install.sh uses cd to change to that directory - me lazy)

        3. the libBSDF.jnilib is not existing at all - so there is something broken.�
        This is created by install.sh in the BSDFViewer directory - this fails to compile because you don't have javac - part of the development environment.

        4. An error message about something called: ELFClass32 I tried to solve by apt-getting different java platforms - as different forums told me. �
        I think this is because there are compiled versions of everything included in the zip.� Your system is using these (which were compiled 32-bit) because they are failing to complie on your system. I should have scrubbed these out before zipping the directory. This should be fixed when you install development environment.

Andy

      On Mon, Feb 1, 2016 at 10:24 AM, Robert Weitlaner <r.weitlaner@gmail.com>
      wrote:

Dear experts, (particularly Andy),

            First of all: I do not have any experience using all that java stuff. Honestly I do hope, that you won't tell me to get used to it ;)
            And I hope you can reproduce my problems to a certain extend.
            Thank you for any hint, or a description of the installation procedure.

------- Problem statement -----

            �I'm running into dozens of error messages using the install.sh bash in the BSDFViewer Download from�[](http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tar).

See these messages at the end of that email.

              Anyway, the BSDFViewer starts up. But it doesn't work properly (I can click on the incoming patch which gets yellow, but there is no output displayed - in terminal following error message is displayed as soon as I load any xml.
              Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: Can't load library: /usr/local/lib/BSDFViewer/libBSDF.jnilib

or if any reload of another testBSDF is started:

              Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class libBSDF

I’m well aware of the mailing list
discussion on that topic. Back then, Andy’s question to Serge about his JAVA installation did not yield to any conclusion as Serge’s problem disappeared: .

------ Platform description ------------

                platform: ubuntu 14.04 64bit �on VMware(R)Player 7.0.0; Windows 7 host

Java -version gives:

java version “1.7.0_91”

                  OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.14.04.1)
                  OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)


              Please apologize for my poor debugging capabilities:
              1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not the place my radiane libs are located /usr/local/radiance/lib or whatever is the users choice.
              2. line 28 in install.sh asks for libBSDF.so, which is no located in that place. instead: ./lib/libBSDF.so
              3. the libBSDF.jnilib is not existing at all - so there is something broken.�
              4. An error message about something called: ELFClass32 I tried to solve by apt-getting different java platforms - as different forums told me. �

THANK You,

br Robert


              ------------------ERRORS after sudo install.sh--------------

              vm:/usr/local/radiance/BSDFViewer1.3_ubuntu_64$ sudo bash install.sh

rm -f *.o librtrad.a libmgf.a

cc -DBSD -O � -c -o cone.o cone.c

cc -DBSD -O � -c -o face.o face.c

cc -DBSD -O � -c -o free_os.o free_os.c

cc -DBSD -O � -c -o instance.o instance.c

cc -DBSD -O � -c -o readobj.o readobj.c

readobj.c: In function �readobj�:

                readobj.c:53:9: warning: ignoring return value of �fgets�, declared with attribute warn_unused_result [-Wunused-result]

� � fgets(buf, sizeof(buf), infp);

� � � � �^

cc -DBSD -O � -c -o readoct.o readoct.c

cc -DBSD -O � -c -o otypes.o otypes.c

cc -DBSD -O � -c -o objset.o objset.c

cc -DBSD -O � -c -o octree.o octree.c

cc -DBSD -O � -c -o readfargs.o readfargs.c

cc -DBSD -O � -c -o modobject.o modobject.c

                cc -DBSD -O -DDEFPATH=\":/usr/local/lib/ray\" -c getlibpath.c

cc -DBSD -O � -c -o addobjnotify.o addobjnotify.c

cc -DBSD -O � -c -o zeroes.o zeroes.c

cc -DBSD -O � -c -o mesh.o mesh.c

cc -DBSD -O � -c -o readmesh.o readmesh.c

cc -DBSD -O � -c -o tmesh.o tmesh.c

cc -DBSD -O � -c -o sceneio.o sceneio.c

cc -DBSD -O � -c -o color.o color.c

cc -DBSD -O � -c -o header.o header.c

cc -DBSD -O � -c -o image.o image.c

cc -DBSD -O � -c -o lamps.o lamps.c

cc -DBSD -O � -c -o resolu.o resolu.c

cc -DBSD -O � -c -o rexpr.o rexpr.c

cc -DBSD -O � -c -o spec_rgb.o spec_rgb.c

cc -DBSD -O � -c -o colrops.o colrops.c

cc -DBSD -O � -c -o font.o font.c

cc -DBSD -O � -c -o tonemap.o tonemap.c

In file included from tonemap.c:17:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

                tonemap.c:654:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O -DPCOND=“pcond” -c tmapcolrs.c

In file included from tmapcolrs.c:21:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O � -c -o tmapluv.o tmapluv.c

In file included from tmapluv.c:19:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O � -c -o tmaptiff.o tmaptiff.c

In file included from tmaptiff.c:15:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O � -c -o tmap16bit.o tmap16bit.c

In file included from tmap16bit.c:14:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O � -c -o bmpfile.o bmpfile.c

cc -DBSD -O � -c -o falsecolor.o falsecolor.c

In file included from falsecolor.c:16:0:

                tmprivat.h:62:1: warning: variably modified �tmMesofact� at file scope [enabled by default]

�extern uby8 tmMesofact[BMESUPPER-BMESLOWER];

�^

cc -DBSD -O � -c -o ezxml.o ezxml.c

cc -DBSD -O � -c -o ccolor.o ccolor.c

cc -DBSD -O � -c -o ccyrgb.o ccyrgb.c

cc -DBSD -O � -c -o bsdf.o bsdf.c

bsdf.c: In function �SDloadFile�:

                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]

� if (strcmp(ezxml_name(fl), “WindowElement”)) {

� ^

                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]
                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]
                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]
                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]
                bsdf.c:182:2: warning: null argument where non-null required (argument 1) [-Wnonnull]

cc -DBSD -O � -c -o bsdf_m.o bsdf_m.c

cc -DBSD -O � -c -o bsdf_t.o bsdf_t.c

cc -DBSD -O � -c -o loadbsdf.o loadbsdf.c

cc -DBSD -O � -c -o disk2square.o disk2square.c

cc -DBSD -O � -c -o hilbert.o hilbert.c

cc -DBSD -O � -c -o fgetline.o fgetline.c

cc -DBSD -O � -c -o fropen.o fropen.c

cc -DBSD -O � -c -o linregr.o linregr.c

cc -DBSD -O � -c -o xf.o xf.c

cc -DBSD -O � -c -o mat4.o mat4.c

cc -DBSD -O � -c -o invmat4.o invmat4.c

cc -DBSD -O � -c -o fvect.o fvect.c

cc -DBSD -O � -c -o urand.o urand.c

cc -DBSD -O � -c -o urind.o urind.c

cc -DBSD -O � -c -o calexpr.o calexpr.c

cc -DBSD -O � -c -o caldefn.o caldefn.c

cc -DBSD -O � -c -o calfunc.o calfunc.c

cc -DBSD -O � -c -o calprnt.o calprnt.c

cc -DBSD -O � -c -o biggerlib.o biggerlib.c

cc -DBSD -O � -c -o multisamp.o multisamp.c

cc -DBSD -O � -c -o unix_process.o unix_process.c

cc -DBSD -O � -c -o process.o process.c

cc -DBSD -O � -c -o gethomedir.o gethomedir.c

cc -DBSD -O � -c -o getpath.o getpath.c

cc -DBSD -O � -c -o error.o error.c

cc -DBSD -O � -c -o savestr.o savestr.c

cc -DBSD -O � -c -o savqstr.o savqstr.c

cc -DBSD -O � -c -o badarg.o badarg.c

cc -DBSD -O � -c -o fgetword.o fgetword.c

cc -DBSD -O � -c -o words.o words.c

cc -DBSD -O � -c -o expandarg.o expandarg.c

cc -DBSD -O � -c -o wordfile.o wordfile.c

cc -DBSD -O � -c -o fgetval.o fgetval.c

cc -DBSD -O � -c -o clip.o clip.c

cc -DBSD -O � -c -o plocate.o plocate.c

cc -DBSD -O � -c -o eputs.o eputs.c

cc -DBSD -O � -c -o wputs.o wputs.c

cc -DBSD -O � -c -o quit.o quit.c

cc -DBSD -O � -c -o lookup.o lookup.c

cc -DBSD -O � -c -o bmalloc.o bmalloc.c

cc -DBSD -O � -c -o loadvars.o loadvars.c

cc -DBSD -O � -c -o tcos.o tcos.c

cc -DBSD -O � -c -o fputword.o fputword.c

cc -DBSD -O � -c -o chanvalue.o chanvalue.c

cc -DBSD -O � -c -o dircode.o dircode.c

cc -DBSD -O � -c -o paths.o paths.c

cc -DBSD -O � -c -o byteswap.o byteswap.c

cc -DBSD -O � -c -o ealloc.o ealloc.c

cc -DBSD -O � -c -o fdate.o fdate.c

cc -DBSD -O � -c -o portio.o portio.c

cc -DBSD -O � -c -o myhostname.o myhostname.c

cc -DBSD -O � -c -o erf.o erf.c

cc -DBSD -O � -c -o strcmp.o strcmp.c

strcmp.c: In function �strcmp�:

                strcmp.c:13:17: warning: argument �s1� doesn�t match built-in prototype [enabled by default]

�register char �*s1, *s2;

� � � � � � � � �^

                strcmp.c:13:22: warning: argument �s2� doesn�t match built-in prototype [enabled by default]

�register char �*s1, *s2;

� � � � � � � � � � � ^

rm -f librtrad.a

                ar rc librtrad.a cone.o face.o free_os.o instance.o readobj.o readoct.o otypes.o objset.o octree.o readfargs.o modobject.o getlibpath.o addobjnotify.o zeroes.o mesh.o readmesh.o tmesh.o sceneio.o color.o header.o image.o lamps.o resolu.o rexpr.o spec_rgb.o colrops.o font.o tonemap.o tmapcolrs.o tmapluv.o tmaptiff.o tmap16bit.o bmpfile.o falsecolor.o ezxml.o ccolor.o ccyrgb.o bsdf.o bsdf_m.o bsdf_t.o loadbsdf.o disk2square.o hilbert.o fgetline.o fropen.o linregr.o xf.o mat4.o invmat4.o fvect.o urand.o urind.o calexpr.o caldefn.o calfunc.o calprnt.o biggerlib.o multisamp.o unix_process.o process.o gethomedir.o getpath.o error.o savestr.o savqstr.o badarg.o fgetword.o words.o expandarg.o wordfile.o fgetval.o clip.o plocate.o eputs.o wputs.o quit.o lookup.o bmalloc.o loadvars.o tcos.o fputword.o chanvalue.o dircode.o paths.o byteswap.o ealloc.o fdate.o portio.o myhostname.o erf.o strcmp.o

ranlib librtrad.a

cc -DBSD -O � -c -o mgf_parser.o mgf_parser.c

cc -DBSD -O � -c -o mgf_object.o mgf_object.c

cc -DBSD -O � -c -o mgf_xf.o mgf_xf.c

cc -DBSD -O � -c -o mgf_context.o mgf_context.c

rm -f libmgf.a

                ar rc libmgf.a mgf_parser.o mgf_object.o mgf_xf.o mgf_context.o

ranlib libmgf.a

/usr/bin/ld: badarg.o: Die Umlagerung von�

                badarg.o: error adding symbols: Ung�ltiger Wert -- unvalid data

collect2: error: ld returned 1 exit status

                install.sh: Zeile 19: javac: Befehl nicht gefunden --- command not found
                install.sh: Zeile 21: javah: Befehl nicht gefunden --- command not found

In file included from libBSDF.cpp:13:0:

                libBSDF.h:2:17: fatal error: jni.h: Datei oder Verzeichnis nicht gefunden -- not found

�#include <jni.h>

� � � � � � � � �^

compilation terminated.

                g++: error: libBSDF.o: Datei oder Verzeichnis nicht gefunden -- not found
                g++: error: libBSDF.so: Datei oder Verzeichnis nicht gefunden --- not found

g++: fatal error: no input files

compilation terminated.

                cp: der Aufruf von stat f�r �BSDFViewer/libBSDF.so� ist nicht m�glich: Datei oder Verzeichnis nicht gefunden -- not found
        _______________________________________________

        Radiance-general mailing list

        Radiance-general@radiance-online.org

        [http://www.radiance-online.org/mailman/listinfo/radiance-general](http://www.radiance-online.org/mailman/listinfo/radiance-general)
_______________________________________________ Radiance-general mailing list

http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tarhttp://radiance-online.org/pipermail/radiance-general/2015-February/010783.html
Radiance-general@radiance-online.orghttp://www.radiance-online.org/mailman/listinfo/radiance-general


#4

Wouter,

Can you go into the BSDF viewer folder and run the following:
sudo bash install.sh

And report any errors?

Thanks,
Andy

···

On Fri, Jun 3, 2016 at 1:16 PM, ascendilex | Wouter Beck < wouter.beck@ascendilex.nl> wrote:

Andy,

I'm having similar trouble getting BSDFviewer to run on my Suse 13.2 Linux
box.

I tried both the 32 an 64 bit versions. 64 bit needed some adjustment
(-fPIC etc) for install.sh to finish without errors.

Running ./BSDViewer_v1.3 launches the interface. Changing Logscale to
linear scale, equidistant to orthographic and selecting an incident patch
all appears to work.

As soon as I click "Load a BSDF XML file" the interface becomes
unresponsive.

My java command for the 64 bit version currently is: "java
-Djava.library.path="/usr/local/lib/BSDFViewer" -cp
"/usr/local/lib/BSDFViewer.jar:/usr/local/lib/core.jar" BSDFViewer"
The 32 version out of the box: "java -Djava.library.path="." -cp
"./lib/BSDFViewer.jar:./lib/core.jar" BSDFViewer"

Occasionally the application crashes, telling:

[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not
been called
[xcb] Aborting, sorry about that.
java: xcb_io.c:259: poll_for_event: Assertion
`!xcb_xlib_threads_sequence_lost' failed.
./BSDFViewer_v1.3: line 6: 14480 Aborted java
-Djava.library.path="$APPDIR" -cp
"$APPDIR/lib/BSDFViewer.jar:$APPDIR/lib/core.jar" BSDFViewer

Any ideas?

Cheers,

Wouter

On 02/04/2016 12:04 AM, Andy McNeil wrote:

Hi Robert,
Sorry for the delayed response. I think your problem is that you don't
have the java development environment installed, just the runtime
environment. You need javac and javah (part of the development environment)
to create the interface to the radiance library.

try:

sudo apt-get install default-jdk
and starting again from scratch.

As for your debugging notes, thanks. Though some of the confusion comes
from me lazily including the whole radiance library directory and just
using the bits that I need.

1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not

the place my radiane libs are located /usr/local/radiance/lib or whatever
is the users choice.

Well LIBDIR isn't actually used (again - me lazy). install.sh simply uses
rmakefile to compile all the objects for libBSDF.so

2. line 28 in install.sh asks for libBSDF.so, which is no located in that
place. instead: ./lib/libBSDF.so

libBSDF is compiled by install.sh in the BSDFViewer directory, this is the
one that it attempts to use. (you'll note that install.sh uses cd to change
to that directory - me lazy)

3. the libBSDF.jnilib is not existing at all - so there is something
broken.

This is created by install.sh in the BSDFViewer directory - this fails to
compile because you don't have javac - part of the development environment.

4. An error message about something called: ELFClass32 I tried to solve
by apt-getting different java platforms - as different forums told me.

I think this is because there are compiled versions of everything included
in the zip. Your system is using these (which were compiled 32-bit)
because they are failing to complie on your system. I should have scrubbed
these out before zipping the directory. This should be fixed when you
install development environment.

Andy

On Mon, Feb 1, 2016 at 10:24 AM, Robert Weitlaner <r.weitlaner@gmail.com> > wrote:

Dear experts, (particularly Andy),
------------------

First of all: I do not have any experience using all that java stuff.
Honestly I do hope, that you won't tell me to get used to it :wink:
And I hope you can reproduce my problems to a certain extend.

Thank you for any hint, or a description of the installation procedure.

------- Problem statement -----
I'm running into dozens of error messages using the install.sh bash in
the BSDFViewer Download from
<http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tar>
http://www.radiance-online.org/download-install/bsdf-viewer/BSDFViewer1.3_ubuntu_64.tar
.
See these messages at the end of that email.

Anyway, the BSDFViewer starts up. But it doesn't work properly (I can
click on the incoming patch which gets yellow, but there is no output
displayed - in terminal following error message is displayed as soon as I
load any xml.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
Can't load library: /usr/local/lib/BSDFViewer/libBSDF.jnilib
or if any reload of another testBSDF is started:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
Could not initialize class libBSDF

I'm well aware of the *mailing list* discussion on that topic. Back
then, Andy's question to Serge about his JAVA installation did not yield to
any conclusion as Serge's problem disappeared:
<http://radiance-online.org/pipermail/radiance-general/2015-February/010783.html>
http://radiance-online.org/pipermail/radiance-general/2015-February/010783.html
.

------ Platform description ------------
platform: ubuntu 14.04 64bit on VMware(R)Player 7.0.0; Windows 7 host
Java -version gives:
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
------------------------------------
------------------------------------

Please apologize for my poor debugging capabilities:

1. line 14 in Rmakefile defines LIBDIR = /usr/local/lib/ray . That's not
the place my radiane libs are located /usr/local/radiance/lib or whatever
is the users choice.

2. line 28 in install.sh asks for libBSDF.so, which is no located in that
place. instead: ./lib/libBSDF.so

3. the libBSDF.jnilib is not existing at all - so there is something
broken.

4. An error message about something called: ELFClass32 I tried to solve
by apt-getting different java platforms - as different forums told me.

THANK You,
br Robert

------------------------------------------------------------------------
------------------ERRORS after sudo install.sh--------------
------------------------------------------------------------------------
vm:/usr/local/radiance/BSDFViewer1.3_ubuntu_64$ sudo bash install.sh
rm -f *.o librtrad.a libmgf.a
cc -DBSD -O -c -o cone.o cone.c
cc -DBSD -O -c -o face.o face.c
cc -DBSD -O -c -o free_os.o free_os.c
cc -DBSD -O -c -o instance.o instance.c
cc -DBSD -O -c -o readobj.o readobj.c
readobj.c: In function ‘readobj’:
readobj.c:53:9: warning: ignoring return value of ‘fgets’, declared with
attribute warn_unused_result [-Wunused-result]
    fgets(buf, sizeof(buf), infp);
         ^
cc -DBSD -O -c -o readoct.o readoct.c
cc -DBSD -O -c -o otypes.o otypes.c
cc -DBSD -O -c -o objset.o objset.c
cc -DBSD -O -c -o octree.o octree.c
cc -DBSD -O -c -o readfargs.o readfargs.c
cc -DBSD -O -c -o modobject.o modobject.c
cc -DBSD -O -DDEFPATH=\":/usr/local/lib/ray\" -c getlibpath.c
cc -DBSD -O -c -o addobjnotify.o addobjnotify.c
cc -DBSD -O -c -o zeroes.o zeroes.c
cc -DBSD -O -c -o mesh.o mesh.c
cc -DBSD -O -c -o readmesh.o readmesh.c
cc -DBSD -O -c -o tmesh.o tmesh.c
cc -DBSD -O -c -o sceneio.o sceneio.c
cc -DBSD -O -c -o color.o color.c
cc -DBSD -O -c -o header.o header.c
cc -DBSD -O -c -o image.o image.c
cc -DBSD -O -c -o lamps.o lamps.c
cc -DBSD -O -c -o resolu.o resolu.c
cc -DBSD -O -c -o rexpr.o rexpr.c
cc -DBSD -O -c -o spec_rgb.o spec_rgb.c
cc -DBSD -O -c -o colrops.o colrops.c
cc -DBSD -O -c -o font.o font.c
cc -DBSD -O -c -o tonemap.o tonemap.c
In file included from tonemap.c:17:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
tonemap.c:654:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -DPCOND=\"pcond\" -c tmapcolrs.c
In file included from tmapcolrs.c:21:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmapluv.o tmapluv.c
In file included from tmapluv.c:19:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmaptiff.o tmaptiff.c
In file included from tmaptiff.c:15:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o tmap16bit.o tmap16bit.c
In file included from tmap16bit.c:14:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o bmpfile.o bmpfile.c
cc -DBSD -O -c -o falsecolor.o falsecolor.c
In file included from falsecolor.c:16:0:
tmprivat.h:62:1: warning: variably modified ‘tmMesofact’ at file scope
[enabled by default]
extern uby8 tmMesofact[BMESUPPER-BMESLOWER];
^
cc -DBSD -O -c -o ezxml.o ezxml.c
cc -DBSD -O -c -o ccolor.o ccolor.c
cc -DBSD -O -c -o ccyrgb.o ccyrgb.c
cc -DBSD -O -c -o bsdf.o bsdf.c
bsdf.c: In function ‘SDloadFile’:
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
  if (strcmp(ezxml_name(fl), "WindowElement")) {
  ^
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
bsdf.c:182:2: warning: null argument where non-null required (argument 1)
[-Wnonnull]
cc -DBSD -O -c -o bsdf_m.o bsdf_m.c
cc -DBSD -O -c -o bsdf_t.o bsdf_t.c
cc -DBSD -O -c -o loadbsdf.o loadbsdf.c
cc -DBSD -O -c -o disk2square.o disk2square.c
cc -DBSD -O -c -o hilbert.o hilbert.c
cc -DBSD -O -c -o fgetline.o fgetline.c
cc -DBSD -O -c -o fropen.o fropen.c
cc -DBSD -O -c -o linregr.o linregr.c
cc -DBSD -O -c -o xf.o xf.c
cc -DBSD -O -c -o mat4.o mat4.c
cc -DBSD -O -c -o invmat4.o invmat4.c
cc -DBSD -O -c -o fvect.o fvect.c
cc -DBSD -O -c -o urand.o urand.c
cc -DBSD -O -c -o urind.o urind.c
cc -DBSD -O -c -o calexpr.o calexpr.c
cc -DBSD -O -c -o caldefn.o caldefn.c
cc -DBSD -O -c -o calfunc.o calfunc.c
cc -DBSD -O -c -o calprnt.o calprnt.c
cc -DBSD -O -c -o biggerlib.o biggerlib.c
cc -DBSD -O -c -o multisamp.o multisamp.c
cc -DBSD -O -c -o unix_process.o unix_process.c
cc -DBSD -O -c -o process.o process.c
cc -DBSD -O -c -o gethomedir.o gethomedir.c
cc -DBSD -O -c -o getpath.o getpath.c
cc -DBSD -O -c -o error.o error.c
cc -DBSD -O -c -o savestr.o savestr.c
cc -DBSD -O -c -o savqstr.o savqstr.c
cc -DBSD -O -c -o badarg.o badarg.c
cc -DBSD -O -c -o fgetword.o fgetword.c
cc -DBSD -O -c -o words.o words.c
cc -DBSD -O -c -o expandarg.o expandarg.c
cc -DBSD -O -c -o wordfile.o wordfile.c
cc -DBSD -O -c -o fgetval.o fgetval.c
cc -DBSD -O -c -o clip.o clip.c
cc -DBSD -O -c -o plocate.o plocate.c
cc -DBSD -O -c -o eputs.o eputs.c
cc -DBSD -O -c -o wputs.o wputs.c
cc -DBSD -O -c -o quit.o quit.c
cc -DBSD -O -c -o lookup.o lookup.c
cc -DBSD -O -c -o bmalloc.o bmalloc.c
cc -DBSD -O -c -o loadvars.o loadvars.c
cc -DBSD -O -c -o tcos.o tcos.c
cc -DBSD -O -c -o fputword.o fputword.c
cc -DBSD -O -c -o chanvalue.o chanvalue.c
cc -DBSD -O -c -o dircode.o dircode.c
cc -DBSD -O -c -o paths.o paths.c
cc -DBSD -O -c -o byteswap.o byteswap.c
cc -DBSD -O -c -o ealloc.o ealloc.c
cc -DBSD -O -c -o fdate.o fdate.c
cc -DBSD -O -c -o portio.o portio.c
cc -DBSD -O -c -o myhostname.o myhostname.c
cc -DBSD -O -c -o erf.o erf.c
cc -DBSD -O -c -o strcmp.o strcmp.c
strcmp.c: In function ‘strcmp’:
strcmp.c:13:17: warning: argument ‘s1’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                 ^
strcmp.c:13:22: warning: argument ‘s2’ doesn’t match built-in prototype
[enabled by default]
register char *s1, *s2;
                      ^
rm -f librtrad.a
ar rc librtrad.a cone.o face.o free_os.o instance.o readobj.o readoct.o
otypes.o objset.o octree.o readfargs.o modobject.o getlibpath.o
addobjnotify.o zeroes.o mesh.o readmesh.o tmesh.o sceneio.o color.o
header.o image.o lamps.o resolu.o rexpr.o spec_rgb.o colrops.o font.o
tonemap.o tmapcolrs.o tmapluv.o tmaptiff.o tmap16bit.o bmpfile.o
falsecolor.o ezxml.o ccolor.o ccyrgb.o bsdf.o bsdf_m.o bsdf_t.o loadbsdf.o
disk2square.o hilbert.o fgetline.o fropen.o linregr.o xf.o mat4.o invmat4.o
fvect.o urand.o urind.o calexpr.o caldefn.o calfunc.o calprnt.o biggerlib.o
multisamp.o unix_process.o process.o gethomedir.o getpath.o error.o
savestr.o savqstr.o badarg.o fgetword.o words.o expandarg.o wordfile.o
fgetval.o clip.o plocate.o eputs.o wputs.o quit.o lookup.o bmalloc.o
loadvars.o tcos.o fputword.o chanvalue.o dircode.o paths.o byteswap.o
ealloc.o fdate.o portio.o myhostname.o erf.o strcmp.o
ranlib librtrad.a
cc -DBSD -O -c -o mgf_parser.o mgf_parser.c
cc -DBSD -O -c -o mgf_object.o mgf_object.c
cc -DBSD -O -c -o mgf_xf.o mgf_xf.c
cc -DBSD -O -c -o mgf_context.o mgf_context.c
rm -f libmgf.a
ar rc libmgf.a mgf_parser.o mgf_object.o mgf_xf.o mgf_context.o
ranlib libmgf.a
/usr/bin/ld: badarg.o: Die Umlagerung von
badarg.o: error adding symbols: Ungültiger Wert -- unvalid data
collect2: error: ld returned 1 exit status
install.sh: Zeile 19: javac: Befehl nicht gefunden --- command not found
install.sh: Zeile 21: javah: Befehl nicht gefunden --- command not found
In file included from libBSDF.cpp:13:0:
libBSDF.h:2:17: fatal error: jni.h: Datei oder Verzeichnis nicht gefunden
-- not found
#include <jni.h>
                 ^
compilation terminated.
g++: error: libBSDF.o: Datei oder Verzeichnis nicht gefunden -- not found
g++: error: libBSDF.so: Datei oder Verzeichnis nicht gefunden --- not
found
g++: fatal error: no input files
compilation terminated.
cp: der Aufruf von stat für »BSDFViewer/libBSDF.so“ ist nicht möglich:
Datei oder Verzeichnis nicht gefunden -- not found

_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing listRadiance-general@radiance-online.orghttp://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general


#5

Hi Andy,
I tried the BSDFViewer1.3_ubuntu_64.tar version by using $ sudo ./install.sh and I got this error:

compilation terminated.
g++: error: libBSDF.o: No such file or directory
g++: error: libBSDF.so: No such file or directory
g++: fatal error: no input files
compilation terminated.
cp: cannot stat ‘BSDFViewer/libBSDF.so’: No such file or directory

Any comments would be great.
Regards,
Fazel


#6

I fixed the line 28 but it didn’t work with the same error.


#7

There are no other errors? It’s strange that libBSDF.o and libBSDF.so aren’t created and there’s no error at the step where they should be created.


#8

Hi Andy,

I am using an Ubuntu 16.04.1 LTS.
When the line 28 is like this:
g++ -shared -I$JAVA_HOME/include
-o libBSDF.jnilib libBSDF.o libBSDF.so

This is the error:

/usr/bin/ld: badarg.o: relocation R_X86_64_32 against `.rodata.str1.1’ can not be used when making a shared object; recompile with -fPIC
badarg.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
In file included from libBSDF.h:2:0,
from libBSDF.cpp:13:
/usr/lib/jvm/java-8-oracle/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory
compilation terminated.
g++: error: libBSDF.o: No such file or directory
g++: error: libBSDF.so: No such file or directory
g++: fatal error: no input files
compilation terminated.
cp: cannot stat ‘BSDFViewer/libBSDF.so’: No such file or directory


#9

are libBSDF.o and libBSDF.so created in the BSDFViewer directory?


#10

No. Unfortunately they are not created.


#11

Can you run the following at the command line (from the BSDFViewer directory) and see if there are any errors (its lines 7-17 of install.sh):

g++ -o libBSDF.so -shared addobjnotify.o badarg.o biggerlib.o bmalloc.o
bmpfile.o bsdf.o bsdf_m.o bsdf_t.o byteswap.o caldefn.o calexpr.o calfunc.o
calprnt.o ccolor.o ccyrgb.o chanvalue.o clip.o color.o colrops.o dircode.o
disk2square.o ealloc.o eputs.o error.o expandarg.o ezxml.o falsecolor.o
fdate.o fgetline.o fgetval.o fgetword.o font.o fputword.o fropen.o fvect.o
gethomedir.o getlibpath.o getpath.o header.o hilbert.o invmat4.o
lamps.o linregr.o loadbsdf.o lookup.o mat4.o mgf_context.o mgf_object.o
mgf_parser.o mgf_xf.o multisamp.o myhostname.o objset.o octree.o
paths.o plocate.o portio.o process.o quit.o readfargs.o resolu.o rexpr.o
savestr.o savqstr.o spec_rgb.o tcos.o tmap16bit.o tmapcolrs.o tmesh.o tonemap.o
unix_process.o urand.o urind.o wordfile.o words.o wputs.o xf.o zeroes.o


#12

Hi Andy,
Thank you so much for your support. But the issue is not solved yet.

Please see the error I got.

/usr/bin/ld: badarg.o: relocation R_X86_64_32 against `.rodata.str1.1’ can not be used when making a shared object; recompile with -fPIC
badarg.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status


#13

hi @Fazel, hi @Andrew_McNeil,

I had the same issue with Ubuntu and the only way I was able to do it was to install Ubuntu 32bit and run the 32 bit BSDF viewer, with installing the required JAVA libraries + some 64 bit libraries on the 32 bit system. I can´t remember it completely cause it was several years ago.

Best
Peter Z