ubuntu-20.04.1(64位)下编译支持https的libcurl

本文介绍在Linux下编译openssl和curl的过程。编译openssl需以动态库形式,给出了编译命令,还针对安装时出现的POD语法错误给出解决办法。编译curl也给出了命令,针对编译时C编译器无法创建可执行文件、gcc不支持特定命令行选项等错误,提供了解决思路。

工具准备:

openssl-1.0.0a

curl-7.48.0

1. 编译openssl

解压后进入openssl-1.0.0a,由于curl不支持openssl静态库,所以要以动态库的形式编译openssl

$./config no-asm shared --prefix=/home/Danile/openssl_build

$make; make install

--------------------------------

如果遇到以下错误:
如果在linux下安装openssl,执行config和make之后,在执行make install时出现类似下面的错误:
POD document had syntax errors at /usr/bin/pod2man line 71. make: *** [install_docs] 错误 255” 
解决方法是:编辑/usr/bin/pod2man文件,注释掉第71行。
千万注意,不要像网上有些说的rm /usr/bin/pod2man,即删除pod2man这个文件,否则安装pcsc组件会出错

-----------------------------------------------------

2. 编译curl

$cd curl-7.48.0

$export PKG_CONFIG_PATH="/home/Daniel/openssl_build/lib64/pkgconfig"

$./configure --prefix=/home/huangyong/Work/libcurl7.48.0 --enable-proxy --with-ssl

$make; make install

--------------------------------

如果有以下错误:

configure: error: C compiler cannot create executables

可以查看 config.log

我遇到不

gcc: error: unrecognized command line option '-V'

gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?

等错误,就是gcc 不支持 -V和 -qversion,直接到configure中,按提示行上边的-V和-qversion删除即可。

-----------------------------------------------------

### 在 Ubuntu 20.04.6 中安装 libwebkit2gtk-4.1-0 的方法 在 Ubuntu 20.04.6 系统中,`libwebkit2gtk-4.1-0` 可能不是默认软件源中的可用包。然而,可以通过以下方法来安装该库: #### 方法一:使用官方软件源安装 如果 `libwebkit2gtk-4.1-0` 包仍然存在于官方软件源中,可以尝试通过以下命令进行安装: ```bash sudo apt update sudo apt install libwebkit2gtk-4.1-0 ``` 此方法依赖于系统的软件源配置是否包含该版本的库文件[^1]。 #### 方法二:手动添加软件源并安装 如果官方软件源中没有提供 `libwebkit2gtk-4.1-0`,则需要手动添加额外的软件源或 PPA(个人包档案)。以下是具体步骤: 1. **更新系统软件源列表** 使用以下命令确保系统软件源是最新的: ```bash sudo apt update ``` 2. **添加必要的软件源** 如果默认的软件源不包含 `libwebkit2gtk-4.1-0`,可以尝试添加一个包含该库的 PPA。例如,WebkitGTK 的官方 PPA 提供了较新的库版本: ```bash sudo add-apt-repository ppa:webkit-team/ppa sudo apt update ``` 添加 PPA 后,再次尝试安装 `libwebkit2gtk-4.1-0`: ```bash sudo apt install libwebkit2gtk-4.1-0 ``` 3. **检查可用版本** 在安装之前,可以使用以下命令检查可用的 `libwebkit2gtk` 版本: ```bash apt-cache policy libwebkit2gtk-4.1-0 ``` #### 方法三:手动下载并安装 DEB 文件 如果上述方法均无法满足需求,可以选择从其他可信来源下载 `libwebkit2gtk-4.1-0` 的 DEB 文件,并手动安装。以下是步骤: 1. **下载 DEB 文件** 访问 [Ubuntu Packages](https://packages.ubuntu.com/) 或其他可信的软件包仓库,搜索 `libwebkit2gtk-4.1-0` 并下载适用于 Ubuntu 20.04 的 DEB 文件。 2. **安装 DEB 文件** 下载完成后,使用以下命令安装: ```bash sudo dpkg -i libwebkit2gtk-4.1-0_*.deb ``` 如果出现依赖问题,可以使用以下命令解决: ```bash sudo apt --fix-broken install ``` #### 方法四:编译安装 如果无法找到预编译的二进制包,可以考虑从源代码编译安装 `libwebkit2gtk-4.1-0`。以下是步骤: 1. **安装必要的依赖项** 编译 WebKitGTK 需要一些开发工具和库: ```bash sudo apt install build-essential git cmake python3-dev ruby perl libjpeg-dev libpng-dev libtiff-dev gperf bison flex libxml2-dev libxslt1-dev libenchant-2-dev enchant-2 libgeoclue-2-dev libsecret-1-dev librsvg2-dev libgail-3-dev libatk-adaptor libatspi2.0-dev libwayland-dev libegl1-mesa-dev libgles2-mesa-dev libxtst-dev libxcomposite-dev libasound2-dev libpulse-dev libgcrypt20-dev libwoff2-0.3.3-dev libharfbuzz-dev libfreetype6-dev libfontconfig1-dev libx11-dev libxrandr-dev libxcursor-dev libxi-dev libxrender-dev libxext-dev libdbus-glib-1-dev libgtk-3-dev libgdk-pixbuf2.0-dev libjpeg-turbo8-dev libpng16-16-dev libwebp-dev libavif-dev libopenjp2-7-dev libgif-dev libexif-dev libxml2-utils libxslt1.1 libcurl4-openssl-dev libssl-dev libicu-dev libkrb5-dev libldap2-dev libsasl2-dev libsqlite3-dev libmysqlclient-dev libpq-dev libpsqlodbcw2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvpx-dev libopus-dev libtheora-dev libspeex-dev libvorbis-dev libwavpack-dev libflac-dev libass-dev libfribidi-dev libbluray-dev libdc1394-22-dev libdvdnav-dev libdvdread-dev libcdio-paranoia-dev libcdio-cdda-dev libiso9660-dev libudev-dev libusb-1.0-0-dev libxcb-composite0-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xtest-dev libxcb-present-dev libxcb-sync-dev libxcb-dri2-0-dev libxcb-dri3-0-dev libxcb-glx0-dev libxcb-xvmc0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-util0-dev libxcb-util-dev libxcb-util-wm0-dev libxcb-util-xrm0-dev libxcb-icccm4-dev libxcb-res0-dev libxcb-shape0-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xtest-dev libxcb-present-dev libxcb-sync-dev libxcb-dri2-0-dev libxcb-dri3-0-dev libxcb-glx0-dev libxcb-xvmc0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-util0-dev libxcb-util-dev libxcb-util-wm0-dev libxcb-util-xrm0-dev libxcb-icccm4-dev libxcb-res0-dev libxcb-shape0-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xtest-dev libxcb-present-dev libxcb-sync-dev libxcb-dri2-0-dev libxcb-dri3-0-dev libxcb-glx0-dev libxcb-xvmc0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-util0-dev libxcb-util-dev libxcb-util-wm0-dev libxcb-util-xrm0-dev libxcb-icccm4-dev libxcb-res0-dev ``` 2. **克隆 WebKitGTK 源代码** 从官方仓库克隆最新代码: ```bash git clone https://github.com/WebKit/WebKit.git cd WebKit ``` 3. **构建和安装** 使用以下命令进行构建和安装: ```bash ./Tools/Scripts/build-webkit --gtk sudo make install ``` ### 注意事项 - 确保系统已启用 Universe 和 Multiverse 软件源,否则某些依赖可能无法安装。 - 如果遇到依赖问题,可以尝试使用 `apt --fix-broken install` 命令修复[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

导弹头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值