[R-pkg-devel] Problem compiling openssl package (FreeBSD stable/11)

Dirk Eddelbuettel edd at debian.org
Wed Jan 18 20:27:24 CET 2017


On 18 January 2017 at 11:01, David Wolfskill wrote:
| On Tue, Jan 17, 2017 at 04:05:16PM -0800, David Wolfskill wrote:
| > [The R "openssl" package didn't build under FreeBSD for me....]
| > ...
| > gcc49 -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include    -fpic  -O2 -pipe  -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc49 -isystem /usr/local/include -fno-strict-aliasing -flto -c ssl.c -o ssl.o
| > ssl.c: In function 'R_download_cert':
| > ssl.c:41:21: error: 'PF_UNSPEC' undeclared (first use in this function)
| >    hints.ai_family = PF_UNSPEC;
| >                      ^
| > ssl.c:41:21: note: each undeclared identifier is reported only once for each function it appears in
| > *** Error code 1
| > ....
| 
| It turns out that in FreeBSD (possibly also in other BSD-derived
| environments), PF_UNSPEC is defined (in /usr/include/sys/socket.h), but
| only if "__BSD_VISIBLE" is true:

[good detective work omitted]

| And it appears that the local sources are ephemeral, so I can't
| readily patch those sources to see if I can get it to work (as the
| patched sources wouldn't be used) -- unless I miss the mark....
| 
| Any suggestions for how I might proceed?

I don't follow. Can you not use 'diff' and 'patch'?  I am so old that I have

   tar xvzf foo_1.2.3.tar.gz
   mv foo foo.orig
   tar xvzf foo_1.2.3.tar.gz
   cd foo
   /* now do your work */
   cd .. && diff -ru foo.orig foo > foo.patch

fairly deeply engrained in muscle memory.  And R itself is in pretty tip-top
shape and will listen to 'configure; make; make install'.  You probably can
even skip make install as you are "just" fighting a failure to build.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



More information about the R-package-devel mailing list