Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 347133 - dev-db/firebird-2.5.0.26074.0 fails to emerge because of ACCESS VIOLATION
Summary: dev-db/firebird-2.5.0.26074.0 fails to emerge because of ACCESS VIOLATION
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL: http://sourceforge.net/mailarchive/me...
Whiteboard:
Keywords:
Depends on: 361013
Blocks:
  Show dependency tree
 
Reported: 2010-11-29 07:35 UTC by Juergen Rose
Modified: 2011-10-06 20:26 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/tmp/portage/dev-db/firebird-2.5.0.26074.0/temp/build.log (build.log,856.92 KB, text/plain)
2010-11-29 07:37 UTC, Juergen Rose
Details
Build log (build.log,768.13 KB, text/plain)
2010-12-03 22:19 UTC, Willard Dawson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2010-11-29 07:35:17 UTC
'emerge dev-db/firebird' fails with:
...

x86_64-pc-linux-gnu-g++ -march=nocona -O2 -pipe -fomit-frame-pointer -pthread -Wl,--version-script,../builds/posix/fbtrace.vers -Wl,-O1 -Wl,--as-needed -pthread -shared -Wl,-soname,libfbtrace.so.0 -Wl,-rpath,/usr/lib64 -o ../gen/firebird/plugins/libfbtrace.so ../temp/superclient/utilities/ntrace/TraceConfiguration.o ../temp/superclient/utilities/ntrace/traceplugin.o ../temp/superclient/utilities/ntrace/TracePluginImpl.o ../temp/superclient/utilities/ntrace/TraceUnicodeUtils.o ../temp/superclient/utilities/ntrace/PluginLogWriter.o ../temp/superclient/utilities/ntrace/platform.o ../temp/superclient/jrd/config_root.o ../temp/superclient/jrd/path_utils.o ../temp/superclient/jrd/mod_loader.o ../temp/superclient/jrd/fbsyslog.o ../temp/superclient/jrd/guid.o ../temp/superclient/jrd/os_utils.o ../temp/superclient/common/dllinst.o ../temp/superclient/jrd/isc.o ../temp/superclient/jrd/isc_file.o ../temp/superclient/jrd/isc_sync.o ../temp/superclient/jrd/CharSet.o ../temp/superclient/jrd/TextType.o ../temp/superclient/jrd/IntlUtil.o ../temp/superclient/jrd/unicode_util.o ../temp/superclient/common/classes/ClumpletReader.o ../temp/superclient/common/utils.o ../temp/superclient/config/AdminException.o ../temp/superclient/config/Args.o ../temp/superclient/config/ArgsException.o ../temp/superclient/config/ConfObj.o ../temp/superclient/config/ConfObject.o ../temp/superclient/config/ConfigFile.o ../temp/superclient/config/Configuration.o ../temp/superclient/config/Element.o ../temp/superclient/config/FileName.o ../temp/superclient/config/InputFile.o ../temp/superclient/config/InputStream.o ../temp/superclient/config/Lex.o ../temp/superclient/config/ScanDir.o ../temp/superclient/config/Stream.o ../temp/superclient/config/StreamSegment.o ../temp/superclient/vulcan/PathName.o ../temp/superclient/vulcan/RefObject.o ../temp/superclient/common/fb_exception.o ../temp/superclient/common/thd.o ../temp/superclient/common/classes/MetaName.o ../temp/superclient/common/StatusHolder.o ../temp/superclient/common/classes/init.o ../temp/superclient/common/StatusArg.o ../temp/superclient/common/classes/SafeArg.o ../temp/superclient/common/classes/MsgPrint.o ../temp/superclient/common/classes/BaseStream.o ../temp/superclient/common/classes/alloc.o ../temp/superclient/common/classes/locks.o ../temp/superclient/common/classes/semaphore.o ../temp/superclient/common/classes/fb_string.o ../temp/superclient/common/classes/timestamp.o ../temp/superclient/common/classes/PublicHandle.o ../temp/superclient/common/classes/TempFile.o ../temp/superclient/common/config/config.o ../temp/superclient/common/config/config_file.o ../temp/superclient/common/config/dir_list.o -L../gen/firebird/lib -latomic_ops -lm -ldl   -lcurses
make[2]: Leaving directory `/var/tmp/portage/dev-db/firebird-2.5.0.26074.0/work/Firebird-2.5.0.26074-0/gen'
make[1]: Leaving directory `/var/tmp/portage/dev-db/firebird-2.5.0.26074.0/work/Firebird-2.5.0.26074-0/gen'
>>> Source compiled.
[31;01m--------------------------- ACCESS VIOLATION SUMMARY ---------------------------[0m
[31;01mLOG FILE[0m "/var/log/sandbox/sandbox-16320.log"

VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /var/log/firebird/firebird.log
A: /var/log/firebird/firebird.log
R: /var/log/firebird/firebird.log
C: ../gen/firebird/bin/create_db empty.fdb 
...


F: open_wr
S: deny
P: /var/log/firebird/firebird.log
A: /var/log/firebird/firebird.log
R: /var/log/firebird/firebird.log
C: ./empbuild employee.fdb 
--------------------------------------------------------------------------------

>>> Failed to emerge dev-db/firebird-2.5.0.26074.0, Log file:


Reproducible: Always




root@lynx:/root(46)# emerge --info
Portage 2.1.9.25 (default/linux/amd64/10.0/desktop, gcc-4.5.1, glibc-2.12.1-r3, 2.6.36-gentoo-r3 x86_64)
=================================================================
System uname: Linux-2.6.36-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8300_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 29 Nov 2010 06:00:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r2
dev-lang/python:     2.6.6-r1, 3.1.3
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc:     0.6.5
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5, 4.5.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4
sys-devel/make:      3.82
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth AdobeFlash-10.1 cadsoft"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/lordvan /var/lib/layman/x11 /var/lib/layman/java-overlay /var/lib/layman/sunrise /var/lib/layman/arcon /var/lib/layman/science /var/lib/layman/pro-audio /var/lib/layman/qting-edge /var/lib/layman/n4g /var/lib/layman/ibormuth /usr/local/portage /var/lib/cpan"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
your computer's configuration. Any information longer than a few lines, such as a stack trace, should be added using the "Create a new Attachment" link on the bug, after it is filed.
Comment 1 Juergen Rose 2010-11-29 07:37:08 UTC
Created attachment 255793 [details]
/var/tmp/portage/dev-db/firebird-2.5.0.26074.0/temp/build.log
Comment 2 Willard Dawson 2010-12-03 22:19:38 UTC
Created attachment 256280 [details]
Build log

If it helps, I also have this issue.  My own build log, attached.
Comment 3 Willard Dawson 2010-12-09 21:30:14 UTC
# ls -la /var/log/firebird
total 8
drwxr-xr-x  2 firebird firebird 4096 Nov 19 04:13 .
drwxr-xr-x 21 root     root     4096 Dec  9 12:46 ..
-rw-r--r--  1 root     root        0 Nov 19 04:13 .keep_dev-db_firebird-0
# rm /var/log/firebird/.keep_dev-db_firebird-0 
# rmdir /var/log/firebird
# revdep-rebuild
...
success.

At least there is a manual fix...
Comment 4 Myckel Habets 2010-12-16 09:58:13 UTC
From what I understand is that during the build the server is started and connections are made with the server. Because the server is build with the default log location: /var/log/firebird/firebird.log and tries to write to this location it is an access violation.
Removing the log files, is a solution, but not a nice one.

I don't see any obvious ways to manually set a command option to change the log file location (seems to be hard coded during build). One option is to change the whole database root (through the FIREBIRD env var?) to some place within the build root.
Comment 5 William L. Thomson Jr. 2011-02-23 19:04:13 UTC
I am aware of this, but haven't come up with a solution to it just yet. In previous versions of Firebird, I did some really nasty/hacky stuff, with creating a fake root within the sandbox. I can see if adding that back will resolve this problem. Though I think its an omission by upstream and will need to modify sources or something. Upstream made changes to where I no longer had to hack up the sources to change locations of things. Seems to work well for most all things, except for the logging issue.
Comment 6 Myckel Habets 2011-02-23 20:13:02 UTC
Is this issue already taken upstream?
Comment 7 William L. Thomson Jr. 2011-03-01 22:04:44 UTC
No, I have not been in touch with upstream at all. Anyone is free to do such and comment on the bug if they do, thanks. In the mean time I will look into a solution time permitting.
Comment 8 William L. Thomson Jr. 2011-03-04 03:15:57 UTC
Started a thread on firebird-devel mailing list, referenced in bug URL.
Comment 9 William L. Thomson Jr. 2011-03-05 23:36:00 UTC
Ok not sure if I should start a new bug on this or what. It was discovered in another thread, which I thought was just an issue I was experiencing. It turns out Firebird is trying to write to the log file during compile, because things are broken.

This one is why its trying to make an entry in the log file. Its unable to load the INTL module.
"Can't load INTL module '/usr/lib/firebird/intl/fbintl.so'"

The reason for that is due to a missing symbol
/usr/lib/firebird/intl/fbintl.so: /usr/lib/firebird/intl/fbintl.so: undefined symbol: gds__log

There is another missing symbol here
/usr/lib/firebird/plugins/libfbtrace.so: /usr/lib/firebird/plugins/libfbtrace.so: undefined symbol: gds__get_prefix

The first one seems to be the cause of this access violation. However when firebird encounters problems or other things during build. It still should not try to write to a log file outside of its sources. But this bug is really masking another much larger problem.

I have not been able to determine, working with upstream, a cause to the problem of missing symbols. This seems to happen in ~arch, but not on arch. My stable production Firebird server does not have problems with missing symbols. I tried rolling back gcc and binutils, neither made any difference. I cannot roll back glibc, because the ebuild prevents you from such, so you don't hose your system.

About the only good that has come of all this so far is I have found a way to use more than one CPU when building Firebird. I will be modifying the ebuild to do such automatically once all problems are resolved. For now if you want to build Firebird on gentoo with more than one CPU used for compile. Then you can either modify make.conf or set MAKEOPTS variable at time of emerge to the following

MAKEOPTS="-jN CPU=N"

Where N is the # of CPU's to use. Now the ebuild forces -j1, which is still needed. Its the sub makes that will use and respect the CPU=N. Its a temp hack upstream did to allow for using more than one CPU during build. Firebird 3.x will support -jN from the start, without needing CPU=N or -j1 with CPU=N.

Anyway more to come on this, and might open/create a new bug for the missing symbols issue. However even when that is resolved, if Firebird has other issues during compile, it still could try to write to the log file outside of sources. Upstream is aware of that per the thread referenced in this bug. Hopefully future versions will fail during compile, and/or write to a location and file within the sources.
Comment 10 Myckel Habets 2011-03-06 08:48:29 UTC
First, thank you for taking time to tackle these bugs with upstream.

Second, although the missing symbols trigger this bug, I think you should keep them as separate bugs. The gds__log symbol seems to be fb specific, could it be something due to differences in optimizations or differences in profile? Does this bug also get triggered when you build the code outside of portage (manually compiling)?
Comment 11 William L. Thomson Jr. 2011-03-06 18:58:41 UTC
(In reply to comment #10)
> First, thank you for taking time to tackle these bugs with upstream.

You are welcome, but there is the potential that I created the problem. Either way I bumped the package, and therefore am responsible for any issues resulting from such.

> Second, although the missing symbols trigger this bug, I think you should keep
> them as separate bugs.

If the two were not related I would. However the access violations are just masking the true problem. Once the true problem is fixed, no more missing symbols, then there will not be any access violations. In fact the compile should fail, since things that were just compiled, will not work, has missing symbols.

Now either way it should not write to a location and file outside of the sources when it encounters a problem. That really is a separate issue. These access violations are a result from missing symbols, and how those errors are being handled. Its not normal behavior all around.

> The gds__log symbol seems to be fb specific, could it be
> something due to differences in optimizations or differences in profile?

Its something in ~arch that is not in arch. I can compile Firebird on my stable systems without issues. It just in ~arch I have issues. I did run into issues once before in production/stable. But I have done other compiles since, that have not failed. So this seems to be specific to ~arch/unstable, not arch/stable.

> Does
> this bug also get triggered when you build the code outside of portage
> (manually compiling)?

I have not, and there are to many differences to attempt such. Would have to replicate all the flags that portage adds in during emerge.

But I think its related to the --as-needed flag.
 http://www.gentoo.org/proj/en/qa/asneeded.xml

Comment 12 Myckel Habets 2011-03-06 19:44:46 UTC
(In reply to comment #11)
> But I think its related to the --as-needed flag.
>  http://www.gentoo.org/proj/en/qa/asneeded.xml

Although it might be that, --as-needed is also forced on stable arch.
Comment 13 William L. Thomson Jr. 2011-03-06 19:49:29 UTC
(In reply to comment #12)
>
> Although it might be that, --as-needed is also forced on stable arch.

Was just a hope really, but I have had some failures to compile in stable as well. Just could not replicate that, and it always fails in unstable. Its probably not that flag, just was hoping it might be. Because otherwise I am back to having no clue where this problem is coming from. Upstream says symbols should be present as part of libfbembeded.so.

Unless somehow I screwed up the order of stuff with the deps-flags-libs.patch, but that should only effect superserver targets. I tried recompiling all versions on my unstable development server, and all end up failing with access violations, caused by missing symbols in libfbintl.so, and also libfbtrace.so, but that one is not being loaded or causing the access violations.

Tried rolling back gcc and binutils. Didn't seem to be either of those, and can't roll back glibc. Really clueless again as to what it might be.

Comment 14 William L. Thomson Jr. 2011-03-06 20:24:17 UTC
This looks to be happening on both stable and unstable. Its very odd, on my production Firebird server i was able to compile it successfully on at least once. Because I am running and using Firebird 2.5 installed via the ebuild and libfbintl.so loaded without problems, and no access violations during compile/install.

But now I am running into that again consistently on my production server. Even odder if I go into a base system I have for virtual machines, residing on the file system on the same server, different env. I can compile and install Firebird there without any access violations. Really not sure what's going on during compile. Its clearly happening in both stable and unstable.
Comment 15 William L. Thomson Jr. 2011-03-11 19:31:09 UTC
This is really odd, I can get it to compile fine all day long on amd64, but on x86 it fails consistently. Also at times on i686, btyacc is failing. Looking into upstream patches for that, which may resolve issues with libfbintl.so.

The access violations taking place during compile are a result from the newly compiled Firebird trying to load the newly compiled libfbintl.so, which undefined symbols. What is causing the undefined symbols, I still have no clue.

However I am concerned that since its trying to write to the log file, that it might be trying to link against stuff on the system, vs stuff it just compiled. When we added debugging code to output the dlopen failure. It was giving the wrong path.

Each of the following
C: ../gen/firebird/bin/create_db empty.fdb 
C: ../gen/firebird/bin/build_file -d msg.fdb -f ../gen/firebird/firebird.msg 
C: ../gen/firebird/bin/build_file -d msg.fdb -l fr_FR -f ../gen/firebird/fr_FR.msg 
C: ../gen/firebird/bin/build_file -d msg.fdb -l de_DE -f ../gen/firebird/de_DE.msg 
C: ../gen/firebird/bin/codes ../src/include/gen ../lang_helpers 
C: ./empbuild employee.fdb 

Causes a message like this when it tries to write to /var/log/firebird/firebird.log

/usr/lib/firebird/intl/fbintl.so: /usr/lib/firebird/intl/fbintl.so: undefined symbol: gds__log

But that is wrong, it should be loading libfbintl.so during compile from
../gen/usr/lib/firebird/intl/fbintl.so

Anyway still working on this with upstream. Made a live ebuild pulling from svn sources with some of upstreams tweaks in the sources. Also updated the current ebuild to EAPI=4, updated patches, and some other fixes. This stuff would all be in tree for users to test out, if recruiting had done their job and re-processed me as a dev the other day instead of wasting my time.

I wasted 2hrs with a recruiter on Wednesday, and we made horrible progress. 20 minutes of my time then was wasted on an access violation question on the quiz. Which I guess me working this bug is not enough to prove I know how to resolve access violations. Of course they were talking about install time access violations, not compile time which they said was rare. ;)

For anyone who would like to test out the new ebuild or live ebuild. Make sure to drop an email to recruiters@gentoo.org and thank them for standing in my way of helping to further Gentoo :)
Comment 16 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2011-03-11 20:43:56 UTC
(In reply to comment #15)
> This stuff would all
> be in tree for users to test out, if recruiting had done their job and
> re-processed me as a dev the other day instead of wasting my time.
> 
> I wasted 2hrs with a recruiter on Wednesday, and we made horrible progress. 20
> minutes of my time then was wasted on an access violation question on the quiz.
> Which I guess me working this bug is not enough to prove I know how to resolve
> access violations. Of course they were talking about install time access
> violations, not compile time which they said was rare. ;)
> 
> For anyone who would like to test out the new ebuild or live ebuild. Make sure
> to drop an email to recruiters@gentoo.org and thank them for standing in my way
> of helping to further Gentoo :)

This is a clear abuse of bugzilla. Stop "whining" and trying to "rally support" for your cause on Bugzilla. This bug report is about access violations on dev-db/firebird-2.5.0.26074.0 and not any other issue.
If you persist on this route, you'll be forcing our hand.
Comment 17 William L. Thomson Jr. 2011-03-11 20:50:10 UTC
I am explaining to users why fixes for them to test out are not in tree. But if you want to keep up you will force my hand. Which you will not like.

Your comments do not pertain to this bug at all, and are unwarranted!

But I can just forget about this bug entirely and let others deal with it. Your council and devrel, so why don't you fix the problem users have reported?

If fact per your comments, I will do exactly that. I will keep my fixes to myself, and if I come with up with a solution. Well I will not contribute that back to Gentoo!
Comment 18 Vincent Hardy 2011-03-17 09:53:32 UTC
Hi all,

The problem occurs since I installed dev-libs/icu-4.6.

Back to dev-libs/icu-4.4.2, emerge Firebird no longer fails.

Note that :
- With icu-4.6, previously installed firebird no longer works at all.
- There have been problems with icu update and Firebird in the past.

Should we not warn icu maintainer ?
Comment 19 William L. Thomson Jr. 2011-03-17 14:30:14 UTC
(In reply to comment #18)
> Hi all,
> 
> The problem occurs since I installed dev-libs/icu-4.6.
> 
> Back to dev-libs/icu-4.4.2, emerge Firebird no longer fails.

I wish it was that simple, I have tried such and that is not the case. I will check again, and others are welcome to as well. But that was one of the first things I tried when I first ran into the issue. Interesting that it resolved the problem for you though.
Comment 20 William L. Thomson Jr. 2011-03-17 19:40:59 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Hi all,
> > 
> > The problem occurs since I installed dev-libs/icu-4.6.
> > 
> > Back to dev-libs/icu-4.4.2, emerge Firebird no longer fails.
> 
> I wish it was that simple, I have tried such and that is not the case. I will
> check again, and others are welcome to as well. 

Just confirmed that does not resolve the issue for me on any machines it fails on, which for me is only x86. I cannot get it to fail on amd64 machines. Though that was the arch of the two others users who attached the failed compile build.log.


dev ~ # emerge -pv icu =firebird-2.5.0.26074.0-r1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-libs/icu-4.6 [4.4.2] USE="-debug -doc -examples -static-libs" 0 kB [0]
[ebuild   R   ] dev-db/firebird-2.5.0.26074.0-r1  USE="superserver -client -debug -doc -examples -xinetd" 0 kB [?=>1]

Just to show that I am using icu-4.4.2. I haven't tried 4.4.1. Compile still fails for me on the above. The icu linking is not the problem as to why the access violations occur. In fact I do not believe its even libfbintl.so or libfbtrace.so fault, but possible symbols that fbserver/fb_smp_server/fb_inet_server provides that the others are trying to resolve against.

In fact this very moment I confirmed such with upstream. They were able to load a broken libfbintl.so that I could not load. But its not a problem with that, but what is loading it. fbserver/fb_smp_server/fb_inet_server are failing to export symbols the others need. Without them when you load the other libraries, libfbintl.so and libfbtrace.so you get undefined symbols. Because they are not being exported from the binary loading the modules.

Now to find out what is happening during compile that is stripping that stuff, or otherwise, making the symbols private vs public.
Comment 21 William L. Thomson Jr. 2011-03-17 19:51:40 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > (In reply to comment #18)
> > > Hi all,
> > > 
> > > The problem occurs since I installed dev-libs/icu-4.6.
> > > 
> > > Back to dev-libs/icu-4.4.2, emerge Firebird no longer fails.
> > 
> > I wish it was that simple, I have tried such and that is not the case. I will
> > check again, and others are welcome to as well. 
> 
> Just confirmed that does not resolve the issue for me on any machines it fails
> on, which for me is only x86. I cannot get it to fail on amd64 machines. 

Forgot to mention my amd64 machines are running icu-4.6, so I know for a fact a newer icu is not a problem. I can compile a working version of Firebird against that version of icu on any amd64 machine I have access to.

If icu caused breakage, had API or ABI changes, then that would have prompted the package maintainer to slot icu. Which is not the case :)
Comment 22 Myckel Habets 2011-03-17 20:47:17 UTC
I just wanted to try to hit the bug again, and it didn't. It just build fine on x86. Some details:

Command (this is a stable x86 system):
ACCEPT_KEYWORDS="~x86" USE="superserver" emerge =dev-db/firebird-2.5.0.26074.0

Calculating dependencies... done!
[ebuild   R   ] dev-db/firebird-2.5.0.26074.0  USE="superserver -client -debug -doc -examples -xinetd" 0 kB

emerge --info
Portage 2.1.9.42 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.3-r0, 2.6.36 i686)
=================================================================
System uname: Linux-2.6.36-i686-Mobile_AMD_Sempron-tm-_Processor_2800+-with-gentoo-1.12.14
Timestamp of tree: Sun, 13 Mar 2011 18:30:01 +0000
distcc 3.1 i686-pc-linux-gnu [enabled]
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.6.6-r2, 3.1.3-r1
dev-util/cmake:      2.8.4
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=athlon-xp -O2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect distcc distlocks fixlafiles fixpackages news nostrip parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="nl_NL.UTF-8"
LDFLAGS="-Wl,-O1,--as-needed"
LINGUAS="nl en uk"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X acl acpi alisp alsa autoipd avahi bash-completion berkdb bzip2 cairo cg cli cracklib crypt cxx dbus device-mapper devil dri encode fam fancy ffmpeg flac fontconfig fortran fts3 gdbm gdu gif gles gmp gnutls gpm gtk iconv icu imap ipv6 ithreads java5 jpeg libnotify mikmod mmx modules mono mp3 mudflap ncurses networking nls nptl nptlonly ogg openexr opengl openmp openssl pam pcre perl pic player png policykit pppd python qt3support qt4 rdesktop readline sdl session smime sockets spell sqlite sqlite3 sse sse2 ssl startup-notification svg sysfs tcpd theora threads thunar timidity tordns truetype udev unicode vnc vorbis x86 xcb xcomposite xft xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="nl en uk" PHP_TARGETS="php5-3" RUBY_TARGETS="jruby ruby18 ree18" USERLAND="GNU" VIDEO_CARDS="radeonhd radeon intel nouveau vmware" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 23 William L. Thomson Jr. 2011-03-26 04:42:25 UTC
(In reply to comment #22)
> I just wanted to try to hit the bug again, and it didn't. It just build fine on

I am not surprised, this seems to be occurring very inconsistently. Either you run into it or you do not. I am not sure if anyone has run into it, and then all of the sudden it went away. For me at least, it either compiles and works fine on some systems, thus far all amd64. But on others it fails consistently, x86. Completely opposite of most reports from others here.

I have pretty much exhausted all resources with upstream. I am going to reach out to some others in Gentoo that are much more knowledgeable on linking matters. Again the access violation and log writing is a side effect and masking the true error thats taking place.
Comment 24 William L. Thomson Jr. 2011-03-28 21:14:02 UTC
Ok after considerable effort, more than I can say I have ever spent on a single bug before in my life. Upstream finally got some fixes in svn sources that has resolved the problem with linking. Along the way it seems btyacc will need at least one or more patches. The btyacc in Firebirds sources is heavily modified. Not sure what modifications are absolutely necessary but I will have to file a bug and fix btyacc before this bug can be closed.

Not sure what route upstream will take. If they will release a new version of Firebird 2.5 sources with the fixes. Or if I will need to make a patch, back ported to the released 2.5 sources. Either way a fix exists, has been tested and does work. Just need some time before I can resolve the package and have a Gentoo developer proxy this into tree for me.

What a headache, but both upstream and I stayed on the matter till resolved. Now I will take over from here, once I get some direction from upstream. Hopefully they will release new sources ASAP. There are lots of modifications to the 2.5 sources in SVN. Really don't want to have to weed through all that to make a patch just for the linking issue.

Anyway stay tuned, fix will be coming ASAP!
Comment 25 Vincent Hardy 2011-05-27 09:42:56 UTC
With current portage, emerging firebird-2.5.0 works again for me.
Comment 26 Brandon Penglase 2011-05-29 02:53:55 UTC
(In reply to comment #25)
> With current portage, emerging firebird-2.5.0 works again for me.

dev-db/firebird-2.5.0.26074.0-r1 is failing for me currently, with portage-2.1.9.50.
Same errors as previously in the bug. 

-----

Portage 2.1.9.50 (default/linux/amd64/10.0/desktop/gnome, gcc-4.5.2, glibc-2.13-r2, 2.6.38.2-zen-1+ x86_64)
=================================================================
System uname: Linux-2.6.38.2-zen-1+-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6550_@_2.33GHz-with-gentoo-2.0.2
Timestamp of tree: Sat, 28 May 2011 23:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
ccache version 3.1.4 [enabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.5.4-r4, 2.7.1-r1, 3.2
dev-util/ccache:          3.1.4
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.5-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.5.2
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL RTCW-ETEULA dlj-1.1 sun-bcla-java-vm googleearth AdobeFlash-10 AdobeFlash-10.1 cadsoft"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-Os -pipe -march=nocona -mmmx -msse -msse2 -msse3 -fforce-addr -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-Os -pipe -march=nocona -mmmx -msse -msse2 -msse3 -fforce-addr -fomit-frame-pointer -D_FILE_OFFSET_BITS=64"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distcc distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.mirrors.pair.com/"
LANG="en"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"
LINGUAS="en"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=30"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/vmware /usr/local/portage/layman/swegener /usr/local/portage/layman/dev-zero /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit X a52 aac aalib acl acpi aim alsa amd64 audacious avahi avi branding bzip2 bzlib cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dga divx dri dts dv dvd dvdr dvdread echo eds emboss enca encode evo exif expat fam ffmpeg firefox flac foomaticdb fortran frontendonly ftp gdbm gdu gif glitz gmplayer gnome gnome-keyring gphoto2 gstreamer gtk gtk2 hddtemp i8x0 iconv icq imap imlib iproute2 ipv6 jack java jpeg kdrive lcms ldap libnotify lm_sensors mad matroska mmx mng modules mp2 mp3 mp4 mpeg mudflap multilib mythtv nautilus ncurses nls nptl nptlonly nsplugin ofx ogg oggvorbis opengl opengl-video opengl2 openmp pam pango pcre pdf perl png policykit ppds pulseaudio python qt3support qt4 quicktime readline realmedia rtc samba sasl sdl session shout smp spell sse sse2 ssl ssse3 startup-notification stream svg sysfs tcpd threads tiff truetype udev unicode usb usb2 vcd vmware_guest_freebsd vmware_guest_linux vmware_guest_netware vmware_guest_windows vorbis webdav widescreen wma wmf wmp x264 xanim xcb xinerama xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

-------

[ebuild   R   ] dev-db/firebird-2.5.0.26074.0-r1  USE="-client -debug -doc -examples -superserver -xinetd" 0 kB
[ebuild   R   ] sys-apps/portage-2.1.9.50  USE="(ipc) -build -doc -epydoc -python2 -python3 (-selinux)" LINGUAS="-pl" 0 kB

-------

For me, Firebird needs rebuild due to revdep-rebuild:
 *   broken /usr/lib64/libfbembed.so.2.5.0 (requires libicuuc.so.46)
 *   broken /usr/lib64/libfbintl.so (requires libicuuc.so.46)
 *   /usr/lib64/libfbembed.so.2.5.0 -> dev-db/firebird
 *   /usr/lib64/libfbintl.so -> dev-db/firebird
Comment 27 William L. Thomson Jr. 2011-09-30 00:38:47 UTC
Finally got around to making a patch from fixes in svn that I worked with upstream on earlier in the year. I will see about getting that patch and newer version of the ebuild into tree ASAP rather than add the stuff here as attachments. If I can't get in touch with a dev to proxy this stuff into tree for me within a few hours or day. I will likely create a new bug with the new version of the ebuild, and all necessary files, patches, etc. Since it addresses this and other open bugs, that I am unable to cross link/reference. Sorry for the delay, just lost motivation and interest there for a bit, till the itch got to me and I scratched it.
Comment 28 William L. Thomson Jr. 2011-09-30 21:08:16 UTC
Please see bug 385137 for an updated ebuild with patches to address this issue and some others. Hopefully will be committed to tree sometime soon :)
Comment 29 Patrick Lauer gentoo-dev 2011-10-06 20:26:40 UTC
Fixed with last bump