/srv/irclogs.ubuntu.com/2022/07/28/#ubuntu-devel.txt

mwhudsonugh this ffmpeg transition is a bit of a doozy huh01:25
mwhudsonand what is actually going on with pandoc01:45
rbasakI've been looking into pandoc.02:42
rbasakIt's tied in to various Haskell related build failures02:42
rbasakThe easiest reproducer is the haskell-splitmix FTBFS in proposed since that has few other dependencies02:43
rbasakThe same source succeeds in Debian with nearly the same ghc.02:43
rbasak/usr/bin/ld.gold: error: dist-ghc/build/System/Random/SplitMix.dyn_o: requires dynamic R_X86_64_PC32 reloc against 'splitmixzm0zi1zi0zi4zm7WezzxDFZZxfp5n4UMHruZZ3s_SystemziRandomziSplitMix_SMGen_con_info' which may overflow at runtime; recompile with -fPIC02:43
rbasakThere are lots of these all over the Haskell stack.02:44
rbasakI understand what it means but not where it's coming from. Unhelpfully the build log doesn't show the call to the linker.02:44
arraybolt3[m]This might sound silly, but I can try to help. The package is just called "pandoc", right?02:45
rbasakThe source package is "pandoc" yes02:45
* arraybolt3[m] does local sbuild... should I do it against Jammy or Kinetic?02:45
rbasakKinetic (the version in proposed)02:46
arraybolt3[m]OK. If I come up with anything I'll report back.02:47
arraybolt3[m]rbasak: Well I got a much different error, but still an error: https://paste.ubuntu.com/p/DZ7SzpMCHq/03:40
arraybolt3[m]The part that finally died was "hlibrary.setup: No test suites enabled. Did you remember to configure with '--enable-tests'?"03:40
arraybolt3[m]And the command in the build that triggered it was "Running debian/hlibrary.setup test --builddir=dist-ghc --show-details=direct"03:41
arraybolt3[m]I notice in what appears to be the configure line: "Running debian/hlibrary.setup configure --ghc -v2 --package-db=/var/lib/ghc/package.conf.d --prefix=/usr --libdir=/usr/lib/haskell-packages/ghc/lib --libexecdir=/usr/lib --builddir=dist-ghc --ghc-option=-optl-Wl,-Bsymbolic-functions --ghc-option=-optl-flto=auto --ghc-option=-optl-ffat-lto-objects --ghc-option=-optl-flto=auto --ghc-option=-optl-Wl,-z,relro03:42
arraybolt3[m]--haddockdir=/usr/lib/ghc-doc/haddock/pandoc-/ --datasubdir=pandoc --htmldir=/usr/share/doc/libghc-pandoc-doc/html/ --enable-library-profiling --flags=-threaded --ghc-options=+RTS -V0 -RTS -ftests"03:42
arraybolt3[m]And I see that "--enable-tests" is missing in there, so that may be part of the problem?03:42
arraybolt3[m]I'm on an Ubuntu Jammy system, compiling for Kinetic, using the kinetic-proposed package of pandoc.03:43
arraybolt3[m](This is despite "DEB_ENABLE_TESTS = yes" being present in the debian/rules file, oddly enough.)03:46
arraybolt3[m]I hacked the debian/rules file to put --enable-tests in there and it appears to have accepted it, so we'll see what happens next.03:51
arraybolt3[m]After hacking the debian/rules file to get tests enabled, the package appeared to almost build properly - however 8 unit tests failed. https://paste.ubuntu.com/p/qNTZc6hygk/04:42
arraybolt3[m]The debian/rules file that allowed for near success is: https://paste.ubuntu.com/p/qwWVVWY4CM/04:43
Skuggenhttps://people.canonical.com/~ubuntu-archive/proposed-migration/kinetic/update_excuses.html#mysql-8.0 Could someone rerun the failed s390x run for MySQL? Doesn't seem mysql-related06:33
Skuggenrbasak: ^06:33
RikMillsSkuggen: done06:35
SkuggenThanks!06:49
SkuggenOr maybe it is. sqlite has the same issue, I see07:40
RikMillsthe retry passed, so shrug07:41
SkuggenOh! I was just looking at the excuses page, which hasn't updated yet07:42
=== sem2peie- is now known as sem2peie
=== sem2peie- is now known as sem2peie
=== luis220413_ is now known as luis220413
=== sem2peie- is now known as sem2peie
LocutusOfBorgluis220413, hello, you there?11:52
LocutusOfBorgLP: #198255411:52
ubottuLaunchpad bug 1982554 in haskell-diff (Ubuntu) "Fails to build due to compilation without -fPIC or PIC linking only on amd64" [Undecided, New] https://launchpad.net/bugs/198255411:52
LocutusOfBorgcan we please have some discussion?11:52
LocutusOfBorgnow ghc is built everywhere, so the transition rebuilds can start11:52
LocutusOfBorgbut I want a solution that can be upstream in Debian too11:52
luis220413LocutusOfBorg: I am ready12:31
LocutusOfBorgI wrote a comment on the bug12:32
luis220413LocutusOfBorg: My solution is to enable -fPIC in devtools, to enhance security.12:45
luis220413LocutusOfBorg: How can removing -Bsymbolic-functions from the linker flags remove relocation errors?12:47
lucascastroHello, I was talking to freeipa development team and they told krb5 api changed a lot from 1.19 to 1.20. Wouldn't it be a good idea keep 1.20 on experimental by now?12:48
rbasakLocutusOfBorg: are you working on haskell?12:48
luis220413LocutusOfBorg: Yes, LocutusOfBorg is working on Haskell.12:49
luis220413*rbasak: Yes, LocutusOfBorg is working on Haskell.12:49
rbasakI have been looking at this too12:50
lucascastrowrong window12:52
rbasakWhy does this affect Ubuntu but not Debian?12:53
rbasakI've not been able to undertand that.12:53
luis220413LocutusOfBorg: ^12:53
LocutusOfBorgrbasak, I would like to13:00
rbasakI'm on +1 maintenance this week. I've been digging into this, but it looks like you have a much better understanding than I do.13:01
rbasakSo how can I help?13:01
LocutusOfBorgI don't know but removing bSymbokic functions from linker works13:01
rbasakI'm using haskell-splitmix as my guinea pig as it's quick to fail and has few other dependencies13:01
rbasakI'm not familiar with haskell-devscript13:02
rbasaks13:02
rbasakI extracted the failing linker script it's using on Ubuntu13:02
LocutusOfBorgrbasak, export DEB_LDFLAGS_MAINT_ADD=-Wl,-Bsymbolic-functions in Debian?13:02
rbasakThat's as far as I got really13:02
rbasakLocutusOfBorg: no, I mean that if you rebuild (eg.) haskell-splitmix on sid, then it works.13:03
rbasakOn amd6413:03
rbasakBut on kinetic it fails. So where's the difference?13:03
rbasakThe failing linker script on Ubuntu makes mention of lto, so I wonder if it's that.13:03
LocutusOfBorgas said, disabling lto works13:03
LocutusOfBorgalso disabling bsymbolic13:03
rbasakEither? Or both?13:04
LocutusOfBorgfor some you need both I guess13:04
LocutusOfBorglet me check haskell-diff in Debian13:04
rbasakI tried disabling LTO for haskell-splitmix just before this discussion and it didn't work, but I don't know if I did it right.13:04
LocutusOfBorgexport DEB_LDFLAGS_MAINT_ADD=-Wl,-Bsymbolic-functions13:05
LocutusOfBorgexport DEB_BUILD_OPTIONS=optimize=lto13:05
LocutusOfBorgI want to try this in Debian13:05
LocutusOfBorgrbasak, https://launchpadlibrarian.net/614021872/buildlog_ubuntu-kinetic-amd64.haskell-splitmix_0.1.0.4-1build1_BUILDING.txt.gz13:06
LocutusOfBorgthis is haskell-splitmix13:06
LocutusOfBorgGet:121 http://ftpmaster.internal/ubuntu kinetic-proposed/universe amd64 haskell-devscripts-minimal all 0.16.23 [50.3 kB]13:06
LocutusOfBorgnow, if I retry this build13:06
LocutusOfBorgit gets the haskell-devscripts from my ppa, with the strip of bsymbolic-functions13:07
LocutusOfBorglets see13:07
LocutusOfBorgGet:121 http://ftpmaster.internal/ubuntu kinetic-proposed/universe amd64 haskell-devscripts-minimal all 0.16.23 [50.3 kB]13:07
rbasakI used export DEB_BUILD_MAINT_OPTIONS=optimize=-lto13:07
LocutusOfBorgand didn't work?13:07
rbasakIn haskell-splitmix/debian/rules, to be clear. And that still fails.13:08
LocutusOfBorgI patch directly hlibrary.mk13:08
rbasakYeah I'm not sure the flag got to the right place13:08
rbasakI haven't checked that yet.13:08
rbasaksplitmix uses cdbs13:09
rbasakIs it using dpkg-buildflags, etc?13:09
rbasakIs hlibrary using dpkg-buildflags?13:09
rbasaketc13:09
LocutusOfBorgdont know13:10
LocutusOfBorgbut I can say, in Debian, adding the two above lines makes haskell-diff fails in the same way13:10
LocutusOfBorg(DEB_LDFLAGS_MAINT_APPEND is the correct string btw)13:10
LocutusOfBorgwell, in Debian just doing this: export DEB_LDFLAGS_MAINT_APPEND=-Wl,-Bsymbolic-functions13:11
LocutusOfBorgis enough to trigger the failure13:11
rbasakHere's the failing link: https://paste.ubuntu.com/p/td42z5FQCz/13:12
LocutusOfBorghttps://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/+build/2418967813:12
LocutusOfBorgand build its13:12
LocutusOfBorgok13:12
LocutusOfBorgso, at the end "export DEB_LDFLAGS_MAINT_APPEND=-Wl,-Bsymbolic-functions" in hlibrary.mk or rules file is enough to reproduce the issue in Debian13:13
LocutusOfBorgand DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions is enough to fix the issue in Ubuntu13:13
LocutusOfBorghttps://launchpadlibrarian.net/614046196/buildlog_ubuntu-kinetic-armhf.haskell-splitmix_0.1.0.4-1build1_BUILDING.txt.gz13:14
LocutusOfBorgfor amd64 and armhf13:14
rbasakYou might not be triggering it for the same reason though.13:14
rbasakYou might be moving some other static library to PIC, therefore requiring PIC elsewhere.13:14
rbasak(IIUC)13:14
rbasakBack in a bit.13:15
luis220413LocutusOfBorg, rbasak: I was busy discussing a security update for jupyter-notebook and will return in 30 minutes.13:21
LocutusOfBorg./lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm:    my $ldflags_line = run(qw{dpkg-buildflags --get LDFLAGS});13:22
LocutusOfBorgrbasak, ^^ it uses buildflags13:22
LocutusOfBorgnot cflags I would say?13:22
LocutusOfBorgso you say that cflags are missing pic, while ldflags arent13:23
LocutusOfBorgexport DEB_SETUP_GHC_CONFIGURE_ARGS = --ghc-options="-fPIC"13:45
LocutusOfBorg doesn't fix the issue13:45
LocutusOfBorgremoving pic doesn't help, exporting -pic from DEB_ doesn't help13:49
LocutusOfBorgexporting LDFLAGS=-no-pic doesn't help13:49
rbasakAFAICT, when I set DEB_BUILD_MAINT_OPTIONS=optimize=-lto and call "debian/hlibrary.setup build --builddir=dist-ghc", it still puts /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so in the linker script13:49
LocutusOfBorgadding pic everywhere doesn't help13:49
rbasakdebian/hlibrary.setup is a binary. Where's the source for it?13:50
LocutusOfBorg        perl -d:Confess -MDebian::Debhelper::Buildsystem::Haskell::Recipes=/.*/ \13:51
LocutusOfBorg                -E 'make_setup_recipe'13:51
LocutusOfBorg        run(qw{ghc --make}, $shipped_setup, '-o',$ENV{DEB_SETUP_BIN_NAME});13:51
LocutusOfBorgI guess this is how it gets created13:51
LocutusOfBorgits created from setup file13:52
LocutusOfBorgghc --make Setup.lhs -o debian/hlibrary.setup13:53
LocutusOfBorgthis is how we create it13:53
rbasakOK so it's entirely what cabal does?13:55
rbasakUnmodified?13:55
rbasakWhat's Setup.lhs vs. Setup.hs?13:55
luis220413rbasak: .lhs is Literate Haskell (Haskell with comments in LaTeX or another markup language) while .hs is Haskell.14:40
rbasakAh thanks14:40
luis220413LocutusOfBorg: Use -fPIC in compiler flags *and* -pic in compiler-linker or linker flags.14:46
luis220413Compiler-linker is when you are invoking the compiler just to do the same as a linker.14:47
luis220413And do not disable -Bsymbolic-functions. I would even recommend -Bsymbolic if it does not break Haskell code.14:52
blucaslyon: any chance we could pretty preeetty please queue enabling repartd in the next Jammy systemd SRU now that it's enabled in Karmic?15:25
blucaI've done as much as homework as I can do: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/189793215:25
ubottuLaunchpad bug 1897932 in systemd (Ubuntu Jammy) "systemd-repart not packaged" [Undecided, Confirmed]15:25
slyonbluca: we're not supposed to enable new features after FeatureFreeze or final release. But let me check the details.. if this can be isolated and maintained in universe we might be able to get an exception for that. I need to check with the release team in #ubuntu-release15:33
slyon(or you could try to get their approval on the LP bug report)15:33
slyonbluca: like, we cannot ship it in the 'systemd' package as proposed right now. that's most probably a no-go15:34
blucait's a single new command line executable, completely inert until someone calls it15:34
blucano functionality/runtime behaviour is affected at all15:35
slyoncould it be shipped as a separate systemd-repartd package, without any dependency pulling it into the "main" component (and therefore the default installation of any ubuntu installation out there)?15:36
blucayes I suppose it could - but it would be a divergence from debian and karmic15:36
blucain debian and karmic it's in the main pkg15:36
blucait's also covered by autopkgtest + build time unit tests15:40
slyonright, we would need some "Replaces:" in kinetic to "merge" it back into the main package after an upgrade...15:50
slyonlet me try to ask the relevant people, as I do not have the powers to make that change myself15:50
blucathank you15:50
blucaI can update the MR if that's the way it needs to go15:51
slyonthanks. But maybe let's first try to figure out if that could be accepted at all before putting more work into this15:58
blucasounds good15:58
=== lucas_ is now known as lucascastro
mwhudsonwell ok https://github.com/dstndstn/astrometry.net/blob/main/configure23:44
sarnoldOk23:47
sarnoldhttps://github.com/dstndstn/astrometry.net/blob/main/Makefile#L5823:47
sarnoldthat line, pkg-config --version || echo ...   probably saves them lots of time; I've lost track of how many people missed installing pkg-config when building things and then have *no* idea how to handle the errors that pop out23:48

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!