PDA

View Full Version : Library troubles with makefile



mslate
06-29-2009, 01:58 PM
I am trying to install Smoldyn (http://www.smoldyn.org/), a lesser known open-source simulation software, on my Fedora system, and I keep getting library-related errors during the make-phase of the "configure/make/make install" process.

So two questions about this:
1) Initially I was having trouble locating required trig. functions like "sin" and "cos" and I (believe I) solved this by including the "tgmath.h" library in every source ".c" file that included the "math.h" library. Why would my "math.h" library not have the basic trig functions?

2) The error I now get is this:


if gcc -DHAVE_CONFIG_H -I. -I. -I../../source -pthread -g -O2 -MT rxnparam.o -MD -MP -MF ".deps/rxnparam.Tpo" -c -o rxnparam.o rxnparam.c; \
then mv -f ".deps/rxnparam.Tpo" ".deps/rxnparam.Po"; else rm -f ".deps/rxnparam.Tpo"; exit 1; fi
rxnparam.c: In function 'rdfmaketable':
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
rxnparam.c:554: error: assignment of read-only variable '__tgmres'
make[3]: *** [rxnparam.o] Error 1
make[3]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.03/source/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.03/source'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.03/source'
make: *** [all-recursive] Error 1

I discovered that __tgmres is some seemingly unimportant variable in the tgmath.h library. What is this error related to?

Any help or observations are seriously appreciated. Let me know if I should provide more info

tabstop
06-29-2009, 02:11 PM
Not very familiar with tgmres or tgmath. Naturally sin and cos are in math.h. Were you getting compile errors or link errors? If the latter, you need to make sure that the math library is linked in (-lm). Otherwise, I would be interested to see what's going on, but I don't know how much I can help (certainly don't have smoldyn or fedora around).

Kennedy
06-29-2009, 02:13 PM
Why are you using 2.03 in place of 2.04? I don't even know what this software does, but I am compiling it right now. How long did it take to crap out on you?

Andy

Kennedy
06-29-2009, 02:32 PM
It passed. I didn't do a make install, but what I did do was
tar xf smoldyn-2.04.tgz
cd smoldyn-2.04
./configure
makeand everything worked for me. Granted, I'm on Slackware 12, but your fedora should be more more mainstream than my Slackware box. What have you done to get such strange results (that'd be post your work, not the whole stream just the commands you've done)?

Andy

mslate
06-29-2009, 02:55 PM
tabstop:

I was getting "undefined function" type errors, for all of the basic trig functions (cos, sin, etc.) that are supposedly in the math.h (http://opengroup.org/onlinepubs/007908775/xsh/math.h.html) library. I'll try to recreate these errors and post them in a minute

Kennedy:

I'm compiling 2.03 instead of 2.04 for two reasons:
1) I've been running simulations from a successful 2.03 installation on my laptop Windows Vista so I'm trying to recreate and automate simulations on my linux desktop (so I can turn off my laptop at some point).
2) I do not have administrator access on the linux desktop so the OpenGL library (which is required for graphical output) is not available--my unix administrator guy hasn't figured it out. Regardless, the 2.03 documentation explains how to comment-out parts of the makefile and source so that the program can be compiled without the graphics part of the application. I decided installing 2.03 would be more likely to work based on the available instructions (the 2.04 documentation says that the compiling reference sectio may be outdated).

By your advice, I've started compiling version 2.04 with commenting-out the same lines about graphics library dependencies. It seems to be working great but I'll post the outcome.

mslate
06-29-2009, 03:06 PM
Well, it looks like I've exceeded my disk quota. I'll go talk to my unix admin guy about this, but is there a way to get around this? Should I have tried making the file just in /home/burritoman/smoldyn-2.04 instead of /home/burritoman/Desktop/smoldyn-2.04? How large was it for you Andy?


ranlib: .libs/libmoleculizer.a: Disk quota exceeded
make[7]: *** [libmoleculizer.la] Error 1
make[7]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/src/libmoleculizer'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/src/libmoleculizer'
make[5]: *** [all] Error 2
make[5]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/src/libmoleculizer'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make: *** [all-recursive] Error 1

-Max

Kennedy
06-29-2009, 03:13 PM
Crap, I deleted it. I'll redownload and let it build again. . . I'll let you know. Last time took about 35 minutes to complete, so I'll be back with you then.

Kennedy
06-30-2009, 07:28 AM
Crap. . . I let it build last night and didn't post the results. . . without further adue:

# du -sh smoldyn-2.04
227M smoldyn-2.04 I don't know how long it took my machine to compile (I had an issue just after starting the build).

Andy

mslate
06-30-2009, 02:26 PM
Thanks Andy,

My admin gave me plenty more disk space, but now I'm running into new compile errors due to some undefined functions in the libmoleculizer directory (XML stuff):


gcc -pthread -I../lib -I../lib -I../libmoleculizer/src -I../../libmoleculizer/src -g -O2 -fexceptions -o smoldyn smolboxes.o smolcmd.o smolcomparts.o smolgraphics.o smolmolec.o smolmoleculizer.o smolport.o smolreact.o smolsim.o smolsurface.o smolthread.o smolwall.o smoldyn.o -lGL -lstdc++ -lm ../lib/libsteve.a ../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a -L/usr/lib/python2.5 -lpython2.5 ../libmoleculizer/libxml++-1.0.5/libxml++/.libs/libxmlpp.a
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileOpenW':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1200: undefined reference to `gzopen'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1178: undefined reference to `gzdopen'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `__xmlParserInputBufferCreateFilename':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:2411: undefined reference to `gzread'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:2416: undefined reference to `gzrewind'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlFreeZMemBuff':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1361: undefined reference to `deflateEnd'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileOpen_real':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1132: undefined reference to `gzopen'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1108: undefined reference to `gzdopen'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlZMemBuffGetContent':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1563: undefined reference to `deflate'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlZMemBuffAppend':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1522: undefined reference to `deflate'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1534: undefined reference to `crc32'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlCreateZMemBuff':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1405: undefined reference to `deflateInit2_'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1420: undefined reference to `crc32'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileClose':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1255: undefined reference to `gzclose'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileWrite':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1239: undefined reference to `gzwrite'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileRead':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1219: undefined reference to `gzread'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPFreeCtxt':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:422: undefined reference to `inflateEnd'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPRead__internal_alias':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:1214: undefined reference to `inflate'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPScanAnswer':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:782: undefined reference to `inflateInit2_'
collect2: ld returned 1 exit status
make[3]: *** [smoldyn] Error 1
make[3]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/Smoldyn'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make: *** [all-recursive] Error 1


Coding in C and compiling in general is a totally new process for me, so this installation has given me lots of trouble in terms of understanding why header and library files aren't being found. I'm not sure how to show this, but my admin tells me I've got all the libraries I'm supposed to have (including XML, which I don't understand what I'd need it for with this program).

Max

Kennedy
06-30-2009, 03:38 PM
Are you using the commands
tar xf smoldyn-2.04.tgz
cd smoldyn-2.04
./configure
maketo make your install? and you're breaking on make?

./configure is supposed to determine your environment (thus eliminate the need for you to do _ANY_ coding in C, or compiling for that matter). Do you get errors when you run ./configure? Are you supplying additional parameters to ./configure? Can you post _EXACTLY_ what you are doing (each command like I did above).

Which version of Fedora are you using?

mslate
06-30-2009, 04:31 PM
Alright, here's what happens:

Redownload compressed smoldyn-2.04.tgz


tar xvf smoldyn-2.04.tgz
cd smoldyn-2.04
./configure
make
And I get the following error related to not having the OpenGL or GLUT libraries (because my admin can't figure out how to install them properly):

gcc -DHAVE_CONFIG_H -I. -I../../source -pthread -g -O2 -MT opengl2.o -MD -MP -MF .deps/opengl2.Tpo -c -o opengl2.o opengl2.c
opengl2.c: In function 'SpecialKeyPush':
opengl2.c:280: error: 'GLUT_KEY_DOWN' undeclared (first use in this function)
opengl2.c:280: error: (Each undeclared identifier is reported only once
opengl2.c:280: error: for each function it appears in.)
opengl2.c:281: error: 'GLUT_KEY_UP' undeclared (first use in this function)
opengl2.c:282: error: 'GLUT_KEY_RIGHT' undeclared (first use in this function)
opengl2.c:283: error: 'GLUT_KEY_LEFT' undeclared (first use in this function)
opengl2.c: In function 'gl2Initialize':
opengl2.c:380: error: 'GLUT_DOUBLE' undeclared (first use in this function)
opengl2.c:380: error: 'GLUT_RGB' undeclared (first use in this function)
opengl2.c:381: error: 'GLUT_DEPTH' undeclared (first use in this function)
make[3]: *** [opengl2.o] Error 1
make[3]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make: *** [all-recursive] Error 1

So instead of relying my relatively clueless admin, I comment out the following lines in the Makefile:


103 GLUT_CFLAGS =
104 GLUT_LIBS =
105 GLU_CFLAGS = -pthread
106 GLU_LIBS = -lGLU -lGL -lm
107 GL_CFLAGS = -pthread
108 GL_LIBS = -lGL -lm

as well as lines 13-62 (as instructed in the comments for the file) of source/lib/opengl2.c

Now I try:

make clean
./configure
make

The compiling proceeds pretty well for about ten minutes before I hit this error:


gcc -pthread -I../lib -I../lib -I../libmoleculizer/src -I../../libmoleculizer/src -g -O2 -fexceptions -o smoldyn smolboxes.o smolcmd.o smolcomparts.o smolgraphics.o smolmolec.o smolmoleculizer.o smolport.o smolreact.o smolsim.o smolsurface.o smolthread.o smolwall.o smoldyn.o -lGL -lstdc++ -lm ../lib/libsteve.a ../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a -L/usr/lib/python2.5 -lpython2.5 ../libmoleculizer/libxml++-1.0.5/libxml++/.libs/libxmlpp.a
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileOpenW':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1200: undefined reference to `gzopen'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1178: undefined reference to `gzdopen'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `__xmlParserInputBufferCreateFilename':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:2411: undefined reference to `gzread'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:2416: undefined reference to `gzrewind'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlFreeZMemBuff':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1361: undefined reference to `deflateEnd'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileOpen_real':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1132: undefined reference to `gzopen'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1108: undefined reference to `gzdopen'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlZMemBuffGetContent':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1563: undefined reference to `deflate'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlZMemBuffAppend':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1522: undefined reference to `deflate'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1534: undefined reference to `crc32'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlCreateZMemBuff':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1405: undefined reference to `deflateInit2_'
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1420: undefined reference to `crc32'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileClose':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1255: undefined reference to `gzclose'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileWrite':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1239: undefined reference to `gzwrite'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(xmlIO.o): In function `xmlGzfileRead':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/xmlIO.c:1219: undefined reference to `gzread'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPFreeCtxt':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:422: undefined reference to `inflateEnd'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPRead__internal_alias':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:1214: undefined reference to `inflate'
../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a(nanohttp.o): In function `xmlNanoHTTPScanAnswer':
/home/burritoman/Desktop/smoldyn-2.04/source/libmoleculizer/libxml++-1.0.5/libxml2/nanohttp.c:782: undefined reference to `inflateInit2_'
collect2: ld returned 1 exit status
make[3]: *** [smoldyn] Error 1
make[3]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source/Smoldyn'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/burritoman/Desktop/smoldyn-2.04/source'
make: *** [all-recursive] Error 1

In regards to why I was trying to figure out C, I was trying to understand how the Makefile actually works. I've got Fedora version 7

Max

matsp
06-30-2009, 04:41 PM
That sounds like you are missing a required library (and perhpas ./configure & make doesn't realize and/or report the problem correctly). An educated guess based on the names of the missing functions is that you are missing a compression library, perhaps zlib? [by missing, I mean either that the library itself is missing from your installation of linux, or that you have a bad makefile that should say somewhere that "use this library"]. I'm by no means sure it's zlib, but it's almost certainly some form of compression library!

--
Mats

bithub
06-30-2009, 05:11 PM
I think matsp is correct; you are not linking to zlib. You can verify by doing:


cd /home/burritoman/Desktop/smoldyn-2.04/source/Smoldyn
gcc -pthread -I../lib -I../lib -I../libmoleculizer/src -I../../libmoleculizer/src -g -O2 -fexceptions -o smoldyn smolboxes.o smolcmd.o smolcomparts.o smolgraphics.o smolmolec.o smolmoleculizer.o smolport.o smolreact.o smolsim.o smolsurface.o smolthread.o smolwall.o smoldyn.o -lGL -lstdc++ -lm -lz ../lib/libsteve.a ../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a -L/usr/lib/python2.5 -lpython2.5 ../libmoleculizer/libxml++-1.0.5/libxml++/.libs/libxmlpp.a

mslate
06-30-2009, 06:20 PM
I think matsp is correct; you are not linking to zlib. You can verify by doing:


cd /home/burritoman/Desktop/smoldyn-2.04/source/Smoldyn
gcc -pthread -I../lib -I../lib -I../libmoleculizer/src -I../../libmoleculizer/src -g -O2 -fexceptions -o smoldyn smolboxes.o smolcmd.o smolcomparts.o smolgraphics.o smolmolec.o smolmoleculizer.o smolport.o smolreact.o smolsim.o smolsurface.o smolthread.o smolwall.o smoldyn.o -lGL -lstdc++ -lm -lz ../lib/libsteve.a ../libmoleculizer/src/libmoleculizer/.libs/libmoleculizer.a -L/usr/lib/python2.5 -lpython2.5 ../libmoleculizer/libxml++-1.0.5/libxml++/.libs/libxmlpp.a

Running this command gives me no errors, in fact no output at all.

Kennedy
06-30-2009, 08:22 PM
If it gave you no output, did it make the smoldyn file? If so, ROCK, you scored. Attempt to run that puppy.

mslate
07-01-2009, 12:02 AM
Haha! Didn't realize. I'll see if it's actually compiled when I get back to the office tomorrow morning.
That would make my life a hundred times better!

mslate
07-02-2009, 12:52 PM
Awesome! It works. Thank you everyone! I'm guessing the problem had to do with the makefile or what the configure command identified as the library path on my machine.
Regardless, I hope to be more of a contributor than a taker in the future. Back to practicing

sandrews
07-23-2009, 04:43 PM
We just released Smoldyn version 2.05 (www.smoldyn.org). It doesn't include many new features, except that the build system is much improved. Hopefully, it fixes the problems that you ended up debugging yourself. If not, let us know. Thanks. -Steve