Bug 164029 - [PATCH] graphics/bmeps fix build with databases/gdbm
[PATCH] graphics/bmeps fix build with databases/gdbm
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: scheidell
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-11 19:20 UTC by me
Modified: 2012-03-05 18:30 UTC (History)
0 users

See Also:


Attachments
file.diff (706 bytes, patch)
2012-01-11 19:20 UTC, me
no flags Details | Diff
bmeps.diff (3.16 KB, patch)
2012-01-14 03:26 UTC, rfarmer
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description me 2012-01-11 19:20:11 UTC
graphics/bmeps fails to configure, if databases/gdbm is installed.

configure picks up gdbm, but cannot use it:

checking gdbm.h usability... yes
checking gdbm.h presence... no
configure: WARNING: gdbm.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: gdbm.h: proceeding with the compiler's result
checking for gdbm.h... yes

Since configure has found gdbm, it will skip the check for ndbm. Later, it finds out that it cannot use either gdbm or ndbm and fails:

ERROR: None of the supported database APIs was found on this system.
At least one of NDBM, GDBM or Berkeley DB is required.

Fix: The patch attached creates a patch that has configure skip the gdbm check and use ndbm  whether or not gdbm is present. (Note that graphics/bmeps/files has to be created.)

Patch attached with submission follows:
How-To-Repeat: Install databases/gdbm and try to build graphics/bmeps.
Comment 1 Edwin Groothuis freebsd_committer 2012-01-11 19:20:19 UTC
Maintainer of graphics/bmeps,

Please note that PR ports/164029 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/164029

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer 2012-01-11 19:20:21 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 rfarmer 2012-01-12 23:07:20 UTC
The upstream site says:

	In May 2010 I merged several formerly separated projects into the
dktools project.
 	I hope this results in easier maintenance for me and in easier
installation for the users to have the formerly
 	``dklibs'', ``bmeps'', ``fig2vect'', ``jlayout'', ``genau'',
``dktools'', ``fchksum'', ``tcptool'', ``hostsadm'', ``fsnmp'',
 	``yanolc'' and ``prqd'' projects in one package now.

As you can see, the problem is that the distfile has a bunch of
totally unrelated programs all together. So the configure script is
trying to find libraries for all of them.

I get this message:

	ERROR: None of the supported database APIs was found on this system.
	At least one of NDBM, GDBM or Berkeley DB is required.
	NDBM is shipped as part of the OS for some UNIX systems.
	GDBM is the Gnu Database Manager, this software can be found on GNU software
	mirrors, i.e. ftp://ftp.informatik.rwth-aachen.de/pub/gnu/gnudbm/ .
	The Berkeley DB is an open source embedded database system. SleepyCat is
	now owned by Oracle, I found the sources at
	http://www.oracle.com/database/berkeley-db/ but the URL may change if Oracle
	reorganizes the web site.
	
	WARNING: The netsnmp library is missing. This library is recommended.
	Some programs (i.e. fsnmp, klpinfo and snmpyalc) can not be built without
	this library.
	Use your favorite package management method to install the library _and_ the
	developer support. If there is no package available for your system you can
	attempt to install from source. See http://sourceforge.net/projects/netsnmp/
	for the sources.

But, the build doesn't actually fail because we only build bmeps,
which shouldn't need databases or snmp. Can you ignore the message and
continue, or does it completely fail?

-- 
Rob Farmer
Comment 4 me 2012-01-12 23:35:39 UTC
On 01/13/2012 00:07, Rob Farmer wrote:
> But, the build doesn't actually fail because we only build bmeps,
> which shouldn't need databases or snmp. Can you ignore the message and
> continue, or does it completely fail?

What do you mean with "the build doesn't actually fail"?

cd /usr/ports/graphics/bmeps/
make

fails (on 9.0-RELEASE/amd64 with current ports tree and databases/gdbm 
installed) with the error message you got, too, and additionally this:

===>  Script "configure" failed unexpectedly.
Please report the problem to rfarmer@predatorlabs.net [maintainer] and 
attach
the "/usr/ports/graphics/bmeps/work/dktools-2.2.22/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/graphics/bmeps.

I do not know how to ignore this. Tools dealing with ports consider this 
a build failure.

Yes, I can got to work/dktools-2.2.22/ and run make successfully, but 
this is not how ports are supposed to be used.

Since you say that bmeps does not actually use databases, my patch will 
do not harm, but fix the build (of the port).

Have I misunderstood you?

Cheers,
Jan Henrik
Comment 5 rfarmer 2012-01-14 03:26:18 UTC
On Thu, Jan 12, 2012 at 3:35 PM, Jan Henrik Sylvester <me@janh.de> wrote:
> On 01/13/2012 00:07, Rob Farmer wrote:
>>
>> But, the build doesn't actually fail because we only build bmeps,
>> which shouldn't need databases or snmp. Can you ignore the message and
>> continue, or does it completely fail?
>
>
> What do you mean with "the build doesn't actually fail"?
>


It prints a message saying "ERROR," but the configure script finishes,
exits with 0 status, and the build works:

	ERROR: None of the supported database APIs was found on this system.
	At least one of NDBM, GDBM or Berkeley DB is required.
	NDBM is shipped as part of the OS for some UNIX systems.
	GDBM is the Gnu Database Manager, this software can be found on GNU software
	mirrors, i.e. ftp://ftp.informatik.rwth-aachen.de/pub/gnu/gnudbm/ .
	The Berkeley DB is an open source embedded database system. SleepyCat is
	now owned by Oracle, I found the sources at
	http://www.oracle.com/database/berkeley-db/ but the URL may change if Oracle
	reorganizes the web site.
	
	WARNING: The netsnmp library is missing. This library is recommended.
	Some programs (i.e. fsnmp, klpinfo and snmpyalc) can not be built without
	this library.
	Use your favorite package management method to install the library _and_ the
	developer support. If there is no package available for your system you can
	attempt to install from source. See http://sourceforge.net/projects/netsnmp/
	for the sources.
	
	If the configure script complains about a missing library but you are sure
	the library (including developer support) is installed, make sure to have
	the CFLAGS and LDFLAGS variables set up properly.
	On Unix/Linux systems you may want to use
	  CFLAGS="-I/usr/local/include"
	  LDFLAGS="-L/usr/local/lib"
	  export CFLAGS
	  export LDFLAGS
	On Mac OS you may want to use
	  CFLAGS="-I/sw/include"
	  LDFLAGS="-L/sw/lib"
	  export CFLAGS
	  export LDFLAGS
	if you have Fink installed.
	===>  Building for bmeps-2.2.22
	>>> 2012-01-13 02:22:55 Compile b2main.c
	cc -DHAVE_CONFIG_H  -I. -I. -I/usr/local/include  -O2
-fno-strict-aliasing -pipe -march=nocona   -o b2main.o -c b2main.c
	In file included from ./dktypes.h:125,
	                 from ./dk.h:96,
	                 from bmepsi.h:53,
	                 from b2main.c:66:
	/usr/include/sys/termios.h:3:2: warning: #warning "this file includes
<sys/termios.h> which is deprecated, use <termios.h> instead"

> cd /usr/ports/graphics/bmeps/
> make
>
> fails (on 9.0-RELEASE/amd64 with current ports tree and databases/gdbm
> installed) with the error message you got, too, and additionally this:
>
> ===>  Script "configure" failed unexpectedly.
> Please report the problem to rfarmer@predatorlabs.net [maintainer] and
> attach
> the "/usr/ports/graphics/bmeps/work/dktools-2.2.22/config.log" including the
> output of the failure of your make command. Also, it might be a good idea to
> provide an overview of all packages installed on your system (e.g. an `ls
> /var/db/pkg`).
> *** Error code 1
>
> Stop in /usr/ports/graphics/bmeps.
>
> I do not know how to ignore this. Tools dealing with ports consider this a
> build failure.
>
> Yes, I can got to work/dktools-2.2.22/ and run make successfully, but this
> is not how ports are supposed to be used.
>
> Since you say that bmeps does not actually use databases, my patch will do
> not harm, but fix the build (of the port).
>
> Have I misunderstood you?
>


I can't reproduce the problem with just gdbm installed. I can
reproduce it with net-snmp so I have expanded the patch to cover that.
Removing the gdbm part didn't work for me, but I left it since it
won't hurt anything.

-- 
Rob Farmer
Comment 6 me 2012-02-27 15:34:27 UTC
I just wondered why this bug is still in the feedback state. I thought 
it was awaiting maintainer feedback, which it got 1.5 month ago.

Or is it waiting for another submitter feedback as the maintainer 
suggested a larger patch?

For the record:

The port still fails for me without any patch.

Rob Farmer's patch works for me. (In my setting, it produces exactly the 
same package as with my patch.)

Rob Farmer's patch should be committed and as he is the maintainer, no 
more feedback should be needed for that.

Thanks,
Jan Henrik
Comment 7 Mark Linimon freebsd_committer 2012-02-27 16:54:47 UTC
State Changed
From-To: feedback->open

new patch received as feedback.
Comment 8 scheidell freebsd_committer 2012-03-03 10:20:40 UTC
Responsible Changed
From-To: freebsd-ports-bugs->scheidell

I'll take it.
Comment 9 dfilter freebsd_committer 2012-03-03 13:28:18 UTC
scheidell    2012-03-03 13:28:05 UTC

  FreeBSD ports repository

  Modified files:
    graphics/bmeps       Makefile 
  Added files:
    graphics/bmeps/files patch-configure 
  Log:
  - Unbreak with net-snmp
  - Bump PORTREVISION
  
  PR:             ports/164029
  Submitted by:   Jan Henrik Sylvester <me@janh.de>
  Reviewed by:    Rob Farmer <rfarmer@predatorlabs.net> (maintainer)
  Approved by:    gabor (mentor, implicit)
  
  Revision  Changes    Path
  1.16      +1 -0      ports/graphics/bmeps/Makefile
  1.1       +108 -0    ports/graphics/bmeps/files/patch-configure (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 10 scheidell freebsd_committer 2012-03-03 13:28:40 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 11 dfilter freebsd_committer 2012-03-05 18:28:07 UTC
scheidell    2012-03-05 18:27:56 UTC

  FreeBSD ports repository

  Modified files:
    graphics/bmeps/files patch-configure 
  Log:
  - Fix previous patch mangled by committer (scheidell, me)
  
  PR:             ports/164029
  Submitted by:   Jan Henrik Sylvester <me@janh.de>
  Approved by:    Rob Farmer <rfarmer@predatorlabs.net> (maintainer, implicit), gabor (mentor, implicit)
  
  Revision  Changes    Path
  1.2       +101 -108  ports/graphics/bmeps/files/patch-configure
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"