Re: rust on sparc64

Greg Troxel <[email protected]>
Newsgroups gmane.os.netbsd.ports.sparc64
Message-ID <[email protected]>
Connor McLaughlan <[email protected]> writes:

> Maybe someone can help me building rust on sparc64 with pkgsrc-2020Q2:

I am far from an expert but some clues that may be helpful, with some
probability that some are confused and will lead you astray.

  - you didn't state 8/9/current, and with 8/9 if release or stable.

  - you didn't clearly state that if you are using pkgsrc-2020Q2 that
    all packages are up-to-date with the branch.  this is the default
    assumption but it comes up a lot.  I'm not saying it's your problem
    but I like to take it off the table

  - rust uses binary bootstraps, they have been getting built for
    netbsd-8, so one bootstrap can work on 8/9/current

  - openssl comes in base, and in pkgsrc.  I am not sure that the shlib
    versions relate to each other.  8 has 1.0 and thus pkgsrc (2020Q1
    and later?) forces pkgsrc to get 1.1.  9/current have new enough
    that (today) pkgsrc is ok with it.

  - There is an emulators/compat80 package.  This puts the libs that are
   on 8 but not on 9 in /emul someplace so that binares for 8 can run on 9.
   If you had 8 and upgraded, they would still be there.

  - the rust bootstrap may be built against pkgsrc openssl from when it
    was built.    Find the binary and run objdump and ldd.

  - make a chart of /usr/lib/libssl and /usr/pkg/libssl versions.
    perhaps go looking for openssl from 2020Q1, and from when the
    bootstrap was built


You may ask why rust on 9 doesn't depend on the emulation package.  That
would be a very good question....


> So I went ahead and compiled openssl (had to disable des on sparc64
> which throwed errors for "m4 -B 8192",  but m4 has no option "-B").
> openssl install a libssl.so.1.1

openssl 1.1.1 installs that on netbsd-8/amd64.

> When i compile rust now, it complains about a missing libssl.so.12
> which i don't understand why the missing library version changed from
> so.27 to so.12.

Interesting, but 12 is the major from 8.

> My current libssl files in the system:
>
> bash-5.0# locate libssl.so
> /usr/lib/libssl.so
> /usr/lib/libssl.so.14
> /usr/lib/libssl.so.14.0
> /usr/lib/sparc/libssl.so
> /usr/lib/sparc/libssl.so.14
> /usr/lib/sparc/libssl.so.14.0
> /usr/pkg/lib/libssl.so
> /usr/pkg/lib/libssl.so.1.1

On a system that I think was 7, definitely was 8 and definitely is 9:

lrwxr-xr-x  1 root  wheel       14 Aug 26  2017 /usr/lib/libssl.so.10 -> libssl.so.10.6
-r--r--r--  1 root  wheel   448299 Apr  3  2017 /usr/lib/libssl.so.10.6
lrwxr-xr-x  1 root  wheel       14 Apr 18 15:13 /usr/lib/libssl.so.12 -> libssl.so.12.0
-r--r--r--  1 root  wheel   528248 Apr 18 15:12 /usr/lib/libssl.so.12.0
lrwxr-xr-x  1 root  wheel       14 Apr 19 13:20 /usr/lib/libssl.so.14 -> libssl.so.14.0
-r--r--r--  1 root  wheel   644816 Apr 19 13:18 /usr/lib/libssl.so.14.0

probably I did an update along  8, and then an update a day later to 9

So looks like you are on 9.

Try emulators/compat_80.  If that fails, get  the libssl.so.12 from the
releasse sets  and put it in place (but do not change any files that are
in 9!).

> The rust error during compiling:

this looks like "the bootstrap compiler does not run". You can ldd and
or just run it manually to debug shlibs.


> ===> Building for rust-1.43.1nb1
> cd /usr/pkgsrc/lang/rust/work/rustc-1.43.1-src  && ulimit -t `ulimit
> -H -t`; ulimit -d `ulimit -H -d`; ulimit -v `ulimit -H -v`;
> /usr/bin/env DESTDIR=/usr/pkgsrc/lang/rust/work/.destdir
> CARGO_BUILD_JOBS=1 USETOOLS=no LIBRARY_PATH=/usr/pkg/lib
> PTHREAD_CFLAGS=\ -pthread\  PTHREAD_LDFLAGS=\ -pthread PTHREAD_LIBS=
> PTHREADBASE=/usr DL_CFLAGS=\ -pthread\  DL_LDFLAGS=\ -pthread DL_LIBS=
> PYTHON=/usr/pkg/bin/python3.7 CC=cc CFLAGS=-O2\ -D_FORTIFY_SOURCE=2\
> -I/usr/pkg/include\ -I/usr/include\ -I/usr/pkg/include/python3.7\
> -I/usr/include/krb5 CPPFLAGS=-I/usr/pkg/include\ -I/usr/include\
> -I/usr/pkg/include/python3.7\ -I/usr/include/krb5 CXX=c++
> CXXFLAGS=-O2\ -D_FORTIFY_SOURCE=2\ -I/usr/pkg/include\ -I/usr/include\
> -I/usr/pkg/include/python3.7\ -I/usr/include/krb5
> COMPILER_RPATH_FLAG=-Wl,-R F77=f77 FC=f77 FFLAGS=-O LANG=C LC_ALL=C
> LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C
> LC_TIME=C LDFLAGS=-L/usr/pkg/lib\ -Wl,-R/usr/pkg/lib\ -L/usr/lib\
> -Wl,-R/usr/lib LINKER_RPATH_FLAG=-R
> PATH=/usr/pkgsrc/lang/rust/work/.cwrapper/bin:/usr/pkgsrc/lang/rust/work/.buildlink/bin:/usr/pkgsrc/lang/rust/work/.gcc/bin:/usr/pkgsrc/lang/rust/work/.tools/bin:/usr/pkg/bin:/home/connor/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/pkg/bin:/usr/X11R7/bin
> PREFIX=/usr/pkg MAKELEVEL=0 CONFIG_SITE= PKG_SYSCONFDIR=/usr/pkg/etc
> HOME=/usr/pkgsrc/lang/rust/work/.home
> CWRAPPERS_CONFIG_DIR=/usr/pkgsrc/lang/rust/work/.cwrapper/config
> CPP=cpp LOCALBASE=/usr/pkg X11BASE=/usr/X11R7 PKGMANDIR=man
> PKGINFODIR=info PKGGNUDIR=gnu/ MAKECONF=/dev/null OBJECT_FMT=ELF
> USETOOLS=no LIBTOOL="/usr/pkgsrc/lang/rust/work/.cwrapper/bin/libtool
> " BSD_INSTALL_PROGRAM=/usr/bin/install\ -c\ -s\ -o\ root\ -g\ wheel\
> -m\ 755 BSD_INSTALL_SCRIPT=/usr/bin/install\ -c\ -o\ root\ -g\ wheel\
> -m\ 755 BSD_INSTALL_LIB=/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\
> 755 BSD_INSTALL_DATA=/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\
> 644 BSD_INSTALL_MAN=/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\ 644
> BSD_INSTALL=/usr/bin/install BSD_INSTALL_PROGRAM_DIR=/usr/bin/install\
> -d\ -o\ root\ -g\ wheel\ -m\ 755
> BSD_INSTALL_SCRIPT_DIR=/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\
> 755 BSD_INSTALL_LIB_DIR=/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\
> 755 BSD_INSTALL_DATA_DIR=/usr/bin/install\ -d\ -o\ root\ -g\ wheel\
> -m\ 755 BSD_INSTALL_MAN_DIR=/usr/bin/install\ -d\ -o\ root\ -g\ wheel\
> -m\ 755 BSD_INSTALL_GAME=/usr/bin/install\ -c\ -s\ -o\ root\ -g\
> wheel\ -m\ 2555 BSD_INSTALL_GAME_DATA=/usr/bin/install\ -c\ -o\ root\
> -g\ wheel\ -m\ 664 BSD_INSTALL_GAME_DIR=/usr/bin/install\ -d\ -o\
> root\ -g\ wheel\ -m\ 775 INSTALL_INFO=
> MAKEINFO=/usr/pkgsrc/lang/rust/work/.tools/bin/makeinfo FLEX= BISON=
> PKG_CONFIG=/usr/pkgsrc/lang/rust/work/.tools/bin/pkg-config
> PKG_CONFIG_LIBDIR=/usr/pkgsrc/lang/rust/work/.buildlink/lib/pkgconfig:/usr/pkgsrc/lang/rust/work/.buildlink/share/pkgconfig
> PKG_CONFIG_LOG=/usr/pkgsrc/lang/rust/work/.pkg-config.log
> PKG_CONFIG_PATH= KRB5_CONFIG=/usr/bin/krb5-config
> CWRAPPERS_CONFIG_DIR=/usr/pkgsrc/lang/rust/work/.cwrapper/config
> /usr/pkg/bin/python3.7 ./x.py -v build -j 1
> running: /usr/pkgsrc/lang/rust/work/rust-bootstrap/bin/cargo build
> --manifest-path
> /usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/Cargo.toml
> --frozen
> /usr/pkgsrc/lang/rust/work/rust-bootstrap/bin/cargo: Shared object
> "libssl.so.12" not found
> Traceback (most recent call last):
1>   File "./x.py", line 11, in <module>
>     bootstrap.main()
>   File "/usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/bootstrap.py",
> line 957, in main
>     bootstrap(help_triggered)
>   File "/usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/bootstrap.py",
> line 926, in bootstrap
>     build.build_bootstrap()
>   File "/usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/bootstrap.py",
> line 718, in build_bootstrap
>     run(args, env=env, verbose=self.verbose)
>   File "/usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/bootstrap.py",
> line 141, in run
>     raise RuntimeError(err)
> RuntimeError: failed to run:
> /usr/pkgsrc/lang/rust/work/rust-bootstrap/bin/cargo build
> --manifest-path
> /usr/pkgsrc/lang/rust/work/rustc-1.43.1-src/src/bootstrap/Cargo.toml
> --frozen
> *** Error code 1
>
> Regards,
> Connor
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.