Running the Autotools based build system from the current online manual https://www.geany.org/manual/current/index.html (version 1.35), I successfully completed the configure task: ============================================================== $ ./configure $ make ==============================================================
However, the installation failed as it could not find ldconfig: ============================================================== # make install ... /bin/bash: line 3: ldconfig: command not found make[4]: *** [Makefile:1660: fix-ubuntu-libdir] Error 127 ... ==============================================================
The library libc-bin (2.28-10) provides the ldcommand: ============================================================== ~$ whereis ldconfig ldconfig: /sbin/ldconfig /usr/share/man/man8/ldconfig.8.gz ~$ ==============================================================
I have examined the configure output and .configure --help but ldconfig & libc-bin is not mentioned in either. If its of use, I have posted the Makefile and the script for make install:
http://www.kaniuk.co.uk/tests/geany-debian-makefile http://www.kaniuk.co.uk/tests/geany-make-install-fail
Any help to resolve this much appreciated!
Hi Geoff,
On 24.08.20 20:24, Geoff Kaniuk wrote:
Running the Autotools based build system from the current online manual https://www.geany.org/manual/current/index.html (version 1.35), I successfully completed the configure task: ============================================================== $ ./configure $ make ==============================================================
However, the installation failed as it could not find ldconfig:
# make install ... /bin/bash: line 3: ldconfig: command not found make[4]: *** [Makefile:1660: fix-ubuntu-libdir] Error 127
As root, ldconfig should be found. As user, ldconfig is usually not callable without the full path (as it is located in /sbin).
So, it looks like you ran "make install" as user. OTOH, usually unless manually changed, users cannot write to /usr/local.
Try running "make install" as root.
Regards, Enrico
Hi Enrico,
Thanks - but I did run as root!
If you look at the script I posted, you will see that the third line reads: ==================================================================== /home/geoff/Build/geany/geany-main/geany-1.36# make install ====================================================================
It seems like the PWD was wrong. I tried running ldconfig from other places: ==================================================================== /sbin# ldconfig -p bash: ldconfig: command not found /sbin# cd / /# /sbin/ldconfig -p>/home/geoff/test-ldconfig 1357 libs found in cache `/etc/ld.so.cache' ... ====================================================================
So one has to run make install from the top level / ?
Tomorrow!
Geoff
33 Ashbury Close, Cambridge CB1 3RW 01223 710582
On 24/08/2020 21:59, Enrico Tröger wrote:
Hi Geoff,
On 24.08.20 20:24, Geoff Kaniuk wrote:
Running the Autotools based build system from the current online manual https://www.geany.org/manual/current/index.html (version 1.35), I successfully completed the configure task: ============================================================== $ ./configure $ make ==============================================================
However, the installation failed as it could not find ldconfig:
# make install ... /bin/bash: line 3: ldconfig: command not found make[4]: *** [Makefile:1660: fix-ubuntu-libdir] Error 127
As root, ldconfig should be found. As user, ldconfig is usually not callable without the full path (as it is located in /sbin).
So, it looks like you ran "make install" as user. OTOH, usually unless manually changed, users cannot write to /usr/local.
Try running "make install" as root.
Regards, Enrico
Users mailing list Users@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/users
I have now run some diagnostics on 'make install'.
Firstly a dry-run produced no issues ==================================================================== /home/.../geany-1.36# make --dry-run install>make-install-dry-run /home/.../geany-1.36# echo $? 0 ====================================================================
Next, I ran a trace: ==================================================================== /home/.../geany-1.36# make --trace install>make-install-trace /bin/bash: line 3: ldconfig: command not found make[4]: *** [Makefile:1660: fix-ubuntu-libdir] Error 127 make[3]: *** [Makefile:1533: install-exec-am] Error 2 make[2]: *** [Makefile:1433: install-am] Error 2 make[1]: *** [Makefile:1267: install-recursive] Error 1 make: *** [Makefile:594: install-recursive] Error 1 /home/.../geany-1.36# echo $? 2 ====================================================================
The relevant section in the trace output is: ==================================================================== Makefile:1532: update target 'install-exec-am' due to: install-binPROGRAMS install-dist_pkglibexecSCRIPTS install-libLTLIBRARIES : make install-exec-hook make[4]: Entering directory '/home/geoff/Build/geany/geany-main/geany-1.36/src' Makefile:1660: target 'fix-ubuntu-libdir' does not exist if test "/usr/local/lib" = /usr/local/lib && \ LANG=C ldd "/usr/local/bin/geany" | grep -q 'libgeany.*not found' \ ; then \ ldconfig "/usr/local/lib"; \ fi ====================================================================
I also ran 'make check' and that produced no errors.
It looks like the real problem is the missing target?
How is this fixed?
Geoff
33 Ashbury Close, Cambridge CB1 3RW 01223 710582
Try running "make install" as root.