-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enclose statement in %isdarwin conditional #1865
Conversation
Could you explain in more details? How Darwin specific (or maybe it's not?) file is affecting Linux? |
Run 'scram b -v dxr' with CMSSW_7_6_0_pre6 on slc6 and you will see that a segfault happens while loading libtrilite.so. Removing this line from the spec file and rebuilding is the only change that removed the segault. |
[gartung@cmssrv208 CMSSW_7_6_0_pre6]$ scram setup ~/cmsbuild/slc6_amd64_gcc493/external/py2-dxr-toolfile/1.0-kpegke2/etc/scram.d/py2-dxr.xml Finding a value for PY2_DXR_BASE:
Finding a value for LIBDIR:
Runtime path settings for PYTHONPATH:
Runtime path settings for PATH:
Setting up py2-dxr version 1.0-kpegke2:
|
[gartung@cmssrv208 CMSSW_7_6_0_pre6]$ gdb -ex r --args python /storage/local/data1/gartung/cmsbuild/slc6_amd64_gcc493/external/py2-dxr/1.0-kpegke2/bin/dxr-build.py -v -f src/dxr.config Program received signal SIGSEGV, Segmentation fault. |
The version that works has an additional symbols sqlite3_auto_extension [gartung@cmssrv208 py2-dxr]$ nm -C 1.0-cms6/lib/libtrilite.so | grep sql |
Ah... the working and non-working version are built against different sqlite versions... [gartung@cmssrv208 py2-dxr]$ diff 1.0-kpegke2/spec 1.0-cms6/spec 27,31c27,31 < BuildRequires: external+llvm+3.6-kpegke2
|
This needs to be debugged, but that's wrong:
I hate this package, because it's a hacky mess. I think, I had to patch it again for Clang 3.7.0. Probably this is the place where we need to start looking.
The failing version is 1.0-kpegke2, which has a symbol |
On Oct 5, 2015, at 2:34 PM, davidlt <[email protected]mailto:[email protected]> wrote: Could you explain in more details? How Darwin specific (or maybe it's not?) file is affecting Linux? — OK. So it is not because of this line. My best guest is that libtrilite was built with sqlite 3.7 and the environment has sqlite 3.8. By rebuilding py2-dxr, libtrilite is rebuilt and linked against sqlite 3.8. |
Well, the Makefile is terrible. It basically links to everything on the system and completely ignores "CMSSW environment". It's also using pkg-config. |
On Oct 5, 2015, at 3:32 PM, davidlt <[email protected]mailto:[email protected]> wrote: I hate this package, because it's a hacky mess. I think, I had to patch it again for Clang 3.7.0. The master version of DXR now use ElasticSearch instead of libtrilite.so and sqlite3. It probably also has updates for Clang 3.7.0. |
We have ES server (or had) for CMSSW IB logs. |
OK. I will submit an updated DXR spec that builds the master branch. On Oct 5, 2015, at 3:47 PM, davidlt <[email protected]mailto:[email protected]> wrote: We have ES server (or had) for CMSSW IB logs. — |
Because py2-dxr is becoming hard to maintain I propose we remove it from the cmssw-tool-conf. |
@davidlt As long as a rebuild against sqlite 3.8 is forced the segfault goes away. I removed py2-dxr and its requirements from cmssw-tool-conf.spec but I would still like to keep the dxr build option. |
@gartung As it is right now this PR cannot be merged. Please do a rebase so we can test it. |
Requires: python zlib py2-setuptools py2-futures py2-jinja py2-markupsafe py2-ordereddict py2-parsimonious | ||
|
||
Requires: python llvm sqlite zlib py2-setuptools py2-futures py2-jinja py2-markupsafe py2-ordereddict py2-parsimonious | ||
%define isdarwin %(case %{cmsos} in (osx*) echo 1 ;; (*) echo 0 ;; esac) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no need for this line.
So why do we remove it? We only need to rewrite a small Makefile to look into correct places for us. Should be relatively easy. |
Will resubmit with just the last change on a branch. |
@davidlt @smuzaffar @Dr15Jones
This edit cause a segmentation fault in the linux version of this library when this is user