The direct URL to download the latest gcc build for our Hackathon is
https://sourceforge.net/projects/softwarefreedom/files/gcc/gcc.tar.xz/download

When I tried to use wget and used this link it downloaded a file named
download even though it was an XZ Compressed file, I still went and
checked by downloading from the browser directly and from the browser it
downloaded the file named gcc.tar.xz

Next steps

1. tar -C /opt Jxvf /path/to/gcc.tar.xz

Please use sudo if you are running this as nonroot, as I encountered
'Permission denied' error as it tries to create a directory inside the
/opt path.

Also, the command is missing a '-', the correct command should be:

$ sudo tar -C /opt -Jxvf ./gcc.tar.xz

Note, the '-' (hyphen) before 'Jxvf', that is needed.


This is the directory structure that gets created under /opt, note that
I have only listed the directories and not the files.
------------
(base) $ tree -d
.
├── bin
├── freedom
├── include
│   ├── c++
│   │   └── 15.0.1
│   │       ├── backward
│   │       ├── bits
│   │       ├── debug
│   │       ├── decimal
│   │       ├── experimental
│   │       │   └── bits
│   │       ├── ext
│   │       │   └── pb_ds
│   │       │       └── detail
│   │       │           ├── binary_heap_
│   │       │           ├── binomial_heap_
│   │       │           ├── binomial_heap_base_
│   │       │           ├── bin_search_tree_
│   │       │           ├── branch_policy
│   │       │           ├── cc_hash_table_map_
│   │       │           ├── eq_fn
│   │       │           ├── gp_hash_table_map_
│   │       │           ├── hash_fn
│   │       │           ├── left_child_next_sibling_heap_
│   │       │           ├── list_update_map_
│   │       │           ├── list_update_policy
│   │       │           ├── ov_tree_map_
│   │       │           ├── pairing_heap_
│   │       │           ├── pat_trie_
│   │       │           ├── rb_tree_map_
│   │       │           ├── rc_binomial_heap_
│   │       │           ├── resize_policy
│   │       │           ├── splay_tree_
│   │       │           ├── thin_heap_
│   │       │           ├── tree_policy
│   │       │           ├── trie_policy
│   │       │           └── unordered_iterator
│   │       ├── parallel
│   │       ├── pstl
│   │       ├── tr1
│   │       ├── tr2
│   │       └── x86_64-pc-linux-gnu
│   │           ├── bits
│   │           └── ext
│   └── libiberty
├── lib
│   └── gcc
│       └── x86_64-pc-linux-gnu
│           └── 15.0.1
│               ├── include
│               │   ├── sanitizer
│               │   └── ssp
│               ├── include-fixed
│               │   ├── libopenmpt
│               │   ├── nss
│               │   ├── X11
│               │   └── zzip
│               ├── install-tools
│               │   └── include
│               └── plugin
│                   └── include
│                       ├── ada
│                       │   └── gcc-interface
│                       ├── analyzer
│                       ├── c
│                       ├── c-family
│                       ├── common
│                       │   └── config
│                       │       └── i386
│                       ├── config
│                       │   └── i386
│                       ├── cp
│                       ├── d
│                       ├── m2
│                       └── objc
├── lib64
│   └── debug
└── libexec
    └── gcc
        └── x86_64-pc-linux-gnu
            └── 15.0.1
                ├── install-tools
                └── plugin

84 directories
(base) $
------


2. source /opt/gcc/freedom/source_gcc_env_vars.sh


output of the env command, after sourcing the paths specified in the
above script:

----
(base) $ env |grep -i gcc
LIBDIR=/opt/gcc/lib:/opt/gcc/lib64:/opt/gcc/lib/gcc/x86_64-pc-linux-gnu/15.0.1/plugin:
PWD=/opt/gcc
MANPATH=/opt/gcc/doc/man:
LDFLAGS=-Wl,-rpath 
-Wl,/opt/gcc/lib:/opt/gcc/lib64:/opt/gcc/lib/gcc/x86_64-pc-linux-gnu/15.0.1/plugin:
 
-L/opt/gcc/lib:/opt/gcc/lib64:/opt/gcc/lib/gcc/x86_64-pc-linux-gnu/15.0.1/plugin:
INFOPATH=/opt/gcc/doc/info:
LD_LIBRARY_PATH=/opt/gcc/lib:/opt/gcc/lib64:/opt/gcc/lib/gcc/x86_64-pc-linux-gnu/15.0.1/plugin:
PATH=/opt/gcc/bin:/opt/gcc/libexec/gcc/x86_64-pc-linux-gnu/15.0.1:/opt/lisp/bin:/home/ragini/perl5/bin:/home/ragini/anaconda3/bin:/home/ragini/anaconda3/condabin:/opt/lisp/bin:/home/ragini/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/ragini/.local/bin:/home/ragini/.local/lib:/home/ragini/.local/bin:/home/ragini/.local/lib
CPATH=/opt/gcc/include:/opt/gcc/include/libiberty:/opt/gcc/include/c++/15.0.1:/opt/gcc/include/c++/15.0.1/x86_64-pc-linux-gnu:/opt/gcc/lib/gcc/x86_64-pc-linux-gnu/15.0.1/plugin/include:
----

3. g++ -v

-----
 $ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/opt/gcc/libexec/gcc/x86_64-pc-linux-gnu/15.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /opt/gcc/src/configure --prefix=/opt/gcc 
--exec-prefix=/opt/gcc --datarootdir=/opt/gcc/doc/share --datadir=/opt/gcc/doc 
--docdir=/opt/gcc/doc --htmldir=/opt/gcc/doc --mandir=/opt/gcc/doc/man 
--infodir=/opt/gcc/doc/info --enable-languages=c,jit,c++ --enable-bootstrap 
--disable-multilib --enable-libstdcxx --enable-libstdcxx-debug 
--enable-libstdcxx-backtrace=yes --enable-shared --enable-host-shared 
--enable-plugin --enable-default-pie --enable-ld=yes --with-gnu-ld 
--with-linker-hash-style=gnu --enable-linker-build-id --enable-clocale=gnu 
--enable-gnu-indirect-function --enable-gnu-unique-object --enable-libssp 
--enable-lto --enable-gcov --enable-vtable-verify --enable-__cxa_atexit 
--enable-threads=posix --enable-tls --enable-werror --disable-unwind-exceptions 
--enable-install-libiberty --enable-c++-tools 
--with-bugurl=supp...@softwarefreedomproject.org
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.1 20250223 (experimental) (GCC)

----

I have successfully managed to run the above steps.

@Saifi Can you please check and confirm in case you see any issues?

Warm regards
Ragini.

Reply via email to