[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-sig-mac
Subject:    Re: [R-SIG-Mac] C extension, Makevars ignores PKG_LIBS
From:       Simon Urbanek <simon.urbanek () r-project ! org>
Date:       2011-11-08 18:04:56
Message-ID: 1609418B-99B6-4901-8510-C6C3102E4D10 () r-project ! org
[Download RAW message or body]

Tyler,

you're setting C flags and using C++ - that's certainly not going to work ;)

Cheers,
Simon


On Nov 8, 2011, at 12:56 PM, Tyler Pirtle wrote:

> On Tue, Nov 8, 2011 at 9:50 AM, Simon Urbanek
> <simon.urbanek@r-project.org> wrote:
> > Tyler,
> > 
> > what you claim is certainly not true:
> > 
> 
> Well its certainly true for me!
> 
> 
> 
> > leotest:AA urbanek$ cat src/Makevars
> > PKG_CFLAGS = -ImyCFLAGS
> > PKG_LIBS = -LmyLIBS
> > 
> 
> $ cat src/Makevars
> PKG_LIBS = -lzmq
> PKG_CFLAGS = -I/usr/local/zmq
> 
> 
> > leotest:AA urbanek$ ls src
> > Makevars        foo.c
> > 
> 
> $ ls src
> Makevars	interface.cpp	interface.h
> 
> 
> > leotest:AA urbanek$ R CMD INSTALL --build .
> > * installing to library \
> >                 ‘/Library/Frameworks/R.framework/Versions/2.14/Resources/library’
> > * installing *source* package ‘AA’ ...
> > ** Creating default NAMESPACE file
> > ** libs
> > *** arch - i386
> > gcc-4.2 -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include \
> > -I/Library/Frameworks/R.framework/Resources/include/i386  -I/usr/local/include   \
> > -ImyCFLAGS -fPIC  -g -O2 -c foo.c -o foo.o gcc-4.2 -arch i386 -std=gnu99 \
> > -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup \
> > -single_module -multiply_defined suppress -L/usr/local/lib -o AA.so foo.o \
> > -LmyLIBS -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework \
> >                 -Wl,CoreFoundation
> > ld: warning: directory not found for option '-LmyLIBS'
> > installing to /Library/Frameworks/R.framework/Versions/2.14/Resources/library/AA/libs/i386
> >                 
> > *** arch - x86_64
> > gcc-4.2 -arch x86_64 -std=gnu99 \
> > -I/Library/Frameworks/R.framework/Resources/include \
> > -I/Library/Frameworks/R.framework/Resources/include/x86_64  -I/usr/local/include  \
> > -ImyCFLAGS -fPIC  -g -O2 -c foo.c -o foo.o gcc-4.2 -arch x86_64 -std=gnu99 \
> > -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup \
> > -single_module -multiply_defined suppress -L/usr/local/lib -o AA.so foo.o \
> > -LmyLIBS -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework \
> >                 -Wl,CoreFoundation
> > ld: warning: directory not found for option '-LmyLIBS'
> > installing to /Library/Frameworks/R.framework/Versions/2.14/Resources/library/AA/libs/x86_64
> >                 
> > ** help
> > No man pages found in package  ‘AA’
> > *** installing help indices
> > ** building package indices ...
> > ** testing if installed package can be loaded
> > packaged installation of ‘AA’ as ‘AA_0.1-1.tgz’
> > 
> > * DONE (AA)
> > 
> 
> $ R CMD INSTALL --build .
> * installing to library
> ‘/Library/Frameworks/R.framework/Versions/2.14/Resources/library’
> * installing *source* package ‘rzmq’ ...
> ** libs
> *** arch - i386
> g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library/Frameworks/R.framework/Resources/include/i386
> -I/usr/local/include    -fPIC  -g -O2 -c interface.cpp -o interface.o
> interface.cpp:20:19: error: zmq.hpp: No such file or directory
> ...
> 
> 
> And very unusual, I must say. I'm on R 2.14.0, also.
> 
> 
> 
> > so can you supply a bit more, such as your actual package and actual output?
> > 
> > Cheers,
> > Simon
> > 
> > 
> > On Nov 8, 2011, at 12:21 PM, Tyler Pirtle wrote:
> > 
> > > Hi there,
> > > 
> > > I've got a sample C project I'm trying to get built correctly, but as
> > > you may have guessed from the subject
> > > line, the compilation is missing some things.
> > > 
> > > 
> > > rtp-macbookpro:foo rtp$ R CMD INSTALL --build .
> > > * installing to library
> > > ‘/Library/Frameworks/R.framework/Versions/2.14/Resources/library’
> > > * installing *source* package ‘foo’ ...
> > > ** Creating default NAMESPACE file
> > > ** libs
> > > *** arch - i386
> > > gcc-4.2 -arch i386 -std=gnu99
> > > -I/Library/Frameworks/R.framework/Resources/include
> > > -I/Library/Frameworks/R.framework/Resources/include/i386
> > > -I/usr/local/include    -fPIC  -g -O2 -c foo.c -o foo.o
> > > foo.c:1:17: error: some_library.h: No such file or directory
> > > ...
> > > 
> > > Where foo.c includes some_library.h.
> > > 
> > > My makevars:
> > > PKG_CFLAGS = -I/usr/include/some/library
> > > PKG_LIBS = -lsomelib -L/usr/local/lib/somelib
> > > 
> > > As you can see from the gcc args that were constructed, my PKG_*
> > > definitions are nowhere to be found. I thought it might have been
> > > a problem with just my setup, but as it turns out I've not been able
> > > to build _any_ C extensions for R packages on the mac at all.
> > > 
> > > What am I missing? ;)
> > > Thanks,
> > > 
> > > 
> > > Tyler
> > > 
> > > _______________________________________________
> > > R-SIG-Mac mailing list
> > > R-SIG-Mac@r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> > > 
> > > 
> > 
> > 
> 
> 

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic