Skip to content

Conversation

@thecodefactory
Copy link
Member

Recently the install.sh script stopped working locally unless I added the --build-dir option. This allows a (working) default to be used again. Also fixes a spacing typo.

@thecodefactory thecodefactory requested a review from pmienk October 16, 2025 20:09
@pmienk
Copy link
Member

pmienk commented Oct 16, 2025

I'm not opposed to this change, however scanning back to 2017 the directory has always been fixed without path and used to create directory colocated with the script. Can you specify the failure?

@thecodefactory
Copy link
Member Author

I'm not opposed to this change, however scanning back to 2017 the directory has always been fixed without path and used to create directory colocated with the script. Can you specify the failure?

I have long run the install.sh script from another script that isn't located in the source dir, but instead uses pushd to get in there and do the ./install.sh --options-etc and haven't had issues until recently. Now after building boost, I get the following (for libbitcoin-node):

Component configuration:

    - atomic                   : not building
    - charconv                 : not building
    - chrono                   : not building
    - cobalt                   : not building
    - container                : not building
    - context                  : not building
    - contract                 : not building
    - coroutine                : not building
    - date_time                : not building
    - exception                : not building
    - fiber                    : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - headers                  : not building
    - iostreams                : building
    - json                     : not building
    - locale                   : building
    - log                      : not building
    - math                     : not building
    - mpi                      : not building
    - nowide                   : not building
    - process                  : not building
    - program_options          : building
    - python                   : not building
    - random                   : not building
    - regex                    : building
    - serialization            : not building
    - stacktrace               : not building
    - system                   : not building
    - test                     : building
    - thread                   : building
    - timer                    : not building
    - type_erasure             : not building
    - url                      : building
    - wave                     : not building
    - predef                   : not building

./install.sh: line 211: pushd: build-libbitcoin-node: No such file or directory

This was working properly at least in the last couple of weeks, so not exactly sure when something decided to break. The fix locally was to add --build-dir, but I don't like that it's required now. I suspect you may see the error in CI if you remove the --build-dir option, which I noticed was being used there.

@pmienk
Copy link
Member

pmienk commented Oct 16, 2025

Is this the node install script? I'm happy to track down the actual error which appears to be a mismatch in directory expectation as opposed to papering over a logic issue.

@thecodefactory
Copy link
Member Author

Is this the node install script? I'm happy to track down the actual error which appears to be a mismatch in directory expectation as opposed to papering over a logic issue.

It's in any of them. For example, here's what I see trying to run install.sh in libbitcoin-system (master):

neillm@dev:~/libbitcoin/master/source/libbitcoin-system$ ./install.sh --prefix=/tmp
libbitcoin-system installer configuration.
--------------------------------------------------------------------
OS                    : Linux
PARALLEL              : 96
CC                    : 
CXX                   : 
CPPFLAGS              : 
CFLAGS                : 
CXXFLAGS              : 
LDFLAGS               : 
LDLIBS                : 
WITH_ICU              : 
BUILD_ICU             : 
BUILD_BOOST           : 
BUILD_SECP256K1       : 
BOOST_ROOT            : 
BUILD_SRC_DIR          : build-libbitcoin-system
PREFIX                : /tmp
DISABLE_SHARED        : 
DISABLE_STATIC        : 
with_boost            : 
with_pkgconfigdir     : --with-pkgconfigdir=/tmp/lib/pkgconfig
--------------------------------------------------------------------

********************** Initialize git **********************
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint:   git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint:   git branch -m <name>
Initialized empty Git repository in /home/neillm/libbitcoin/master/source/libbitcoin-system/build-libbitcoin-system/.git/

********************** Preparing to acquire icu4c-55_2-src.tgz **********************
Skipping unpack of icu4c-55_2-src.tgz...

********************** Rationalize ICU detection. **********************

********************** Preparing to acquire boost_1_86_0.tar.bz2 **********************
Skipping unpack of boost_1_86_0.tar.bz2...
./install.sh: line 208: pushd: build-libbitcoin-system: No such file or directory

real    0m0.001s
user    0m0.000s
sys     0m0.001s

@thecodefactory
Copy link
Member Author

In libbitcoin-system, it works fine if I go back a few commits from master (e.g. c7b1d29f81867cc1dbd44a705f8c0c8cdc5570df)

@thecodefactory
Copy link
Member Author

And on libbitcoin-node, it breaks the same on master, but works fine at 213d1684aeccf2cac5db1addbe00e30b07a160f5. So something in the latest artifact generation broke it.

@pmienk
Copy link
Member

pmienk commented Oct 17, 2025

Found unbalanced pop from recent change, will pull when fix verified.

@thecodefactory
Copy link
Member Author

Found unbalanced pop from recent change, will pull when fix verified.

Good deal. May still be worth having a CI runner that doesn't specify the --build-dir option to avoid this kind of regression in the future 🤷‍♂️

@thecodefactory
Copy link
Member Author

Found unbalanced pop from recent change, will pull when fix verified.

Closing due to #367

@thecodefactory thecodefactory deleted the fix-default-not-specified-dir branch October 18, 2025 04:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants