IntersectMBO / cardano-db-sync

A component that follows the Cardano chain and stores blocks and transactions in PostgreSQL
Apache License 2.0
290 stars 161 forks source link

cardano-db-tool missing from build all #1228

Closed reqlez closed 2 years ago

reqlez commented 2 years ago

OS Ubuntu 22.04 x86_64 ( also tested on FreeBSD 13.1 )

Versions The db-sync version: 13.0.4 tag

Build/Install Method The method you use to build or install cardano-db-sync:

On Ubuntu used cntools scripts: mkdir -p ~/tmp && cd ~/tmp curl -sS -o prereqs.sh https://raw.githubusercontent.com/cardano-community/guild-operators/alpha/scripts/cnode-helper-scripts/prereqs.sh chmod 755 prereqs.sh ./prereqs.sh -b alpha

mkdir -p ~/git && cd ~/git git clone https://github.com/input-output-hk/cardano-db-sync cd cardano-db-sync git fetch --all --recurse-submodules --tags git checkout tags/13.0.4 $CNODE_HOME/scripts/cabal-build-all.sh -o

On FreeBSD: https://github.com/cardano-bsd-alliance/freebsd-ports-haskell/blob/4759af1e265a87dd4650ca1d74432f071f748597/net-p2p/cardano-db-sync/Makefile

Problem Report

I have noticed that building cardano-db-sync using cabal build all does not produce cardano-db-tool from the official tags. However if i cabal build cardano-db-tool it does build fine.

I tried 13.0.4 and also the rc1.

However, building from my custom release here ( includes the datumfix and some other stuff ), i saw that cardano-db-tool was indeed built: https://github.com/cardano-bsd-alliance/cardano-db-sync/releases/tag/13.0.3c ( i tried this about a week ago, but it did produce cardano-db-tool binary )

Not sure if i'm doing something wrong now, versus before... or there is something missing here. At first I assumed it had something to do with my FreeBSD patch, but then i tried Ubuntu from official tag and had the same outcome.

rdlrt commented 2 years ago

Not a bug, cabal build all script mentioned only builds cardano-db-sync binary intentionally (can move to guild-operators repo to discuss further if needed)

reqlez commented 2 years ago

Not a bug, cabal build all script mentioned only builds cardano-db-sync binary intentionally

Interesting, so how did i get the tool before and now i'm not... okay if you say it's not a bug, I will look into my build process then. I assumed what are the chances of 2 difference processes not including it... maybe it's just a coincidence.

erikd commented 2 years ago

@reqlez I am pretty certain that the $CNODE_HOME/scripts/cabal-build-all.sh script is NOT the same as cabal build all.

reqlez commented 2 years ago

@reqlez I am pretty certain that the $CNODE_HOME/scripts/cabal-build-all.sh script is NOT the same as cabal build all.

Sorry, my bad LOL I assumed they are using cabal build all, bad assumption. I will do more tests next time ;-)

reqlez commented 2 years ago

To add, we found that the missing binary was due to a modification in our FreeBSD build process for all Haskell ports, and we forgot to adapt the db-sync port. Very embarrassing indeed...