Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RHEL 8/ RPM Build instructions #153

Open
mgordon1964 opened this issue May 30, 2024 · 5 comments
Open

RHEL 8/ RPM Build instructions #153

mgordon1964 opened this issue May 30, 2024 · 5 comments

Comments

@mgordon1964
Copy link

Hello, I was wondering if anyone had built this on a RHEL or variant such as ALMA or Rocky based system?

So far I have gotten the pre-reqs sorted:

For: gumbo-parser-devel.x86_64 gumbo-parser.x86_64 you need a 3rd party repo on 8, but it appears to be in EPEL for 9.

dnf localinstall https://pkgs.dyn.su/el8/base/x86_64/raven-release-1.0-2.el8.noarch.rpm

dnf install gumbo-parser-devel gumbo-parser libcurl-devel libuuid-devel libuuid uuid-devel uuid fuse-devel expat-devel expat

Then I am able to do the ./configure

gmake fails:
$ gmake
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion
checking build system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for library containing backtrace... none required
./configure: line 2841: syntax error near unexpected token '-Wunused-command-line-argument,NUCLA=-Wno-unused-command-line-argument,-Werror'
./configure: line 2841: 'AX_CHECK_COMPILE_FLAG(-Wunused-command-line-argument,NUCLA=-Wno-unused-command-line-argument,-Werror)'
gmake: *** [Makefile:360: config.status] Error 2

Any ideas?

@fangfufu
Copy link
Owner

Which operating system did you try this on?

In the immediate term, please could you try using the Makefile from https://github.com/fangfufu/httpdirfs/blob/ed93a133dff2ef55717e7b1a02a46f697be20c7c/Makefile ? The structure of this project hasn't changed much. That Makefile should still work.

@jikamens could you help with this please?

@mgordon1964
Copy link
Author

AlmaLinux release 8.9

@jikamens
Copy link
Collaborator

jikamens commented Jun 1, 2024

Likely cause is you ran autoreconf or aclocal without having the autoconf-archive package installed. Install autoconf-archive, then rerun autoreconf, then configure should work fine.

@jikamens jikamens mentioned this issue Jun 1, 2024
@mgordon1964
Copy link
Author

Thank you.

I installed autoconf-archive.
Then re-ran gmake:

gmake
cd . && /bin/sh /software/httpdirfs/missing automake-1.16 --foreign
aclocal.m4:17: warning: this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.
configure.ac:10: error: version mismatch. This is Automake 1.16.1,
configure.ac:10: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:10: comes from Automake 1.16.5. You should recreate
configure.ac:10: aclocal.m4 with aclocal and run automake again.
WARNING: 'automake-1.16' is probably too old.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'automake' program is part of the GNU Automake package:
https://www.gnu.org/software/automake
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
https://www.gnu.org/software/autoconf
https://www.gnu.org/software/m4/
https://www.perl.org/
gmake: *** [Makefile:341: Makefile.in] Error 1

Then ran, aclocal, to resolve that but I am now getting:

gmake
cd . && /bin/sh /software/httpdirfs/missing automake-1.16 --foreign
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/software/httpdirfs/missing' autoconf
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion
checking build system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for library containing backtrace... none required
checking whether C compiler accepts -Wunused-command-line-argument... no
./configure: line 2873: -Werror: command not found
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for pkgconf... yes
checking for fuse... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
/bin/sh ./config.status
config.status: creating Makefile
config.status: creating Doxyfile
config.status: executing depfiles commands
gcc -g -O2 -Wall -Wextra -Wshadow -rdynamic -D_GNU_SOURCE -DVERSION="1.2.5" -I/usr/include/uuid -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -lfuse -pthread -o httpdirfs src/main.o src/network.o src/fuse_local.o src/link.o src/cache.o src/util.o src/sonic.o src/log.o src/config.o src/memcache.o -lgumbo -lcurl -luuid -lexpat -lssl -lcrypto -lfuse -pthread
src/network.o: In function `curl_multi_perform_once':
/software/httpdirfs/src/network.c:199:
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:434: httpdirfs] Error 1

Looks like libcurl is too old on Alma 8... I am having more success with Alma 9.

Thank you

@fangfufu
Copy link
Owner

fangfufu commented Jun 6, 2024

Well if the library on your operating system is too old. Then there is nothing much I could do on my end. Perhaps use an operating system with newer version of the libraries?

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

No branches or pull requests

3 participants