[R-SIG-Mac] C extension, Makevars ignores PKG_LIBS
Simon Urbanek
simon.urbanek at r-project.org
Tue Nov 8 19:04:56 CET 2011
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 at 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 at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>
>>>
>>
>>
>
>
More information about the R-SIG-Mac
mailing list