curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder Daniel himself.

RE: CURL support of OS400 (IBMi)

From: Andrew Kirillovs via curl-library <curl-library_at_lists.haxx.se>
Date: Fri, 26 Jul 2024 08:34:01 +0000

Hello Patrick.

Thank you for your reply.

The versions are:
OS400: V7R4
curl: 8.7.2
QADRTDEV: 20211112

Once I get into QSH, I build CURL using a script like this:
-----
CURLOUT=$PWD/curlout

# Untar CURL
tar -xvf curl-8.7.2.tar

# Ouput folder
mkdir $CURLOUT

# Get into the folder with AS400 build files
cd curl-8.7.2/packages/OS400

# Generate overrides file
echo "#!/bin/sh" > config400.override
echo "setenv TARGETLIB QMAKTMP" >> config400.override
echo "setenv SRVPGM LIBCURL" >> config400.override
echo "setenv TGTCCSID '37'" >> config400.override
echo "setenv DEBUG '*SOURCE'" >> config400.override
echo "setenv IFSDIR '$CURLOUT'" >> config400.override

# Build curl
echo "Building LIBCURL"
chmod a+x *.sh
/usr/bin/sh makefile.sh > build.curl.log 2>&1
-----

Then from the “curlout/bin”:
> curl
  c$
> curl --version
  cRP F $

However “curl http://www.google.com” produces readable output.

And if I try getting verbose output, it does makes sense too. Something like: “curl –verbose http://www.google.com > out.txt”

With best regards
Andrew


From: Patrick Monnerat <patrick_at_monnerat.net>
Sent: Thursday, July 25, 2024 8:16 PM
To: Andrew Kirillovs <AKirillo_at_uk.ibm.com>; libcurl development <curl-library_at_lists.haxx.se>
Subject: [EXTERNAL] Re: CURL support of OS400 (IBMi)

On 7/25/24 14: 50, Andrew Kirillovs wrote: Hello Patrick, Thank you for your update of the OS400 status. Running curl from QSH, I see output is a bit random. –version looks broken. –help is coming a bit, but options are missing. I would of think



On 7/25/24 14:50, Andrew Kirillovs wrote:
Hello Patrick,

Thank you for your update of the OS400 status.

Running curl from QSH, I see output is a bit random. –version looks broken. –help is coming a bit, but options are missing.


I would of think that if it was purely CCSID problem, then none of it would be readable.

Sorry, but I can't reproduce on V7R5.

The only weird thing I have is some output lines (only curl-generated lines, not data lines) are joined in the QSH output, as in:

> cd curl-install/bin
   $
> ./curl --version
   curl 8.9.0-DEV (OS/400) libcurl/8.9.0-DEV
   Release-Date: [unreleased]
   Protocols: dict file ftp gopher http imap ipfs ipns ldap mqtt pop3 rtsp smb smtp telnet tftpFeatures: alt-svc GSS-API HSTS IPv6 K
   erberos Largefile NTLM SPNEGO UnixSockets$
> ./curl --help
   Usage: curl [options...] <url> -d, --data <data> HTTP POST data
    -h, --help <category> Get help for commands
    -f, --fail Fail fast with no output on HTTP error
    -i, --include Include response headers in output
    -o, --output <file> Write to file instead of stdout
    -O, --remote-name Write output to file named as remote file
    -s, --silent Silent mode
    -T, --upload-file <file> Transfer local FILE to destination
    -u, --user <user:password> Server user and password
    -A, --user-agent <name> Send User-Agent <name> to server
    -v, --verbose Make the operation more talkative
    -V, --version Show version number and quit

   This is not the full help; this menu is split into categories.
   Use "--help category" to get an overview of all categories, which are:auth, connection, curl, deprecated, dns, file, ftp, global,
    http, imap, ldap,
   output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,
   upload, verbose.
   For all options use the manual or "--help all".$
>

I don't know why yet, but I wouldn't say it's unreadable. I suspect the puts() implementation of QADRT, but that does not explain your problem.

Which version are you using? If it's a development one, please tell us the checkout date/time. Thanks.

For bug reports, I suggest you use https://github.com/curl/curl/issues/new?assignees=&labels=&projects=&template=bug_report.yml or write your mail to the list with info requested on this page. Thanks.

BTW: did you try some true request, something like 'curl http://www.google.com/'?




-----------
                                                       $
> curl --manual
   Warning: built-in manual was disabled at build-time
   $
-----------


This one is normal: there is no tool on the OS/400 to build the manual, thus it's disabled!

Patrick

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2024-07-26