Looks like there is a path issue with the libraries when trying it that way. I can show you offline how to do this with Cmake, but that may be more complicated than necessary. I'll let Andy or someone else more versed in make to weigh in.
···
From: Germán Molina Larrain [mailto:[email protected]]
Sent: Monday, May 13, 2013 2:57 PM
To: code development
Subject: Re: [Radiance-dev] Trying a new program based on Radiance libraries
These answers came when doing ./makeall install by the way...
When I do ./makeall dctimestep I get:
In directory util...
cc -I../common -I../rt -L../lib -O -DBSD -o dctimestep dctimestep.o -lrtrad -lm
ld: library not found for -lrtrad
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [dctimestep] Error 1
/Applications/RADIANCE/ray/src
/Applications/RADIANCE/ray/src/cal /Applications/RADIANCE/ray/src
and in mkSchedule
In directory util...
cc -I../common -I../rt -L../lib -O -DBSD -c -o mkSchedule.o mkSchedule.c
clang: warning: argument unused during compilation: '-L../lib'
mkSchedule.c:174:19: warning: format specifies type 'double *' but the argument
has type 'COLORV *' (aka 'float *') [-Wformat]
if (fscanf(fp, COLSPEC, cv, cv+1, cv+2) != 3)
^ ~~
mkSchedule.c:30:66: note: expanded from macro 'COLSPEC'
#define COLSPEC (sizeof(COLORV)==sizeof(float) ? "%f %f %f" : "%lf %lf %lf")
~~^
mkSchedule.c:174:19: warning: format specifies type 'double *' but the argument
has type 'COLORV *' (aka 'float *') [-Wformat]
if (fscanf(fp, COLSPEC, cv, cv+1, cv+2) != 3)
^ ~~~~
mkSchedule.c:30:70: note: expanded from macro 'COLSPEC'
#define COLSPEC (sizeof(COLORV)==sizeof(float) ? "%f %f %f" : "%lf %lf %lf")
~~^
mkSchedule.c:174:19: warning: format specifies type 'double *' but the argument
has type 'COLORV *' (aka 'float *') [-Wformat]
if (fscanf(fp, COLSPEC, cv, cv+1, cv+2) != 3)
^ ~~~~
mkSchedule.c:30:74: note: expanded from macro 'COLSPEC'
#define COLSPEC (sizeof(COLORV)==sizeof(float) ? "%f %f %f" : "%lf %lf %lf")
~~^
mkSchedule.c:178:7: warning: add explicit braces to avoid dangling else
[-Wdangling-else]
} else
^
4 warnings generated.
cc -I../common -I../rt -L../lib -O -DBSD -o mkSchedule mkSchedule.o -lrtrad -lm
ld: library not found for -lrtrad
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mkSchedule] Error 1
/Applications/RADIANCE/ray/src
/Applications/RADIANCE/ray/src/cal /Applications/RADIANCE/ray/src
Basically, when installing Radiance all over again, dctimestep and mkSchedule have the same issues; but when compiling each of them individually, only mkSchedule have problems.
I am sorry, but I do not even know what to ask in this case, but any comment will be very accepted.
THANKS
German
2013/5/13 Germán Molina Larrain <[email protected]<mailto:[email protected]>>
Ok, I tried what you told me...
Added the mkSchedule program... which is exactly a copy of dctimestep (just changed the name).
PROGS = findglare glarendx rpiece rad ranimate ranimove vwright getinfo \
vwrays xglaresrc rsensor dctimestep mkSchedule rttree_reduce
mkSchedule: mkSchedule.o
$(CC) $(CFLAGS) -o mkSchedule mkSchedule.o -lrtrad $(MLIB)
mkSchedule.o: ../common/standard.h \
../common/rtmisc.h ../common/rtio.h \
../common/rtmath.h ../common/mat4.h ../common/fvect.h \
../common/rterror.h ../common/platform.h ../common/paths.h \
../common/color.h ../common/bsdf.h ../common/bsdf_m.h ../common/resolu.h
I compiled it, and it ended in "there were some errors". Both dctimestep and mkSchedule have the same errors, but I cannot find my compiled mkSchedule anywhere... it seems to disappear, and I cannont call it. Any ideas for that?
Another question for you guys. My idea is to call a Lua function from inside the code. So, I have tried simple things (without the Radiance libraries), and I have to compile writing:
gcc -llua -o mkSchedule mkSchedule.c
And adding some libraries adding:
#include "/usr/local/include/lua.h"
#include "/usr/local/include/luaconf.h"
#include "/usr/local/include/lualib.h"
#include "/usr/local/include/lauxlib.h"
Will these things work on the procedure you told me? Do I have to make some other changes? I think I have to add all those "included" libraries in the mkSchedule.o: blah blah blah? Where do I add the -llua I have been using?
THANKS VERY MUCH
German
2013/5/13 Guglielmetti, Robert <[email protected]<mailto:[email protected]>>
If you're just wanting to compile a modified copy of dctimestep, Andy's advice is simplest. What he has you doing there is adding a build target for "dctimestep_german", so all you'd need to do once you have made your changes (and named the file dctimestep_german.c), is to drop into that directory and type "make dctimestep_german".
Good luck!
- Rob
From: Germán Molina Larrain [mailto:[email protected]<mailto:[email protected]>]
Sent: Monday, May 13, 2013 1:29 PM
To: code development
Subject: Re: [Radiance-dev] Trying a new program based on Radiance libraries
As usual, Thanks Andy and Rob!
I will try Andy's advice, and if it does not work, I will try asking you, Rob. I haven't ever play with compilers before, so Cmake and all that is new for me.
THANKS VERY MUCH
German
2013/5/13 Guglielmetti, Robert <[email protected]<mailto:[email protected]>>
Not sure if you've used the CMake build system, but you'd need to modify the CMakeLists.txt file in a similar manner if you wish to use it for your project. Let me know if you want to go that route, I can help.
- Rob
From: Andrew McNeil [mailto:[email protected]<mailto:[email protected]>]
Sent: Monday, May 13, 2013 12:13 PM
To: code development
Subject: Re: [Radiance-dev] Trying a new program based on Radiance libraries
Hi German,
If you're taking the dctimestep code and modifying it, than I'd recommend duplicating all the dctimestep lines in ray/src/utilities/Rmakefile so that you have entries that look something like this:
PROGS = findglare glarendx rpiece rad ranimate ranimove vwright getinfo \
vwrays xglaresrc rsensor dctimestep dctimestep_german rttree_reduce
dctimestep_german: dctimestep_german.o
$(CC) $(CFLAGS) -o dctimestep_german dctimestep_german.o -lrtrad $(MLIB)
dctimestep_german.o: ../common/standard.h \
../common/rtmisc.h ../common/rtio.h \
../common/rtmath.h ../common/mat4.h ../common/fvect.h \
../common/rterror.h ../common/platform.h ../common/paths.h \
../common/color.h ../common/bsdf.h ../common/bsdf_m.h ../common/resolu.h
Andy
On Mon, May 13, 2013 at 9:54 AM, Germán Molina Larrain <[email protected]<mailto:[email protected]>> wrote:
Dear List,
It is the first time I write in this list (the other list is the one I usually use), and that is because I am not an experienced programmer.
Anyway, I am thinking on try a modified dctimestep, which requires some Radiance Libraries. I was wondering if it was any simple way of compiling it; like adding a line to the make file or something like that.
If not, I will try asking someone to teach me.
THANKS VERY MUCH
German
_______________________________________________
Radiance-dev mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-dev
_______________________________________________
Radiance-dev mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-dev
_______________________________________________
Radiance-dev mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-dev