Hello,

I am having errors when I try to install RSPerl-0.92 under fedora 14.
I have the following rpms installed:
R-devel-2.13.0-1.fc14.x86_64
R-core-2.13.0-1.fc14.x86_64
perl-5.12.3-143.fc14.x86_64
perl-devel-5.12.3-143.fc14.x86_64
perl-ExtUtils-* (all of them from yum)

Now I get the following errors:
# R CMD INSTALL RSPerl_0.92-1.tar.gz
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘RSPerl’ ...
checking for perl... /usr/bin/perl
No support for any of the Perl modules from calling Perl from R.
*****************************************************

       Set PERL5LIB to /usr/lib64/R/library/RSPerl/perl

*****************************************************
Testing: -L/usr/lib64/R/lib -lR
Using '/usr/bin/perl' as the perl executable
Perl modules (no):
Adding R package to list of Perl modules to enable callbacks to R from Perl
Creating the C code for dynamically loading modules with native code for
Perl:  R
modules:   R; linking:
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Support R in Perl: yes
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating inst/scripts/RSPerl.csh
config.status: creating inst/scripts/RSPerl.bsh
config.status: creating src/RinPerlMakefile
config.status: creating src/Makefile.PL
config.status: creating cleanup
config.status: creating src/R.pm
config.status: creating R/perl5lib.R
making target all in RinPerlMakefile
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c Converters.c -o Converters.o
Converters.c: In function 'makeForeignPerlReference':
Converters.c:568:8: warning: unused variable 'key'
Converters.c:566:6: warning: unused variable 'n'
Converters.c: In function 'RS_discardPerlForeignReference':
Converters.c:675:14: warning: unused variable 'key'
Converters.c: In function 'PerlAddHomogeneousElement':
Converters.c:1056:7: error: duplicate case value
Converters.c:1041:7: error: previously used here
make: *** [Converters.o] Error 1
calling make -f Makefile.perl install
make: Makefile.perl: No such file or directory
make: *** No rule to make target `Makefile.perl'.  Stop.
chmod: cannot access `blib/lib/R.pm': No such file or directory
Finished configuration
** libs
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c Converters.c -o Converters.o
Converters.c: In function ‘makeForeignPerlReference’:
Converters.c:568:8: warning: unused variable ‘key’
Converters.c:566:6: warning: unused variable ‘n’
Converters.c: In function ‘RS_discardPerlForeignReference’:
Converters.c:675:14: warning: unused variable ‘key’
Converters.c: In function ‘PerlAddHomogeneousElement’:
Converters.c:1056:7: error: duplicate case value
Converters.c:1041:7: error: previously used here
make: *** [Converters.o] Error 1
ERROR: compilation failed for package ‘RSPerl’
* removing ‘/usr/lib64/R/library/RSPerl’

The errors involve the use of C constants SVt_IV (perl integer) and SVt_RV
(perl reference).
As of perl 5.12, SVt_RV is synonymous with SVt_IV.
So the switch statements containing both throw a duplicate value error.

Well, I reasoned that the integer interpretation may only be needed now and
commented out the SVt_IV entries in Converters.c and Reflections.c switch
statements.
I know I am treading on dangerous ground here.
But it got RSPerl to compile to the following stage:
# R CMD INSTALL RSPerl_0.92-1_modified.tar.gz
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘RSPerl’ ...
checking for perl... /usr/bin/perl
No support for any of the Perl modules from calling Perl from R.
*****************************************************

       Set PERL5LIB to /usr/lib64/R/library/RSPerl/perl

*****************************************************
Testing: -L/usr/lib64/R/lib -lR
Using '/usr/bin/perl' as the perl executable
Perl modules (no):
Adding R package to list of Perl modules to enable callbacks to R from Perl
Creating the C code for dynamically loading modules with native code for
Perl:  R
modules:   R; linking:
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Support R in Perl: yes
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating inst/scripts/RSPerl.csh
config.status: creating inst/scripts/RSPerl.bsh
config.status: creating src/RinPerlMakefile
config.status: creating src/Makefile.PL
config.status: creating cleanup
config.status: creating src/R.pm
config.status: creating R/perl5lib.R
making target all in RinPerlMakefile
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c Converters.c -o Converters.o
Converters.c: In function 'makeForeignPerlReference':
Converters.c:568:8: warning: unused variable 'key'
Converters.c:566:6: warning: unused variable 'n'
Converters.c: In function 'RS_discardPerlForeignReference':
Converters.c:675:14: warning: unused variable 'key'
Converters.c: In function 'RS_GetPerlReferenceObjects':
Converters.c:637:16: warning: 'ans' may be used uninitialized in this
function
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c Reflectance.c -o Reflectance.o
Reflectance.c: In function 'computeRSPerlClassVector':
Reflectance.c:427:11: warning: unused variable 'tt'
Reflectance.c:445:10: warning: operation on 'classes' may be undefined
Reflectance.c: In function 'isHomogeneous':
Reflectance.c:541:7: warning: enumeration value 'SVt_NULL' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_BIND' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_IV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_NV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVIV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVNV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVMG' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_REGEXP' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVGV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVLV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVCV' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVFM' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_PVIO' not handled in
switch
Reflectance.c:541:7: warning: enumeration value 'SVt_LAST' not handled in
switch
Reflectance.c: In function 'RS_getPerlType':
Reflectance.c:139:6: warning: 'el' may be used uninitialized in this
function
Reflectance.c: In function 'isHomogeneous':
Reflectance.c:516:12: warning: 'el' may be used uninitialized in this
function
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c ForeignReference.c -o ForeignReference.o
ForeignReference.c: In function 'RPerl_createRProxy':
ForeignReference.c:212:8: warning: value computed is not used
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c UserConverters.c -o UserConverters.o
UserConverters.c: In function 'RPerl_addConverter':
UserConverters.c:264:32: warning: 'className' may be used uninitialized in
this function
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c GeneralConverters.c -o GeneralConverters.o
making libPerlConverter.so
/usr/lib64/R/bin/R CMD SHLIB -o libPerlConverter.so Converters.c
Reflectance.c ForeignReference.c UserConverters.o GeneralConverters.o
make[1]: Entering directory `/tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/src'
gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o libPerlConverter.so
Converters.o Reflectance.o ForeignReference.o UserConverters.o
GeneralConverters.o -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE
-fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm
-lcrypt -lutil -lpthread -lc -L/usr/lib64/R/lib -lR
make[1]: Leaving directory `/tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/src'
if test ! -d /usr/lib64/R/library/RSPerl/libs ; then mkdir
/usr/lib64/R/library/RSPerl/libs ; fi
cp libPerlConverter.so /usr/lib64/R/library/RSPerl/libs
Makefile.PL PREFIX=/usr/lib64/R/library/RSPerl
LIB=/usr/lib64/R/library/RSPerl/perl
make: Makefile.PL: Command not found
make: *** [Makefile.perl] Error 127
calling make -f Makefile.perl install
make: Makefile.perl: No such file or directory
make: *** No rule to make target `Makefile.perl'.  Stop.
chmod: cannot access `blib/lib/R.pm': No such file or directory
Finished configuration
** libs
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlElements.c -o RPerlElements.o
RPerlElements.c: In function ‘RS_PerlSetHashElements’:
RPerlElements.c:165:6: warning: value computed is not used
RPerlElements.c: In function ‘RS_PerlArrayElement’:
RPerlElements.c:11:15: warning: ‘depth’ may be used uninitialized in this
function
RPerlElements.c: In function ‘RS_PerlHashElement’:
RPerlElements.c:56:15: warning: ‘depth’ may be used uninitialized in this
function
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlEval.c -o RPerlEval.o
RPerlEval.c: In function ‘RS_PerlCallModified’:
RPerlEval.c:301:4: warning: value computed is not used
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlInit.c -o RPerlInit.o
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlNew.c -o RPerlNew.o
RPerlNew.c: In function ‘toPerlTable’:
RPerlNew.c:54:6: warning: value computed is not used
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlReference.c -o RPerlReference.o
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c RPerlVars.c -o RPerlVars.o
RPerlVars.c: In function ‘RS_remove’:
RPerlVars.c:76:6: warning: value computed is not used
RPerlVars.c: In function ‘PerlAssign’:
RPerlVars.c:121:4: warning: value computed is not used
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c Utils.c -o Utils.o
Utils.c: In function ‘characterVectorToNullTerminatedArray’:
Utils.c:35:14: warning: assignment discards qualifiers from pointer target
type
Utils.c: In function ‘characterVectorToArray’:
Utils.c:78:14: warning: assignment discards qualifiers from pointer target
type
gcc -m64 -std=gnu99 -I/usr/include/R -I.  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib64/perl5/CORE
-DPERL_POLLUTE   -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1
-I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-c xsinit.c -o xsinit.o
gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o RSPerl.so Converters.o
ForeignReference.o GeneralConverters.o RPerlElements.o RPerlEval.o
RPerlInit.o RPerlNew.o RPerlReference.o RPerlVars.o Reflectance.o
UserConverters.o Utils.o xsinit.o -Wl,--enable-new-dtags
-Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE
-lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
-L/usr/lib64/R/lib -lR
installing to /usr/lib64/R/library/RSPerl/libs
** R
** inst
** preparing package for lazy loading
** help
Warning:
/tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/man/PerlReferenceObjects.Rd:32:
unknown macro '\textit'
*** installing help indices
  converting help for package ‘RSPerl’
    finding HTML links ... done
    Perl                                    html
    PerlClear                               html
    PerlDiscard                             html
    PerlExists                              html
    PerlExpr                                html
    PerlFile                                html
    PerlGetArray                            html
    PerlGetCode                             html
    PerlInit                                html
    PerlInterpreter                         html
    PerlLength                              html
    PerlNames                               html
    PerlNew                                 html
    PerlNewArray                            html
    PerlPackage                             html
    PerlReferenceDollar                     html
    PerlReferenceObjects                    html
    PerlReferenceSubset                     html
    PerlSetHash                             html
    PerlStashInfo                           html
    PerlTerminate                           html
    PerlType                                html
    PerlTypes                               html
    PerlUndef                               html
    addConverter                            html
    foreignReference                        html
    getNumPerlConverters                    html
    getPerlClasses                          html
    getPerlDynModules                       html
    getPerlScript                           html
    mkRef                                   html
    parseEval                               html
    perlInitArgs                            html
    perlModuleLoaded                        html
    referenceHandlerGenerator               html
    setPerlHandler                          html
** building package indices ...
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object '/usr/lib64/R/library/RSPerl/libs/RSPerl.so':
  /usr/lib64/R/library/RSPerl/libs/RSPerl.so: undefined symbol: boot_R
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/usr/lib64/R/library/RSPerl’

Now, I do not know where the boot_R symbol is coming from and google is not
helping.
So I am stuck.
Why won't boot_R resolve?
Is this a problem due to new versions of R?

Is my hack of commenting out of SVt_RV switch entries not going to work
anyway?
Also, I see errors in the installation related to Makefile.PL and
makefile.perl

Any help on these issues would be most helpful.
In the end, I am trying to get to statistical analyses in R that Perl does
not have.
In particular, I need a good test of normality on a set of residuals.


Hunter


-- 
Hunter Moseley, Ph.D. -- Univ. of Louisville
Assistant Professor, Dept. of Chemistry
 Not just a scientist, but a fencer as well.
   My foil is sharp, but my mind sharper still.
---------------------------------------------------------------
Email: hunter.moseley@louisville.edu (work)
hunter.moseley@gmail.com(personal)
Phone: 502-852-3168 (office)   502-852-7598 (lab)   502-852-8149 (fax)
Address: Department of Chemistry, University of Louisville
2320 South Brook Street, Louisville, KY 40292

	[[alternative HTML version deleted]]

