Problem with 7-CURRENT build

Simon L. Nielsen simon at FreeBSD.org
Sun Aug 20 11:40:43 UTC 2006


On 2006.08.20 07:18:55 -0400, Kris Kennaway wrote:
> On Sat, Aug 19, 2006 at 10:00:24PM -0800, Beech Rintoul wrote:
> > I just recently adopted the port gtkjournal. The port builds fine in 6.1, but 
> > I get the following error when trying to build in -CURRENT:
> > 
> > Making all in aolib
> > gmake[3]: Entering directory 
> > `/usr/ports/deskutils/gtkjournal.orig/work/gtkjournal-0.3.5b/src/aolib'
> > c++ -DHAVE_CONFIG_H -I. -I. -I../..  -DXTHREADS -DXUSE_MTSAFE_API -I/usr/local/lib/sigc++-1.2/include -I/usr/local/include/sigc++-1.2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/cairo -I/usr/local/include/atk-1.0 -I/usr/X11R6/include/gtkmm-2.0 -I/usr/X11R6/lib/gtkmm-2.0/include -I/usr/X11R6/include/gtk-2.0 -I/usr/X11R6/lib/gtk-2.0/include -I/usr/X11R6/include/pango-1.0 -I/usr/X11R6/include -I/usr/local/include/freetype2 -I/usr/local/include   -I../../src    -O2 -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/openssl -c 
> > bfcryptfile.cpp
> > bfcryptfile.cpp: In static member function `static std::string 
> > aolib::BFCryptFile::hashPass(const char*, unsigned char*)':
> > bfcryptfile.cpp:59: error: `SHA_DIGEST_LENGTH' undeclared (first use this 
> > function)
> > bfcryptfile.cpp:59: error: (Each undeclared identifier is reported only once 
> > for each function it appears in.)
> > bfcryptfile.cpp:62: error: `out' undeclared (first use this function)
> > gmake[3]: *** [bfcryptfile.o] Error 1
> > 
> > Would someone take a look at this and give me some pointers as to what to do 
> > to get it to build in -CURRENT. For the time being I have an OSVERSION check 
> > to mark it broken on 7.0 and above. I tried contacting the developer, but his 
> > website seems to be down and he hasn't responded to my email. I'd really like 
> > to get this working and any help would be appreciated.
> 
> It's to do with the new OpenSSL version.  Presumably you need to fix
> the source; simon@ might be able to help you.

This looks like one of the simple cases where the program depend on
"header pollution" in previous OpenSSL versions, where sha.h was
pulled in by some other header, but isn't anymore in OpenSSL 0.9.8b.

Try simply including openssl/sha.h in the source code in the file
where the builds fail.  This should work with both new and old OpenSSL
so no need for special version check in the patch.  See
e.g. http://cvsweb.freebsd.org/ports/security/openscep/files/patch-lib_proxy.c?rev=1.1
for a similar problem in another port.

-- 
Simon L. Nielsen


More information about the freebsd-ports mailing list